UFW-ni nädip gurmaly we sazlamaly - Debian/Ubuntu-da çylşyrymly FireWall


Kompýuterler biri-birine bagly bolansoň, hyzmatlar çalt ösýär. E-poçta, Sosial media, onlaýn dükan, Web konferensiýa ulanyjy tarapyndan ulanylýan hyzmatlar. Emma beýleki tarapdan bu baglanyşyk diňe iki taraply pyçagy halaýar. Wirus, zyýanly programma üpjünçiligi, trojan-programmalar ýaly kompýuterlere erbet habar ibermek hem mümkin.

Iň uly kompýuter tory hökmünde internet hemişe gowy adamlar bilen doldurylmaýar. Kompýuterlerimiziň/serwerlerimiziň howpsuzdygyna göz ýetirmek üçin ony goramalydyrys.

Kompýuteriňizde/serwerleriňizde hökmany komponentleriň biri Firewall. Wikipediýadan kesgitleme:

Hasaplamakda, gorag diwary maglumat paketlerini seljermek we ulanylýan düzgünler esasynda olara rugsat berilmelidigini ýa-da ýokdugyny kesgitlemek arkaly gelýän we çykýan tor trafigini dolandyrýan programma üpjünçiligi ýa-da enjam esasly ulgam howpsuzlyk ulgamydyr.

Iptables serwerler tarapyndan giňden ulanylýan gorag diwarydyr. Serwerdäki düzgünler toplumyna esaslanýan gelýän we çykýan traffigi dolandyrmak üçin ulanylýan programma. Adatça, serwere diňe ygtybarly birikme girmäge rugsat berilýär. Emma IPTables konsol re modeiminde işleýär we çylşyrymly. “Iptables” düzgünleri we buýruklary bilen tanyş bolanlar, iptables firewall-y nädip ulanmalydygyny görkezýän indiki makalany okap bilerler.

  1. Esasy IPTables (Linux Firewall) gollanmasy

Debian/Ubuntu-da UFW Firewall gurmak

IPTables-i nädip düzmegiň çylşyrymlylygyny azaltmak üçin öň hatar köp. Ubuntu Linux-y işledýän bolsaňyz, ufw-ni deslapky firewall guraly hökmünde taparsyňyz. Ufw firewall hakda öwrenmäge başlalyň.

Ufw (Çylşyrymly Firewall) iň köp ulanylýan iptables firewall üçin öň hatar bolup, host esasly diwar diwarlary üçin amatly. ufw netfilteri dolandyrmak üçin çarçuwany berýär, şeýle hem gorag diwaryny dolandyrmak üçin buýruk setiri interfeýsini üpjün edýär. Firewall düşünjeleri bilen kän tanyş bolmadyk Linux täze doglanlar üçin ulanyjy üçin amatly we ulanmak aňsat interfeýsi üpjün edýär.

Beýleki tarapdan, şol bir çylşyrymly buýruklar dolandyryjylara buýruk setiri interfeýsini ulanyp çylşyrymly düzgünleri kesgitlemäge kömek edýär. Ufw, Debian, Ubuntu we Linux Mint ýaly beýleki paýlamalar üçin ýokary akym.

Ilki bilen, aşakdaky buýrugy ulanyp ufw gurlandygyny barlaň.

$ sudo dpkg --get-selections | grep ufw

ufw 		install

Gurulmadyk bolsa, aşakda görkezilişi ýaly apt buýrugy ulanyp gurup bilersiňiz.

$ sudo apt-get install ufw

Ulanmazdan ozal ufw-iň işleýändigini ýa-da ýokdugyny barlamaly. Barlamak üçin aşakdaky buýrugy ulanyň.

$ sudo ufw status

“Status” -y tapsaňyz, işjeň däl ýa-da öçürilmeýär.

Ony işletmek üçin diňe terminalda aşakdaky buýrugy ýazmaly.

$ sudo ufw enable

