Giunsa ang Pag-setup sa UFW Firewall sa Ubuntu ug Debian


Ang usa ka tama nga naglihok nga firewall mao ang labing hinungdanon nga bahin sa kompleto nga seguridad sa sistema sa Linux. Sa kasagaran, ang pag-apod-apod sa Debian ug Ubuntu adunay usa ka himan sa pagsumpo sa firewall nga gitawag og UFW (Uncomplicated Firewall), usa ka labing popular ug dali gamiton nga tool sa command line alang sa pag-configure ug pagdumala sa usa ka firewall sa mga distribusyon sa Ubuntu ug Debian.

Niini nga artikulo, among ipasabut kung giunsa ang pag-install ug pag-setup sa usa ka UFW firewall sa mga distribusyon sa Ubuntu ug Debian.

Sa dili ka pa magsugod niini nga artikulo, siguroha nga naka-log in ka sa imong Ubuntu o Debian server nga adunay sudo user o sa root account. Kung wala kay sudo user, makahimo ka og usa gamit ang mosunod nga mga instruksyon isip root user.

# adduser username
# usermod -aG sudo username 
# su - username
$ sudo whoami

I-install ang UFW Firewall sa Ubuntu ug Debian

Ang UFW (Uncomplicated Firewall) kinahanglan nga i-install pinaagi sa default sa Ubuntu ug Debian, kung dili, i-install kini gamit ang APT package manager gamit ang mosunod nga mando.

$ sudo apt install ufw

Kung nahuman na ang pag-install mahimo nimong susihon ang kahimtang sa UFW pinaagi sa pag-type.

$ sudo ufw status verbose

Sa una nga pag-install, ang UFW firewall gi-disable pinaagi sa default, ang output parehas sa ubos.

Status: inactive

Mahimo nimong i-activate o i-enable ang UFW firewall gamit ang mosunod nga command, nga kinahanglang mag-load sa firewall ug makapahimo niini nga magsugod sa boot.

$ sudo ufw enable

Aron ma-disable ang UFW firewall, gamita ang mosunod nga command, nga mag-unload sa firewall ug dili kini magsugod sa boot.

$ sudo ufw disable 

Sa kasagaran, ang UFW firewall nagdumili sa matag umaabot nga koneksyon ug gitugotan lamang ang tanan nga outbound nga koneksyon sa server. Kini nagpasabot, walay usa nga maka-access sa imong server, gawas kon ikaw espesipikong magbukas sa pantalan, samtang ang tanan nga nagdagan nga mga serbisyo o aplikasyon sa imong server mahimong maka-access sa gawas nga network.

Ang default UFW firewall polices gibutang sa /etc/default/ufw file ug mahimong usbon gamit ang mosunod nga command.

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Kung mag-install ug software package gamit ang APT package manager, maglakip kini ug application profile sa /etc/ufw/applications.d directory nga nagdefine sa serbisyo ug naghupot sa UFW settings.

Mahimo nimong ilista ang tanan nga magamit nga mga profile sa aplikasyon sa imong server gamit ang mosunud nga mando.

$ sudo ufw app list

Depende sa mga instalasyon sa software package sa imong sistema ang output susama sa mosunod:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Kung gusto nimo makakuha dugang nga kasayuran bahin sa usa ka partikular nga profile ug gipiho nga mga lagda mahimo nimong gamiton ang mosunud nga mando.

$ sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Kung ang imong server gi-configure gamit ang IPv6, siguruha nga ang imong UFW na-configure nga adunay suporta sa IPv6 ug IPv4. Aron mapamatud-an kini, ablihi ang UFW configuration file gamit ang imong paborito nga editor.

$ sudo vi /etc/default/ufw

Dayon siguroha nga ang IPV6 gibutang sa \yes\ sa configuration file sama sa gipakita.

IPV6=yes

Tipigi ug hunong. Dayon i-restart ang imong firewall gamit ang mosunod nga mga sugo:

$ sudo ufw disable
$ sudo ufw enable

Kung imong gi-enable ang UFW firewall sa pagkakaron, kini maka-block sa tanan nga umaabot nga koneksyon ug kung konektado ka sa imong server sa SSH gikan sa usa ka hilit nga lokasyon, dili na nimo kini makonektar pag-usab.

Himoon nato ang mga koneksyon sa SSH sa atong server aron mapugngan kana nga mahitabo gamit ang mosunod nga sugo:

$ sudo ufw allow ssh

Kung naggamit ka ug naandan nga SSH port (pananglitan port 2222), nan kinahanglan nimo nga ablihan kana nga pantalan sa UFW firewall gamit ang mosunud nga mando.

$ sudo ufw allow 2222/tcp

Aron babagan ang tanang koneksyon sa SSH i-type ang mosunod nga sugo.

$ sudo ufw deny ssh/tcp
$ sudo ufw deny 2222/tcp  [If using custom SSH port]

Mahimo ka usab magbukas sa usa ka piho nga pantalan sa firewall aron tugutan ang mga koneksyon pinaagi niini sa usa ka piho nga serbisyo. Pananglitan, kung gusto nimo mag-setup og web server nga maminaw sa port 80 (HTTP) ug 443 (HTTPS) nga default.

Sa ubos mao ang pipila ka mga pananglitan kung giunsa pagtugot ang mga umaabot nga koneksyon sa mga serbisyo sa Apache.

