Shorewall - Korkean tason palomuuri Linux-palvelimille


Palomuurin määrittäminen Linuxissa voi olla hyvin pelottavaa aloittelijalle tai jollekin, joka ei ole kovin perehtynyt iptablesiin. Onneksi Shorewallissa on erittäin helppokäyttöinen ratkaisu.

Tässä moniosaisessa opetusohjelmassa autan sinut alkuun Shorewallin käytössä ja opastan sinut edistyneempien aiheiden läpi tämän mahtavan palomuurijärjestelmän avulla.

Mikä on Shorewall?

Shorewall on pohjimmiltaan iptablesin käyttöliittymä, mutta se on komentoriviympäristön käyttöliittymä, joka käyttää useita tekstitiedostoja määritykseensä. Vaikka Shorewall on vankka palomuurijärjestelmä, joka voidaan skaalata erittäin suuriin verkkoihin, jotka palvelevat useita koneita, aiomme aloittaa kahden käyttöliittymän peruskokoonpanolla ja naulata perusasiat.

Kahden rajapinnan kokoonpano koostuu koneesta, jossa on kaksi Ethernet-porttia, joista toinen tulee sisään ja toinen lähtee paikallisverkkoon.

Asenna Shorewall Firewall Linuxiin

Shorewall voidaan asentaa apt- ja yum-paketinhallintatyökaluilla.

sudo apt install shorewall    [On Debian-based Sysems]
sudo yum install shorewall    [On RHEL-based Sysems]

Asennuksen jälkeen meidän on kopioitava esimerkkikokoonpano /usr/share/doc/shorewall-hakemistosta Shorewallin oletushakemistoon /etc/shorewall.

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

Jos katsomme tätä hakemistoa, näemme joukon tiedostoja ja shorewall.conf-tiedoston.

Shorewall näkee verkon eri vyöhykkeiden ryhmänä, joten ensimmäinen tiedosto, jota haluamme tarkastella, on /etc/shorewall/zones-tiedosto.

sudo nano /etc/shorewall/zones

Tässä huomaamme, että oletuksena on kolme vyöhykettä: fw, net ja loc. On tärkeää huomata, että Shorewall käsittelee itse palomuurikonetta omana vyöhykkeenään ja tallentaa sen muuttujaan nimeltä $fw.

Tiedosto "/etc/shorewall/zones" on melko itsestään selvä. Sinulla on verkkoalue (internet-liitäntä), loc zone (LAN-liitäntä) ja fw. vahva>, mikä on kaikki kaikessa.

Tämä asetus luopuu seuraavista:

  • Se sallii kaikki yhteyspyynnöt loc-alueelta (LAN) verkkoalueelle (Internet).
  • Pudottaa kaikki yhteyspyynnöt (ohita) verkkovyöhykkeeltä palomuuriin ja LANiin.
  • Hylkää ja kirjaa kaikki muut pyynnöt.

LOG LEVEL -bitin pitäisi olla tuttu kaikille, jotka ovat tehneet järjestelmänvalvojan Apachella, MySQL:llä tai muilla FOSS-ohjelmilla. Tässä tapauksessa käskemme Shorewallille käyttää kirjauksen tietotasoa.

Nyt kun alueemme ja käytäntömme on asetettu, meidän on määritettävä käyttöliittymämme. Voit tehdä tämän muokkaamalla /etc/shorewall/interfaces-tiedostoa.

sudo nano /etc/shorewall/interfaces

Tässä olemme asettanut Internet-liittymämme eth0 ja verkkovyöhykkeen. LAN-puolella olemme asettaneet toisen liitännän, eth1, loc-alueelle. Muokkaa tätä tiedostoa niin, että se sopii kokoonpanoosi oikein.

Eri vaihtoehdot, joita voit sijoittaa kumpaankin näistä käyttöliittymistä, ovat laajoja, ja ne on parhaiten selitetty yksityiskohtaisesti man-sivulla.

man shorewall-interfaces

Nopea yhteenveto joistakin niistä on seuraava:

  • nosmurffit – suodata paketteja, joiden lähteenä on lähetysosoite.
  • logmartialaiset – lokipaketit, joissa on mahdoton lähdeosoite.
  • routefilter – ytimen reittisuodatus huijausten estämiseksi.

Tietenkin nyt, kun järjestelmämme on palomuuri, meidän on sallittava tietyt yhteydet, jotta voimme tehdä sen, mitä tarvitsemme. Määrität ne sääntötiedostossa osoitteessa "/etc/shorewall/rules".

sudo nano /etc/shorewall/rules

Tämä tiedosto näyttää aluksi hämmentävältä, lähinnä siksi, että sarakkeet menevät päällekkäin, mutta otsikot ovat melko itsestään selviä. Ensinnäkin sinulla on TOIMINTO-sarake, joka kuvaa, mitä haluat suorittaa.

Seuraavaksi sinulla on SOURCE-otsikko, jossa määrität vyöhykkeen, josta paketti on peräisin. Sitten sinulla on DEST tai kohde, joka on määränpään vyöhyke tai IP-osoite. Käytetään esimerkkiä.

Oletetaan, että haluat käyttää SSH-palvelinta palomuurisi takana koneessa, jonka IP-osoite on 192.168.1.25. Sinun on avattava portti palomuurissasi, mutta sinun on myös kerrottava palomuurille, että kaikki portista 22 tuleva liikenne on ohjattava koneelle osoitteessa 192.168.1.25.

Tämä tunnetaan nimellä Port Forwarding. Se on yleinen ominaisuus useimmissa palomuureissa/reitittimissä. Kohdassa "/etc/shorewall/rules" voit tehdä tämän lisäämällä seuraavanlaisen rivin:

SSH(DNAT)	net		loc:192.168.1.25

Yllä olemme määritelleet kaikki SSH-kohteen paketit, jotka tulevat verkkovyöhykkeeltä palomuuriin, on reititettävä (DNAT).) porttia 22 koneella, jonka osoite on 192.168.1.25.

Tätä kutsutaan Network Address Translation tai NAT. "D" yksinkertaisesti kertoo Shorewallille, että tämä on NAT kohdeosoitteelle.

Jotta tämä toimisi, sinun on oltava NAT-tuki käytössä ytimessäsi. Jos tarvitset NAT:ta, mutta sinulla ei ole sitä, katso opetusohjelmani Debian-ytimen uudelleenkääntämisestä.

Seuraavassa artikkelissa tutkimme erilaisia Shorewall-kokoonpanoja ja vaihtoehtoja. Tässä pitäisi kuitenkin olla runsaasti tietoa, jotta pääset alkuun. Kuten aina, katso man-sivut saadaksesi tarkempaa tietoa.