Firewall is active and enabled on system startup

Öçürmek üçin diňe ýazyň.

$ sudo ufw disable

Gorag diwary işjeňleşdirilenden soň, oňa düzgünleriňizi goşup bilersiňiz. Adaty düzgünleriň nämedigini görmek isleseňiz ýazyp bilersiňiz.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

Görşüňiz ýaly, her giriş baglanyşygy ret edilýär. Enjamyňyzy uzaklaşdyrmak isleseňiz, degişli porta rugsat bermeli. Mysal üçin, ssh birikmesine rugsat bermek isleýärsiňiz. Ine, rugsat bermek buýrugy.

$ sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Theagdaýy täzeden barlasaňyz, şuňa meňzeş çykyşy görersiňiz.

$ sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Düzgünleriňiz köp bolsa we uçuşyň her düzgünine san goýmak isleseňiz, belgilenen parametr ulanyň.

$ sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

Birinji düzgün, Islendik ýerden 22-nji porta, tcp ýa-da udp paketlerine girmäge rugsat berilýär diýilýär. Diňe tcp paketine rugsat bermek isleseňiz näme etmeli? Soňra port belgisinden soň tcp parametrini goşup bilersiňiz. Ine, nusga çykyşy bilen mysal.

$ sudo ufw allow ssh/tcp

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

“Deny” düzgünine-de şol bir hileler ulanylýar. Ftp düzgünini inkär etmek isleýärsiňiz diýeliň. Şonuň üçin diňe ýazmaly.

$ sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Käwagt bizde hiç hili standartlara laýyk gelmeýän ýörite port bar. Enjamymyzdaky ssh portuny 22-den 2290-a üýtgedýäris diýeliň. Soňra 2290-njy porta rugsat bermek üçin ony şeýle goşup bileris.

$ sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Düzgüne port aralygyny goşmak hem mümkin. 2290 - 2300-den tcp protokoly bilen port açmak islesek, buýruk şeýle bolar.

$ sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

udp ulanjak bolsaňyz, aşakdaky buýrugy ulanyň.

$ sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

“Tcp” ýa-da “udp” aç-açan goýmalydygyňyzy ýadyňyzdan çykarmaň, ýogsam aşakdaky ýaly säwlik habaryny alarsyňyz.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Ozal hyzmat ýa-da port esasynda düzgünler goşýardyk. Ufw, şeýle hem, IP adrese esaslanýan düzgünleri goşmaga mümkinçilik berýär. Ine nusga buýrugy.

$ sudo ufw allow from 192.168.0.104

Aralygyny has giňeltmek üçin subnet maskasyny hem ulanyp bilersiňiz.

$ sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Görşüňiz ýaly, parametrden diňe baglanyşyk çeşmesini çäklendirer. Barmaly ýer - To sütün bilen aňladylýar - Islendik ýerde. Şeýle hem, “To” parametrini ulanyp, barmaly ýeriňizi dolandyryp bilersiňiz. 22-nji porta (ssh) girmäge rugsat berýän nusgany göreliň.

$ sudo ufw allow to any port 22

Aboveokardaky buýruk islendik ýerden we islendik protokoldan 22-nji porta girmäge mümkinçilik berer.

Has anyk düzgünler üçin IP adresi, protokol we porty birleşdirip bilersiňiz. Diňe IP 192.168.0.104-den, diňe protokol tcp we 22-nji portdan baglanyşygy çäklendirýän düzgün döretmek isleýäris diýeliň. Soňra buýruk aşakdaky ýaly bolar.

$ sudo ufw allow from 192.168.0.104 proto tcp to any port 22

Inkär etmek düzgünini döretmek üçin sintaksis, rugsat düzgüni bilen meňzeýär. Diňe inkär etmekden rugsat parametrini üýtgetmeli.