$ sudo ufw allow http     [By service name]
$ sudo ufw allow 80/tcp   [By port number]
$ sudo ufw allow 'Apache' [By application profile]
$ sudo ufw allow https
$ sudo ufw allow 443/tcp
$ sudo ufw allow 'Apache Secure'

Sa pag-ingon nga ikaw adunay pipila ka mga aplikasyon nga gusto nimong ipadagan sa lainlaing mga pantalan (5000-5003), mahimo nimong idugang kining tanan nga mga pantalan gamit ang mosunod nga mga mando.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Kung gusto nimo tugutan ang mga koneksyon sa tanan nga mga pantalan gikan sa piho nga IP address 192.168.56.1, nan kinahanglan nimo nga ipiho gikan sa wala pa ang IP address.

$ sudo ufw allow from 192.168.56.1

Aron tugutan ang koneksyon sa usa ka piho nga pantalan (pananglitan port 22) gikan sa imong home machine nga adunay IP address nga 192.168.56.1, nan kinahanglan nimo nga idugang ang bisan unsang pantalan ug ang numero sa pantalan pagkahuman sa IP address sama sa gipakita.

$ sudo ufw allow from 192.168.56.1 to any port 22

Aron tugutan ang mga koneksyon alang sa partikular nga mga adres sa IP gikan sa 192.168.1.1 hangtod sa 192.168.1.254 hangtod sa port 22 (SSH), padagana ang mosunod nga mando.

$ sudo ufw allow from 192.168.1.0/24 to any port 22

Aron tugotan ang mga koneksyon sa espesipikong network interface eth2 alang sa usa ka partikular nga port 22 (SSH), padagana ang mosunod nga sugo.

$ sudo ufw allow in on eth2 to any port 22

Sa kasagaran, ang tanan nga umaabot nga koneksyon gibabagan, gawas kung imong giablihan ang koneksyon sa UFW. Pananglitan, imong giablihan ang mga pantalan 80 ug 443 ug ang imong web server giatake gikan sa wala mailhi nga network 11.12.13.0/24.

Aron babagan ang tanang koneksyon gikan niining partikular nga 11.12.13.0/24 network range, mahimo nimong gamiton ang mosunod nga sugo.

$ sudo ufw deny from 11.12.13.0/24

Kung gusto nimo nga babagan lamang ang mga koneksyon sa mga pantalan 80 ug 443, mahimo nimong gamiton ang mga mosunod nga mga mando.

$ sudo ufw deny from 11.12.13.0/24 to any port 80
$ sudo ufw deny from 11.12.13.0/24 to any port 443

Adunay 2 ka paagi sa pagtangtang sa mga lagda sa UFW, pinaagi sa numero sa lagda ug pinaagi sa aktuwal nga lagda.

Aron matangtang ang mga lagda sa UFW pinaagi sa paggamit sa numero sa lagda, una kinahanglan nimo nga ilista ang mga lagda pinaagi sa mga numero gamit ang mosunod nga mando.

$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere

Aron mapapas ang lagda numero 1, gamita ang mosunod nga sugo.

$ sudo ufw delete 1

Ang ikaduha nga paagi mao ang pagtangtang sa usa ka lagda pinaagi sa paggamit sa aktuwal nga lagda, pananglitan sa pagtangtang sa usa ka lagda, ipiho ang numero sa pantalan nga adunay protocol sama sa gipakita.

$ sudo ufw delete allow 22/tcp

Mahimo nimong ipadagan ang bisan unsang mga ufw nga mga mando nga wala gyud maghimo bisan unsang pagbag-o sa sistema sa firewall gamit ang bandila nga --dry-run, kini yano nga nagpakita sa mga pagbag-o nga kung asa mahitabo.

$ sudo ufw --dry-run enable

Alang sa usa ka hinungdan o sa lain, kung gusto nimo nga tangtangon/i-reset ang tanan nga mga lagda sa firewall, i-type ang mosunud nga mga mando, ibalik niini ang tanan nimo nga mga pagbag-o ug magsugod nga bag-o.

$ sudo ufw reset
$ sudo ufw status

Ang UFW firewall makahimo sa pagbuhat sa bisan unsa nga iptables mahimo. Mahimo kini sa lain-laing mga hugpong sa mga lagda nga mga file, nga walay bisan unsa, apan yano nga iptables-pagpasig-uli sa mga text file.

Ang pag-tune sa UFW firewall o pagdugang og dugang nga mga iptable nga mga sugo dili tugotan pinaagi sa ufw command, usa lang ka butang sa pag-usab sa mosunod nga mga text file

  • /etc/default/ufw: Ang nag-unang configuration file nga adunay gitakda nang daan nga mga lagda.
  • /etc/ufw/before[6].rules: Niini nga file ang mga lagda gikalkulo sa dili pa idugang pinaagi sa ufw command.
  • /etc/ufw/after[6].rules: Niini nga payl ang mga lagda kalkulado human idugang pinaagi sa ufw command.
  • /etc/ufw/sysctl.conf: Kini nga payl gigamit sa pag-tune sa kernel network.
  • /etc/ufw/ufw.conf: Kini nga payl makapahimo sa ufw sa boot.

Mao na! Ang UFW usa ka maayo kaayo nga front-end sa mga iptable nga adunay usa ka user friendly interface aron mahibal-an ang komplikado nga mga lagda nga adunay usa ka ufw command.

Kung naa kay mga pangutana o hunahuna nga ipaambit bahin sa kini nga artikulo sa ufw, gamita ang porma sa komento sa ubos aron maabot kami.