SSD Nodes Learn Hosting plans →
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-27

Paano Mag-set Up ng UFW Firewall sa VPS

Alamin ang tamang UFW setup sa VPS: default-deny policy, allow lang ang kailangan mong ports, at payagan muna ang SSH para hindi ma-lock out.

Ano ang UFW at bakit mo ito kailangan

Ang UFW ay nangangahulugang Uncomplicated Firewall, at tumpak ang pangalan nito. Isa itong friendly front end para sa firewall na mayroon na ang Linux kernel. Kaya sa halip na magsulat ng raw rules, nagta-type ka ng maiikling command gaya ng ufw allow 22/tcp. Sa bagong VPS, maa-access mula sa internet ang bawat service na nakikinig bilang default. Binabago ito ng firewall: dine-deny nito ang lahat, pagkatapos ay ina-allow lamang ang ilang port na aktuwal mong ginagamit. Sa iisang pagbabagong ito, nababawasan ang karamihan ng exposure mo gamit ang humigit-kumulang apat na command.

Bago mo ito gamitin, alamin kung ano ang nakikinig, dahil ang mga iyon ang mga service na pagpapasyahan ng firewall kung papayagan o haharangin. Ang Pagbasa sa mga nakikinig gamit ang ss -tlnp ang tamang unang hakbang.

Ang isang rule na pumipigil sa pag-lock out sa iyong sarili

Ito ang pagkakamaling nakakatakot sa mga tao sa paggamit ng firewall. Ine-enable mo ang UFW na may default-deny policy, pero hindi mo muna pinayagan ang SSH. Kaya sa sandaling mag-start ang firewall, napuputol ang sarili mong connection at hindi ka na makakabalik. Iwasan ito sa pamamagitan ng pag-allow sa SSH bago i-enable ang UFW. Iyan lang ang buong kailangan. Isinasagawa ng mga hakbang sa ibaba ang mga ito sa ligtas na pagkakasunod-sunod.

Kung mangyari pa rin ito, hindi ka tuluyang mawawalan ng access. Ang web console ng iyong provider, sa pamamagitan ng VNC o serial, ay hindi dumadaan sa SSH. Kaya maaari kang mag-log in doon at patakbuhin ang ufw disable o idagdag ang nawawalang rule.

Hakbang 1: Itakda ang mga default policy

Magsimula sa pagsasabi sa UFW na tanggihan ang lahat ng papasok at payagan ang lahat ng palabas:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Ang deny incoming ang mahalagang bahagi. Ibig sabihin, sarado sa labas ang anumang port na walang tahasang allow rule, kahit may serbisyong nakikinig dito. Pinapahintulutan ng allow outgoing na normal na makakonekta sa internet ang server para sa mga update at iba pang katulad nito. Mga policy lamang ang binabago ng dalawang command na ito; walang ipinapatupad hanggang sa i-enable ang UFW sa step 3.

Hakbang 2: Payagan ang mga port na talagang kailangan

Bago i-enable ang UFW, buksan ang SSH para manatili ang koneksyon mo:

sudo ufw allow 22/tcp

Maaari ring i-rate-limit ng UFW ang SSH para sa iyo: pinapayagan ng sudo ufw limit 22/tcp ang port ngunit bina-block ang anumang address na gumawa ng anim o higit pang koneksyon sa loob ng tatlumpung segundo. Nababawasan nito ang bisa ng mga brute-force script nang walang karagdagang software.

Kung nagpapatakbo ka ng web server, payagan din ang HTTP at HTTPS:

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

Payagan lamang ang mga serbisyong inilalabas mo sa publiko. Ang database gaya ng Postgres sa port 5432 ay halos hindi kailanman dapat magkaroon ng allow rule. I-bind ito sa 127.0.0.1 upang ma-access lamang ito sa mismong machine. Bawat port na bubuksan mo ay kailangan mong protektahan, kaya panatilihing maikli ang listahan.

Maaari mo ring buuin dito ang buong sequence ng mga command ng ufw para sa server mo, at pagkatapos ay patakbuhin ang mga ito nang sunod-sunod:

ToolUFW rule generator

Hakbang 3: I-enable at kumpirmahing naka-on ito

sudo ufw enable

Nagbabala ito na maaaring maantala ng command ang mga kasalukuyang SSH connection. Dahil pinayagan mo ang 22/tcp sa hakbang 2, magpapatuloy ang session mo. Kumpirmahin ang resulta:

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

