SSD Nodes Learn Hosting plans →
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-27

Jinsi ya kusanidi UFW firewall kwenye VPS

Jifunze kusanidi UFW kwenye VPS kwa sera ya default-deny, kuruhusu port muhimu pekee na kuwezesha firewall bila kupoteza muunganisho wa SSH.

UFW ni nini na kwa nini unahitaji

UFW ni kifupi cha Uncomplicated Firewall, na jina hilo linaeleza kazi yake kwa usahihi. Ni kiolesura rahisi cha firewall ambayo Linux kernel tayari inayo. Kwa hiyo, badala ya kuandika raw rules, unaandika commands fupi kama ufw allow 22/tcp. Kwenye VPS mpya, kila service inayosikiliza inafikika kutoka Internet kwa default. Firewall hubadilisha hali hiyo: unakataa kila kitu, kisha unaruhusu port chache unazotumia. Mabadiliko hayo moja huondoa sehemu kubwa ya exposure yako kwa kutumia takriban commands nne.

Kabla ya kuanza, tambua ni nini kinachosikiliza, kwa sababu hizo ndizo services ambazo firewall itaamua hatima yake. Kusoma huduma zinazosikiliza kwa kutumia ss -tlnp ndiyo hatua sahihi ya kwanza.

Kanuni moja inayokuzuia kujifungia nje ya seva

Hili ndilo kosa linalowafanya watu waogope firewalls. Unawezesha UFW ukiwa na sera ya default-deny, lakini hujaruhusu SSH. Kwa hiyo, firewall inapowashwa, muunganisho wako hukatizwa mara moja na huwezi kuingia tena. Epuka hali hii kwa kuruhusu SSH kila mara kabla ya kuwezesha UFW. Huo ndio utaratibu wote. Hatua zilizo hapa chini zinafuata mpangilio salama.

Hata ikikutokea, hujafungiwa kabisa nje. Web console ya provider wako, kupitia VNC au serial, haipiti kwenye SSH. Kwa hiyo, unaweza kuingia humo na kuendesha ufw disable au kuongeza rule iliyokosekana.

Hatua ya 1: Weka sera chaguo-msingi

Anza kwa kuiambia UFW ikatae maombi yote yanayoingia na iruhusu maombi yote yanayotoka:

sudo ufw default deny incoming
sudo ufw default allow outgoing

deny incoming ndiyo sehemu muhimu. Inamaanisha kuwa port yoyote isiyo na rule ya wazi ya kuruhusu imefungwa kutoka nje, hata kama service inaisikiliza. allow outgoing huruhusu seva yako kufikia Internet kwa kawaida kwa ajili ya updates na shughuli nyingine kama hizo. Amri hizi mbili hubadilisha sera pekee; hakuna kinachotekelezwa hadi uwashe UFW katika hatua ya 3.

Hatua ya 2: Ruhusu port unazohitaji tu

Kabla ya kuiwezesha, fungua SSH ili uendelee kuwa na muunganisho wako:

sudo ufw allow 22/tcp

UFW inaweza pia kuweka rate limiting ya SSH: sudo ufw limit 22/tcp inaruhusu port, lakini huzuia anwani yoyote inayofanya miunganisho sita au zaidi ndani ya sekunde thelathini. Hii hupunguza athari za script za brute-force bila programu ya ziada.

Ukiendesha web server, ruhusu HTTP na HTTPS pia:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

Ruhusu tu huduma unazoweka hadharani. Database kama Postgres kwenye port 5432 karibu kamwe haipaswi kuwa na allow rule. Ifungishe kwenye 127.0.0.1 ili ipatikane kwenye mashine hiyo pekee. Kila port unayofungua ni mlango unaopaswa kuilinda, kwa hiyo orodha iwe fupi.

Unaweza pia kuandaa hapa mfululizo kamili wa commands za ufw kwa seva yako, kisha uzitekeleze kwa mpangilio:

ToolUFW rule generator

Hatua ya 3: Wezesha na uthibitishe kuwa imewashwa

sudo ufw enable

Inaonya kuwa amri hiyo inaweza kukatiza miunganisho iliyopo ya SSH. Kwa sababu uliruhusu 22/tcp katika hatua ya 2, session yako itaendelea. Thibitisha matokeo:

sudo ufw status verbose
Status: active
Default: deny (incoming), allow (outgoing)

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)
80/tcp                     ALLOW IN    Anywhere