Käwagt bar bolan düzgüniňizi pozmaly bolmagyňyz mümkin. Ufw bilen ýene bir gezek düzgünleri pozmak aňsat. Aboveokardaky nusgadan aşakda bir düzgün bar we ony pozmak isleýärsiňiz.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Düzgünleri pozmagyň iki usuly bar.

Aşakdaky buýruk ftp hyzmatyna gabat gelýän düzgünleri pozar. Şeýlelik bilen ftp porty aňladýan 21/tcp pozular.

$ sudo ufw delete allow ftp

Emma aşakdaky buýrugy ulanyp, ýokardaky mysalda birinji düzgüni pozjak bolanyňyzda.

$ sudo ufw delete allow ssh

Or 

$ sudo ufw delete allow 22/tcp

Erroraly säwlik habaryny tapyp bilersiňiz.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Soň bolsa bu hiläni edip bilersiňiz. Aboveokarda belläp geçişimiz ýaly, haýsy düzgüni pozmak isleýändigimizi görkezmek üçin düzgünleriň sanyny görkezip bilersiňiz. Geliň, size görkezeliň.

$ sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Soňra ulanyp, ilkinji düzgüni pozup bilersiňiz.\Y basylsa, bu düzgüni hemişelik ýok eder.

$ sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

Şol usullardan tapawudyny görersiňiz. 2-nji usul, 1-nji usul ýok bolsa, düzgüni pozmazdan ozal ulanyjynyň tassyklamasyny soraýar.

Käbir ýagdaýda ähli düzgünleri pozmak/täzeden düzmek isläp bilersiňiz. Muny ýazmak arkaly edip bilersiňiz.

$ sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

\ Y düwmesini bassaňyz, ufw täzeden başlamazdan ozal bar bolan düzgünleriň ätiýaçlyk nusgasyny alar. Düzgünleri täzeden dikeltmek hem gorag diwaryňyzy öçürer. Ulanmak isleseňiz ony täzeden açmaly.

Aboveokarda belläp geçişim ýaly, ufw firewall iptables-iň edip biljek zatlaryny edip biler. Bu, iptables-den degişli tekst faýllaryny dikeltmekden başga zat däl dürli düzgün faýllaryny ulanmak arkaly amala aşyrylýar. Ufw-ny gowy düzmek we/ýa-da ufw buýrugy arkaly rugsat berilmeýän goşmaça iptables buýruklaryny ýerleşdirmek birnäçe tekst faýlyny redaktirlemek meselesidir.

  1. /etc/default/ufw: Bellenen syýasatlar, IPv6 goldawy we ýadro modullary üçin esasy konfigurasiýa.
  2. /etc/ufw/befoto 6).rules: bu faýllardaky düzgünler ufw buýrugy arkaly goşulan düzgünlerden öň hasaplanýar.
  3. /etc/ufw/after Foto6).rules: bu faýllardaky düzgünler ufw buýrugy arkaly goşulan islendik düzgünlerden soň hasaplanýar.
  4. /etc/ufw/sysctl.conf: ýadro ulgamynyň sazlaýjylary.
  5. /etc/ufw/ufw.conf: ufw-iň boot-da açykdygyny ýa-da ýokdugyny kesgitleýär we LOGLEVEL-i düzýär.

Netije

“UFW” iptables-iň öň tarapy hökmünde ulanyjy üçin aňsat interfeýs döredýär. Ulanyjynyň çylşyrymly iptables sintaksisini ýatda saklamagy hökman däl. UFW parametr hökmünde “ýönekeý iňlis dilini” hem ulanýar.

Rugsat beriň, inkär ediň, täzeden düzüň. Ol ýerde başga-da köp “iptables” -iň bardygyna ynanýaryn. Emma, elbetde, ufw gorag diwaryny çalt, aňsat we elbetde howpsuz gurmak isleýän ulanyjylar üçin iň oňat alternatiwadyr. Has giňişleýin maglumat üçin man ufw ýazyp, ufw gollanma sahypasyna girmegiňizi haýyş edýäris.