Shorewall - Një mur zjarri i nivelit të lartë për konfigurimin e serverëve Linux
Vendosja e një muri zjarri në Linux mund të jetë shumë i frikshëm për një fillestar ose për dikë që nuk është shumë i njohur me iptables. Për fat të mirë, ekziston një zgjidhje shumë e lehtë për t'u përdorur në Shorewall.
Në këtë tutorial me shumë pjesë, unë do t'ju bëj të filloni me Shorewall dhe do t'ju udhëzoj nëpër disa tema më të avancuara me këtë sistem të mrekullueshëm të murit të zjarrit.
Çfarë është Shorewall?
Shorewall është në thelb një pjesë e përparme për iptables, por është një mjedis i linjës komanduese që përdor një numër skedarësh teksti për konfigurimin e tij. Ndërsa Shorewall është një sistem i fuqishëm i mureve të zjarrit që mund të shkallëzohet në rrjete shumë të mëdha që shërbejnë makineritë e shumta, ne do të fillojmë me një konfigurim bazë me dy ndërfaqe dhe do të përmbledhim bazat.
Një konfigurim me dy ndërfaqe përbëhet nga një makinë me dy porte Ethernet, një që hyn dhe një që del në rrjetin lokal.
Instalimi i Shorewall në Linux
Shorewall mund të instalohet duke përdorur mjetet e menaxherit të paketave apt-get dhe yum.
$ sudo apt-get install shorewall6
$ sudo yum install shorewall6
Pas instalimit, ne duhet të kopjojmë një model konfigurimi nga direktoria “/usr/share/doc/shorewall” në drejtorinë e paracaktuar të Shorewall “/etc/shorewall”.
$ sudo cp /usr/share/doc/shorewall/example/two-interfaces/* /etc/shorewall
Dhe pastaj cd në /etc/shorewall.
$ cd /etc/shorewall
Nëse hedhim një sy në këtë direktori, shohim një grup skedarësh dhe skedar shorewall.conf. Shorewall e shikon rrjetin si një grup zonash të ndryshme, kështu që skedari i parë që duam të hedhim një vështrim është skedari /etc/shorewall/zones.
Këtu, ne shohim se ka tre zona të përcaktuara si parazgjedhje: net, loc dhe të gjitha. Është e rëndësishme të theksohet se Shorewall e trajton vetë makinën e murit të zjarrit si zonën e vet dhe e ruan atë në një variabël të quajtur $FW. Ju do ta shihni këtë variabël në pjesën tjetër të skedarëve të konfigurimit.
Skedari /etc/shorewall/zones është mjaft vetë-shpjegues. Ju keni zonën neto (ndërfaqja e përballur me internetin), zonën loc (ndërfaqja e drejtuar nga LAN) dhe të gjitha, që është gjithçka.
Ky konfigurim heq dorë nga sa vijon:
- Ai lejon të gjitha kërkesat për lidhje nga zona e kyçjes (LAN) në zonën e rrjetit (Internet).
- Lëshon të gjitha kërkesat për lidhje (injoron) nga zona e rrjetit në murin e zjarrit dhe LAN.
- Refuzon dhe regjistron të gjitha kërkesat e tjera.
Biti LOG LEVEL duhet të jetë i njohur për këdo që ka bërë administrim me Apache, MySQL ose ndonjë numër tjetër programesh të tjera FOSS. Në këtë rast, ne po i themi Shorewall-it të përdorë nivelin e informacionit të regjistrimit.
Nëse dëshironi të keni në dispozicion murin tuaj të zjarrit për ta administruar nga LAN-i juaj, mund të shtoni rreshtat e mëposhtëm në skedarin tuaj “/etc/shorewall/policy”.
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
loc $FW ACCEPT
$FW loc ACCEPT
Tani që zonat dhe politika jonë janë caktuar, ne duhet të konfigurojmë ndërfaqet tona. Ju e bëni këtë duke redaktuar skedarin /etc/shorewall/interfaces.
Këtu, ne kemi vendosur ndërfaqen tonë të internetit si eth0 në zonën neto. Në anën tonë LAN, ne kemi vendosur ndërfaqen tjetër, eth1, në zonën loc. Ju lutemi rregulloni këtë skedar për të krijuar konfigurimin tuaj siç duhet.
Opsionet e ndryshme që mund të vendosni për secilën nga këto ndërfaqe janë të gjera dhe shpjegohen më së miri në detaje në faqen e njeriut.
$ man shorewall-interfaces
Një përmbledhje e shpejtë e disa prej tyre janë si më poshtë:
- nosmurfs – filtro paketat me adresën e transmetimit si burim.
- logmartians – regjistroni paketa me adresë burimi të pamundur.
- filtri i rrugës – filtrimi i rrugës së kernelit për anti-spoofing.
Natyrisht, tani që sistemi ynë është me mure zjarri, ne do të kemi nevojë për lidhje të caktuara për t'u lejuar në mënyrë që të bëjmë atë që duhet të bëjmë. Ju i përcaktoni këto në skedarin e rregullave në /etc/shorewall/rules.
Ky skedar duket konfuz në fillim, kryesisht sepse kolonat mbivendosen, por titujt janë mjaft të vetë-shpjegueshëm. Së pari, ju keni kolonën VEPRIM, që përshkruan atë që dëshironi të kryeni.
Më pas, ju keni një kokë SOURCE ku përcaktoni zonën ku fillon paketa. Pastaj, ju keni DEST, ose destinacionin tuaj, që është zona ose adresa IP e destinacionit. Le të përdorim një shembull.
Supozoni se dëshironi të ekzekutoni një server SSH pas murit të zjarrit në makinë me adresën IP të 192.168.1.25. Jo vetëm që do t'ju duhet të hapni një port në murin tuaj të zjarrit, por do t'ju duhet t'i tregoni murit të zjarrit që çdo trafik që vjen në portin 22 duhet të drejtohet në makinë në 192.168.1.25.
Kjo njihet si Port Forwarding. Është një veçori e zakonshme në shumicën e mureve/ruterave të zjarrit. Në /etc/shorewall/rules, ju do ta arrini këtë duke shtuar një rresht si kjo:
SSH(DNAT) net loc:192.168.1.25
Më sipër, ne kemi përcaktuar çdo paketë të destinuar SSH që vijnë nga zona neto në murin e zjarrit duhet të drejtohen (DNAT) në portin 22 në makinë me adresën 192.168.1.25.
Ky quhet Përkthim i Adresës së Rrjetit ose NAT. \D thjesht i thotë Shorewall-it se ky është një NAT për një adresë destinacioni.
Në mënyrë që kjo të funksionojë, duhet të keni të aktivizuar mbështetjen NAT në kernelin tuaj. Nëse keni nevojë për NAT dhe nuk e keni atë, ju lutemi shikoni tutorialin tim mbi Rikompilimin e një Kernel Debian.
Lidhjet e referencës
Faqja kryesore e Wall Wall
Në artikullin vijues, ne do të shqyrtojmë disa tema më të avancuara, por duhet të ketë shumë këtu për t'ju filluar për momentin. Si gjithmonë, ju lutemi hidhini një sy faqeve të njeriut për një kuptim më të thellë.