Soma mambo mawili hapa. Status: active inamaanisha kuwa firewall inaendesha. Kila rule inaonekana mara mbili, kwanza bila kiambishi na kisha ikiwa na (v6). Hii inaonyesha kuwa UFW inashughulikia IPv6 pamoja na IPv4. Ikiwa mistari ya (v6) haipo, upande wako wa IPv6 haudhibitiwi. Hili ni tatizo tofauti linaloelezwa katika chapisho kuhusu firewall ya IPv6.

Kusimamia rules baadaye

Ili kuona rules zikiwa na nambari na uweze kuondoa moja:

sudo ufw status numbered
sudo ufw delete 3

Ili kuruhusu port kutoka kwenye address moja pekee, ambayo ni njia nzuri ya kufungua admin service kwa IP yako mwenyewe tu:

sudo ufw allow from 10.0.0.24 to any port 5432 proto tcp

Mbinu hiyo hushindwa anwani yako mwenyewe inapobadilika au mashine kadhaa zinapohitaji kuingia. Suluhisho la kawaida ni kuacha kufungua port hadharani kabisa na kufikia huduma kupitia mtandao wa faragha badala yake. Hilo ndilo lengo la kutangaza subnet ya faragha ya seva kwenye tailnet yako.

Firewall ni layer moja tu. Hudhibiti kinachoweza kufikia port, lakini haipunguzi kasi ya mtu anayeshambulia port uliyoiacha wazi, kama SSH. Kwa hali hiyo, ongeza Fail2ban mbele ya SSH ili kuwazuia wanaorudia mashambulizi. Defence in depth inamaanisha kila layer hushughulikia kile ambacho layers nyingine haziwezi kushughulikia.

Firewall huwa na maana tu unapojua ports ni nini na services husikiliza vipi, na kuisanidi ni hatua katika dakika 10 za kwanza kwenye VPS mpya.

FAQ

Je, kuwezesha UFW kutakata muunganisho wangu wa SSH?

Hapana, ikiwa umeidhinisha SSH kwanza. Tekeleza sudo ufw allow 22/tcp kabla ya sudo ufw enable, na muunganisho wako utaendelea kwa sababu firewall sasa inaruhusu port 22. Hatari ni kuwezesha firewall yenye sera ya default-deny bila rule ya kuruhusu SSH, jambo linalokufungia nje. Hilo likitokea, ingia kupitia VNC au serial console ya mtoa huduma wako na utekeleze ufw disable.

Ni port gani ninazopaswa kufungua kwenye VPS?

Fungua tu port ambazo unatoa kwa umma. SSH (22/tcp) ili uweze kusimamia seva, na HTTP na HTTPS (80/tcp, 443/tcp) ikiwa unaendesha website. Acha port nyingine zote zikatae maunganisho. Huduma za ndani kama database zinapaswa kusikiliza kwenye 127.0.0.1 na zisiwe na firewall rule kabisa, ili zisifikiwe kamwe kutoka kwenye network.

Je, UFW hushughulikia IPv6?

Kwenye Ubuntu za kisasa, ndiyo: IPV6=yes imewekwa kwenye /etc/default/ufw, kwa hiyo kila rule hutumika kwenye stacks zote mbili, na ufw status huonyesha rules za IPv6 zikiwa na suffix ya (v6). Njia ambazo hali hii inaweza bado kushindikana zimeelezwa kwenye mtego wa IPv6 firewall.

Ninawezaje kuondoa UFW rule?

Tekeleza sudo ufw status numbered ili kuorodhesha rules zikiwa na namba za index, kisha sudo ufw delete N ambapo N ni namba ya rule unayotaka kuondoa. Unaweza pia kufuta kwa specification, kwa mfano sudo ufw delete allow 80/tcp.

Ninawezaje kuruhusu port kutoka kwenye anwani moja ya IP pekee?

Tumia rule ya from badala ya allow ya kawaida. Ili kuruhusu anwani ya ofisi yako pekee kufikia PostgreSQL, tekeleza sudo ufw allow from 10.0.0.10 to any port 5432 proto tcp. Ukiwa na sera ya default-deny, port imefungwa kwa kila mtu hadi rule ifungue njia, kwa hiyo rule hii ya from ndiyo njia pekee ya kuingia: Internet nzima inabaki imezuiwa, na ni anwani uliyoitaja pekee inayoruhusiwa. Usiongeze pia allow 5432/tcp ya kawaida, kwa sababu ingefungua port kwa kila mtu. Hii ndiyo njia salama zaidi ya kufichua database au admin panel. Thibitisha kwa sudo ufw status verbose, ambayo huonyesha anwani chanzo kando ya port.