Shorewall - kõrgetasemeline tulemüür Linuxi serverite konfigureerimiseks


Tulemüüri seadistamine Linuxis võib olla uustulnukale või inimesele, kes pole iptablesiga eriti tuttav, hirmutav. Õnneks on Shorewallis väga hõlpsasti kasutatav lahendus.

Selles mitmeosalises õpetuses tutvustan teile Shorewalli kasutamist ja tutvustan teile selle suurepärase tulemüürisüsteemi abil mõningaid täpsemaid teemasid.

Mis on Shorewall?

Shorewall on sisuliselt iptable'i kasutajaliides, kuid see on käsurealise keskkonna esiosa, mis kasutab oma konfiguratsiooniks mitmeid tekstifaile. Kuigi Shorewall on vastupidav tulemüürisüsteem, mida saab skaleerida väga suurtes võrkudes, mis teenindavad arvukalt masinaid, alustame kahe liidese põhikonfiguratsiooniga ja ühendame põhitõed.

Kahe liidese konfiguratsioon koosneb kahe Etherneti pordiga masinast, millest üks tuleb sisse ja teine läheb välja kohalikku võrku.

Shorewalli installimine Linuxi

Shorewalli saab installida apt-get ja yum paketihalduri tööriistade abil.

$ sudo apt-get install shorewall6
$ sudo yum install shorewall6

Pärast installimist peame kopeerima näidiskonfiguratsiooni kataloogist “/ usr/share/doc/shorewall” Shorewalli vaikekataloogi “/ etc/shorewall”.

$ sudo cp /usr/share/doc/shorewall/example/two-interfaces/* /etc/shorewall

Ja siis CD/etc/shorewall.

$ cd /etc/shorewall

Kui vaatame sellesse kataloogi, näeme hulga faile ja faili shorewall.conf. Shorewall vaatab võrku erinevate tsoonide rühmana, nii et esimene fail, mida me tahame vaadata, on fail “/ etc/shorewall/zone”.

Siin näeme, et vaikimisi on määratletud kolm tsooni: net, loc ja kõik. Oluline on märkida, et Shorewall käsitleb tulemüürimasinat ennast oma tsoonina ja salvestab selle muutujaks nimega $FW. Näete seda muutujat kogu ülejäänud konfiguratsioonifailides.

Fail "/ etc/shorewall/zone" on üsna iseenesestmõistetav. Teil on võrgutsoon (Interneti-liides), loc-tsoon (LAN-i ees olev liides) ja kõik, mis on kõik.

See seadistamine loob järgmise:

  1. See võimaldab kõiki ühenduse taotlusi kohalikust tsoonist (LAN) võrgutsooni (Internet).
  2. Viskab kõik ühenduse taotlused (eirab) võrgutsoonist tulemüüri ja kohtvõrku.
  3. lükkab kõik muud taotlused tagasi ja logib need sisse.

Bitt LOG LEVEL peaks olema tuttav kõigile, kes on administreerinud Apache, MySQL või mõne muu FOSS-i programmiga. Sel juhul käskime Shorewallil kasutada logimise infotaset.

Kui soovite, et teie tulemüür oleks teie kohtvõrgu kaudu hallatav, saate oma faili// etc/shorewall/policy lisada järgmised read.

#SOURCE		DEST	POLICY		LOG		LEVEL		LIMIT:BURST
loc			$FW		ACCEPT
$FW			loc		ACCEPT

Nüüd, kui meie tsoonid ja põhimõtted on paika pandud, peame oma liidesed konfigureerima. Seda saate teha faili "/ etc/shorewall/interfaces" muutmisega.

Siin oleme seadnud Interneti-alase liidese võrgutsooni eth0. Meie LAN-i poolel oleme teise liidese eth1 seadnud loc tsooniks. Palun kohandage seda faili, et teie konfiguratsioon õigesti käivitada.

Erinevad võimalused, mida saate mõlemale liidesele paigutada, on ulatuslikud ja neid on kõige paremini üksikasjalikumalt selgitatud manilehel.

$ man shorewall-interfaces

Mõne neist kiire allakäik on järgmine:

  1. nosmurfid - filtrige pakette, mille allikaks on leviaadress.
  2. logmartianid - logipaketid, millel on võimatu lähteaadress.
  3. marsruutfilter - tuuma marsruudi filtreerimine võltsimisvastaseks.

Muidugi vajame nüüd, kui meie süsteem on tulemüür, vajame teatud ühenduste läbilaskmist, et saaksime teha seda, mida peame tegema. Need saate määratleda reeglifailis aadressil "/ etc/shorewall/rules".

See fail tundub esialgu segane, peamiselt seetõttu, et veerud kattuvad, kuid päised on üsna iseenesestmõistetavad. Esiteks on teil veerg ACTION, mis kirjeldab, mida soovite teha.

Järgmisena on teil päis SOURCE, kus määrate tsooni, kust pakett pärineb. Seejärel on teil oma sihtkoht DEST või sihtkoht, mis on sihtkoha tsoon või IP-aadress. Kasutame näidet.

Oletame, et soovite oma arvutis oma tulemüüri taga käivitada SSH-serveri, mille IP-aadress on 192.168.1.25. Te ei pea mitte ainult oma tulemüüris porti avama, vaid peate ka tulemüürile ütlema, et kogu 22. porti tulev liiklus peab suunama masinasse aadressil 192.168.1.25.

Seda tuntakse kui Port Forwarding. See on enamiku tulemüüri/ruuterite ühine omadus. Kaustas "/ etc/shorewall/rules" saavutate selle, lisades järgmise rea:

SSH(DNAT)	net		loc:192.168.1.25

Eespool oleme määratlenud, et kõik SSH-ga määratud paketid, mis tulevad võrgutsoonist tulemüürini, tuleb suunata (DNAT) porti 22 masinas aadressiga 192.168.1.25.

Seda nimetatakse võrguaadressi tõlkeks või NATiks. “D” ütleb lihtsalt Shorewallile, et see on sihtkoha aadressi NAT.

Selle toimimiseks peab teie kernelis olema lubatud NAT-tugi. Kui vajate NAT-i ja teil seda pole, vaadake palun minu õpetust Debiani tuuma uuesti kompileerimise kohta.

Viited

Shorewalli koduleht

Järgmises artiklis käsitleme mõningaid täpsemaid teemasid, kuid siin peaks olema palju alustamiseks. Nagu alati, palun tutvuge põhjalikumalt käsiraamatu lehtedega.