Bii o ṣe le Ṣeto Firewall UFW lori Ubuntu ati Debian


Ogiriina ti n ṣiṣẹ ni deede jẹ apakan pataki julọ ti aabo eto Linux pipe. Nipa aiyipada, pinpin Debian ati Ubuntu wa pẹlu ohun elo iṣeto ogiriina ti a pe ni UFW (Firewall ti ko ni idiju), jẹ olokiki julọ ati irọrun irinṣẹ irinṣẹ laini aṣẹ fun tito leto ati iṣakoso ogiriina kan lori awọn pinpin Ubuntu ati Debian.

Ninu nkan yii, a yoo ṣalaye bi o ṣe le fi sori ẹrọ ati ṣeto ogiriina UFW lori awọn pinpin Ubuntu ati Debian.

Ṣaaju ki o to bẹrẹ pẹlu nkan yii, rii daju pe o ti ibuwolu wọle sinu Ubuntu rẹ tabi olupin Debian pẹlu olumulo sudo tabi pẹlu akọọlẹ gbongbo. Ti o ko ba ni olumulo sudo, o le ṣẹda ọkan nipa lilo awọn itọnisọna wọnyi bi olumulo root.

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

Fi sori ẹrọ Firewall UFW sori Ubuntu ati Debian

UFW (Firewall Uncomplicated) yẹ ki o fi sori ẹrọ nipasẹ aiyipada ni Ubuntu ati Debian, ti kii ba ṣe bẹ, fi sii nipa lilo oluṣakoso package APT nipa lilo pipaṣẹ atẹle.

$ sudo apt install ufw

Lọgan ti fifi sori ẹrọ ba pari o le ṣayẹwo ipo UFW nipa titẹ.

$ sudo ufw status verbose

Ni fifi sori ẹrọ akọkọ, ogiriina UFW ti ni alaabo nipasẹ aiyipada, iṣẹjade yoo jọra ni isalẹ.

Status: inactive

O le muu ṣiṣẹ tabi mu ogiriina UFW ṣiṣẹ nipa lilo pipaṣẹ atẹle, eyi ti o yẹ ki o ṣaja ogiriina ati mu ki o bẹrẹ lati bata.

$ sudo ufw enable

Lati mu ogiriina UFW ṣiṣẹ, lo pipaṣẹ wọnyi, eyiti o ṣe igbasilẹ ogiriina ati mu u kuro lati bẹrẹ ni bata.

$ sudo ufw disable 

Nipa aiyipada, ogiriina UFW kọ gbogbo awọn isopọ ti nwọle ati gba laaye gbogbo awọn isopọ ti njade lọ si olupin. Eyi tumọ si, ko si ẹnikan ti o le wọle si olupin rẹ, ayafi ti o ba ṣii ibudo ni pataki, lakoko ti gbogbo awọn iṣẹ ṣiṣe tabi awọn ohun elo lori olupin rẹ le ni anfani lati wọle si nẹtiwọọki ti ita.

Awọn ọlọpa ogiriina UFW aiyipada ni a gbe sinu /etc/aiyipada/ufw faili ati pe o le yipada nipasẹ lilo pipaṣẹ atẹle.

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

Nigbati o ba nfi ohun elo sọfitiwia sii nipa lilo oluṣakoso package APT, yoo pẹlu profaili ohun elo ninu /etc/ufw/applications.d itọsọna ti o ṣalaye iṣẹ naa ati mu awọn eto UFW duro.

O le ṣe atokọ gbogbo awọn profaili ohun elo ti o wa lori olupin rẹ nipa lilo pipaṣẹ atẹle.

$ sudo ufw app list

Ti o da lori awọn fifi sori ẹrọ package sọfitiwia lori eto rẹ iṣẹjade yoo dabi iru atẹle:

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

Ti o ba fẹ lati gba alaye diẹ sii nipa profaili kan pato ati awọn ofin asọye o le lo aṣẹ atẹle.

$ 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

Ti o ba tunto olupin rẹ pẹlu IPv6, rii daju pe a tunto UFW rẹ pẹlu IPv6 ati atilẹyin IPv4. Lati jẹrisi rẹ, ṣii faili iṣeto UFW nipa lilo olootu ayanfẹ rẹ.

$ sudo vi /etc/default/ufw

Lẹhinna rii daju pe “IPV6” ti ṣeto si \"bẹẹni \" ninu faili iṣeto bi o ti han.

IPV6=yes

Fipamọ ki o dawọ duro. Lẹhinna tun bẹrẹ ogiriina rẹ pẹlu awọn ofin wọnyi:

$ sudo ufw disable
$ sudo ufw enable

Ti o ba ti mu ogiriina UFW ṣiṣẹ ni bayi, yoo ṣe idiwọ gbogbo awọn isopọ ti nwọle ati ti o ba sopọ si olupin rẹ lori SSH lati ipo latọna jijin, iwọ kii yoo ni anfani lati sopọ mọ mọ.

Jẹ ki a mu awọn isopọ SSH ṣiṣẹ si olupin wa lati da iyẹn duro lati ṣẹlẹ nipa lilo pipaṣẹ wọnyi:

$ sudo ufw allow ssh

Ti o ba nlo ibudo SSH aṣa (fun apẹẹrẹ ibudo 2222), lẹhinna o nilo lati ṣii ibudo yẹn lori ogiriina UFW nipa lilo pipaṣẹ atẹle.

$ sudo ufw allow 2222/tcp

Lati dènà gbogbo awọn asopọ SSH tẹ iru aṣẹ wọnyi.

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