Dalawang bagay ang dapat basahin dito. Ipinapakita ng Status: active na tumatakbo ang firewall. Lumalabas nang dalawang beses ang bawat rule: isang plain at isang may (v6). Ipinapakita nito na sinasaklaw ng UFW ang IPv6 pati ang IPv4. Kung nawawala ang mga linyang (v6), hindi napapamahalaan ang IPv6 side mo. Isa itong hiwalay na problema na saklaw sa post tungkol sa IPv6 firewall.

Pamamahala ng mga rule sa susunod

Para makita ang mga rule na may numero at makapag-alis ng isa:

sudo ufw status numbered
sudo ufw delete 3

Para payagan ang isang port mula sa isang address lamang, na isang mainam na paraan para ilantad ang admin service sa sarili mong IP:

sudo ufw allow from 10.0.0.24 to any port 5432 proto tcp

Hindi na gumagana ang paraang iyon kapag nagbago ang sarili mong address o kailangang kumonekta ang ilang machine. Karaniwang solusyon ang tuluyang huwag nang gawing public ang port at sa halip ay i-access ang serbisyo sa private network. Ito ang gamit ng pag-aanunsyo ng private subnet ng server sa iyong tailnet.

Isang layer lamang ang firewall. Kinokontrol nito kung ano ang maaaring makaabot sa isang port, pero hindi nito pinapabagal ang paulit-ulit na pag-atake sa port na iniwan mong bukas, gaya ng SSH. Para rito, idagdag ang Fail2ban sa harap ng SSH upang i-ban ang mga paulit-ulit na lumalabag. Ibig sabihin ng defense in depth, sinasaklaw ng bawat layer ang mga hindi kayang saklawin ng iba.

May saysay lamang ang firewall kapag alam mo na kung ano ang mga port at kung paano nakikinig ang mga service, at ang pag-configure nito ay bahagi ng unang 10 minuto sa isang bagong VPS.

FAQ

Madidiskonekta ba ng pag-enable sa UFW ang SSH session ko?

Hindi, kung papayagan mo muna ang SSH. Patakbuhin ang sudo ufw allow 22/tcp bago ang sudo ufw enable, at magpapatuloy ang koneksyon dahil pinapayagan na ng firewall ang port 22. Ang panganib ay ang pag-enable ng default-deny firewall nang walang SSH allow rule, na puputol sa koneksyon mo. Kung mangyari iyon, mag-login sa pamamagitan ng VNC o serial console ng provider mo at patakbuhin ang ufw disable.

Anong mga port ang dapat kong buksan sa isang VPS?

Buksan lamang ang mga port na inihahain mo sa publiko. SSH (22/tcp) para ma-manage mo ang server, at HTTP at HTTPS (80/tcp, 443/tcp) kung nagpapatakbo ka ng website. Panatilihing denied ang lahat ng iba pa. Ang mga internal service gaya ng database ay dapat mag-bind sa 127.0.0.1 at walang firewall rule, para hindi kailanman ma-access mula sa network.

Hinahawakan ba ng UFW ang IPv6?

Oo, sa modernong Ubuntu: naka-set ang IPV6=yes sa /etc/default/ufw, kaya nalalapat ang bawat rule sa parehong stack, at ipinapakita ng ufw status ang mga IPv6 rule na may suffix na (v6). Saklaw ng IPv6 firewall trap ang mga paraan kung paano pa rin ito maaaring magkaproblema.

Paano ako mag-aalis ng UFW rule?

Patakbuhin ang sudo ufw status numbered upang ilista ang mga rule kasama ang mga index number, pagkatapos ay ang sudo ufw delete N kung saan ang N ay ang numero ng rule na gusto mong alisin. Maaari ka ring mag-delete ayon sa specification, halimbawa sudo ufw delete allow 80/tcp.

Paano ako papayag sa isang port mula lamang sa isang IP address?

Gumamit ng from rule sa halip na karaniwang allow. Para ang office address mo lamang ang makapag-access sa PostgreSQL, patakbuhin ang sudo ufw allow from 10.0.0.10 to any port 5432 proto tcp. Sa default-deny policy, sarado ang port sa lahat hanggang may rule na magbukas dito, kaya ang from rule lamang ang daan papasok: mananatiling naka-block ang buong internet at makakadaan lamang ang address na tinukoy mo. Huwag ding magdagdag ng karaniwang allow 5432/tcp, dahil bubuksan nito ang port para sa lahat. Ito ang pinakaligtas na paraan upang ilantad ang database o admin panel. Kumpirmahin ito gamit ang sudo ufw status verbose, na nagpapakita ng source address sa tabi ng port.