O tun le ṣii ibudo kan pato ninu ogiriina lati gba awọn asopọ laaye nipasẹ rẹ si iṣẹ kan. Fun apẹẹrẹ, ti o ba fẹ ṣeto olupin ayelujara kan eyiti o tẹtisi lori ibudo 80 (HTTP) ati 443 (HTTPS) nipasẹ aiyipada.

Ni isalẹ ni awọn apẹẹrẹ diẹ ti bi a ṣe le gba awọn asopọ ti nwọle laaye si awọn iṣẹ 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'

Ṣebi o ni diẹ ninu awọn ohun elo ti o fẹ ṣiṣe lori ibiti awọn ibudo (5000-5003), o le ṣafikun gbogbo awọn ibudo wọnyi nipa lilo awọn ofin atẹle.

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

Ti o ba fẹ gba awọn asopọ laaye lori gbogbo awọn ibudo lati adiresi IP kan pato 192.168.56.1, lẹhinna o nilo lati ṣafihan lati ṣaaju adirẹsi IP naa.

$ sudo ufw allow from 192.168.56.1

Lati gba asopọ laaye lori ibudo kan pato (fun apẹẹrẹ ibudo 22) lati ẹrọ ile rẹ pẹlu adiresi IP ti 192.168.56.1, lẹhinna o nilo lati ṣafikun eyikeyi ibudo ati nọmba ibudo lẹhin adirẹsi IP bi a ti han.

$ sudo ufw allow from 192.168.56.1 to any port 22

Lati gba awọn isopọ fun awọn adirẹsi IP pataki lati 192.168.1.1 si 192.168.1.254 si ibudo 22 (SSH), ṣiṣe aṣẹ atẹle.

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

Lati gba awọn asopọ laaye si wiwo atọkun nẹtiwọọki pato kan fun ibudo kan pato 22 (SSH), ṣiṣe aṣẹ atẹle.

$ sudo ufw allow in on eth2 to any port 22

Nipa aiyipada, gbogbo awọn asopọ ti nwọle ti dina, ayafi ti o ba ṣii pataki asopọ lori UFW. Fun apẹẹrẹ, o ti ṣii awọn ibudo 80 ati 443 ati olupin ayelujara rẹ wa labẹ ikọlu lati nẹtiwọọki ti a ko mọ 11.12.13.0/24.

Lati dènà gbogbo awọn isopọ lati ibiti nẹtiwọọki 11.12.13.0/24 yii pato, o le lo aṣẹ atẹle.

$ sudo ufw deny from 11.12.13.0/24

Ti o ba fẹ lati dènà awọn isopọ nikan lori awọn ibudo 80 ati 443, o le lo awọn ofin wọnyi.

$ 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

Awọn ọna 2 wa lati paarẹ awọn ofin UFW, nipasẹ nọmba ofin ati nipasẹ ofin gangan.

Lati pa awọn ofin UFW rẹ kuro nipa lilo nọmba ofin, akọkọ o nilo lati ṣe atokọ awọn ofin nipasẹ awọn nọmba nipa lilo pipaṣẹ atẹle.

$ sudo ufw status numbered
Status: active

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

Lati pa nọmba ofin 1 rẹ, lo aṣẹ atẹle.

$ sudo ufw delete 1

Ọna keji ni lati paarẹ ofin nipa lilo ofin gangan, fun apẹẹrẹ lati paarẹ ofin kan, ṣafihan nọmba ibudo pẹlu ilana bi o ti han.

$ sudo ufw delete allow 22/tcp

O le ṣiṣe eyikeyi awọn ofin ufw laisi ṣiṣe gangan awọn ayipada ninu ogiriina eto nipa lilo asia --dry-run , eleyi fihan awọn iyipada nibo nibiti o yẹ ki o ṣẹlẹ.

$ sudo ufw --dry-run enable

Fun idi kan tabi omiiran, ti o ba fẹ paarẹ/tunto gbogbo awọn ofin ogiriina, tẹ awọn ofin wọnyi, yoo yi gbogbo awọn ayipada rẹ pada ki o bẹrẹ alabapade.

$ sudo ufw reset
$ sudo ufw status

Ogiriina UFW le ṣakoso lati ṣe ohunkohun ti awọn iptables ṣe. Eyi le ṣee ṣe pẹlu awọn ipilẹ oriṣiriṣi awọn faili awọn ofin, eyiti ko jẹ nkankan, ṣugbọn awọn iptables ti o rọrun-mu-pada sipo awọn faili ọrọ.

Ṣiṣatunṣe ogiriina UFW tabi ṣafikun awọn ofin iptables ni a ko gba laaye nipasẹ aṣẹ ufw, jẹ ọrọ ododo ti iyipada awọn faili ọrọ atẹle

  • /ati be be lo/aiyipada/ufw: Faili iṣeto akọkọ pẹlu awọn ofin ti a ti ṣalaye tẹlẹ.
  • /etc/ufw/before=6]. awọn ofin: Ninu awọn ofin faili yii ni a ṣe iṣiro ṣaaju fifi kun nipasẹ aṣẹ ufw.
  • /etc/ufw/after=6]. awọn ofin: Ninu awọn ofin faili yii ni a ṣe iṣiro lẹhin fifi kun nipasẹ aṣẹ ufw.
  • /etc/ufw/sysctl.conf: A lo faili yii lati tunto nẹtiwọọki ekuro.
  • /etc/ufw/ufw.conf: Faili yii jẹ ki ufw ṣiṣẹ lori bata.

O n niyen! UFW jẹ opin iwaju ti o dara julọ si awọn iptables pẹlu wiwo ọrẹ ọrẹ lati ṣalaye awọn ofin idiju pẹlu aṣẹ ufw kan ṣoṣo.

Ti o ba ni awọn ibeere tabi awọn ero lati pin nipa nkan ufw yii, lo fọọmu asọye ni isalẹ lati de ọdọ wa.