Verkon suojaaminen Iptables - Proxy - NAT - IDS: OSA 2

Edellisessä viestissä näimme, miten IPTables konfiguroidaan toimimaan palomuurina. Nyt näemme, miten luodaan skriptejä sääntöjen automaattiseen suorittamiseen järjestelmän käynnistyksen yhteydessä, ja miten nämä säännöt poistetaan tai pysäytetään väliaikaisesti.

Ennen kuin teet komentosarjan ja näytämme sinulle, miltä se näyttää, puhutaan vähän NAT: sta ja käsitteestä, mitä haluamme tehdä tällä laitteella.

NAT ja esimerkin konteksti.

Kun puhumme NAT: sta, voimme sekoittaa tämän reititykseen, koska molemmat vastaavat kahden eri verkon yhdistämisestä toisiinsa. Todellinen ero on, että reititystä käytetään siirtymään paikallisesta verkosta toiseen ja tämä toinen verkko voi muodostaa yhteyden reitittimeen ja mennä Internetiin.

Kun puhumme NAT: sta, puhumme pakettien reitittämisestä paikallisesta tai yksityisestä verkosta julkiseen verkkoon tai Internetiin. Se tekee tämän peittämällä paketit asettamalla julkisen IP-osoitteen, jolla se menee Internetiin. Toisin sanoen, emme tarvitse reititintä, koska julkinen IP on suoraan GNU / Linux-tietokoneen omistuksessa.

NAT

Työskentelemme tämän iskulauseen kanssa, että käytämme Linuxia reitittimenä / palomuurina Internetiin lähiverkosta. Mutta tässä voi näkyä kaksi skenaariota.

  • Että Linux on palveluntarjoajan reitittimen ja paikallisen verkon välillä.

Tässä tapauksessa reitittimen ja Linux-järjestelmämme välillä olisi yksi verkko ja Linux-järjestelmän ja lähiverkon välillä eri verkko. Tämä tarkoittaa, että reitittimemme ei tarvitsisi suorittaa NAT:ia sinänsä; yksinkertainen liikenteen reititys, kuten edellisessä viestissä selitettiin, riittäisi.

  • Että Linuxillamme on liitäntä paikalliseen verkkoon ja toisen liitännän kautta se vastaanottaa suoraan julkisen IP: n, jolla se navigoi.

Tämä tarkoittaa, että Linuxin on tehtävä NAT, jotta paketit pääsevät Internetiin.

Tämän pienen laboratorion tarkoituksia varten sanomme sitten, että Linuximme saa julkisen IP: n suoraan ja pystyy siten testaamaan NAT: n vaikutuksia.

NAT: n tekemiseksi käytämme sitten syntaksia

 iptables -t nat -A JÄLJITTELY -O eth1 -j MASQUERADE

Missä eth1 on käyttöliittymä, johon vastaanotamme julkisen IP: n, eli missä käytämme Internetiä.

MASQUERADE-protokollaa käytetään, kun IP on julkinen, mutta se voi vaihdella ajan myötä (dynaaminen). Muuten voimme käyttää SNAT-to-source ip: tä

Iptables-komentosarjan luominen

Oletetaan sitten, että: 172.26.0.0 on paikallinen verkko ja 81.2.3.4 on julkinen IP, jolla käytämme Internetiä. (se on staattinen ip). Minulla on liitännät eth0 (paikallinen verkko)

eth1 (julkinen verkko).

Se koostuu periaatteessa komentosarjan luomisesta, jota voidaan kutsua esimerkiksi tiedostosta /etc/init.d/firestop. ja tästä skriptistä voimme aloittaa, pysäyttää tai tarkistaa kokoonpanomme tilan, aivan kuten minkä tahansa järjestelmän demonin kanssa.

Oletetaan, että IPTABLES-sääntöni OVAT:

#! / bin / bash # Kotini palomuuri. # Tiedostonimi / etc / firewall_on # Kirjoittaja Jlcmux Twitter: @Jlcmux # # Peruskäytäntö. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT Internetin jakamiseksi eth0: sta eth1: ään iptables -t nat -A POSTROUTING -O eth1 -j SNAT - lähteeseen 81.2.3.4
# # Salli iptables-laitteeni käynnistämät saapuvat yhteydet - Eteenpäin -m-tila - valtio PERUSTETTU, LIITTYVÄ -j HYVÄKSY # # Valtuutetun lähtevän liikenteen iptables -A Eteenpäin -i eth0 -o eth1 -p tcp --portti 80 -j HYVÄKSY iptables -A ETEEN -i eth0 -o eth1 -p tcp --port 443 -j HYVÄKSY Iptables -A ETEEN -i eth0 -o eth1 -p udp --portti 53 -j HYVÄKSY
Älä unohda antaa suoritusoikeuksia

Selitys:

Skripti tekee pohjimmiltaan seuraavat:

  1. Rajoita ensin kaikki navigointi, yhteydet ja liikenne. (Palomuurin peruskäytännöt)
  2. Luo sitten NAT kohdekohteella eth1. mikä osoittaa, että meillä on staattinen julkinen ip «81.2.3.4»
  3. Se avaa portit, jotka ovat tarpeen minun aloittamieni yhteyspakettien vastaanottamiseksi.
  4. Hyväksyy lähtevän HTTP-, HTTPS- ja DNS-liikenteen.
Säännöt on tarkoitettu FORWARD-liikenteelle, koska käytämme Linuxia reitittimenä, joten käytäntöjä käytetään liikenteeseen, joka kulkee Linuxin kautta, toisin sanoen se toimii välittäjänä. Tämä tarkoittaa sitä, että Linux ei pysty oikeastaan ​​navigoimaan tai vastaanottamaan tietoja suoraan. Se koskee vain siihen kytkettyjä tietokoneita, mutta ei itseään

Jos haluamme käyttää laitteitamme navigointiin, meidän on toistettava rivit ja vaihdettava FORWARD-asetukseksi INPUT tai OUTPUT tarvittaessa.

Peruuta komentosarja.

Nyt aiomme luoda komentosarjan, joka ohittaa kaikki yllä olevat ja jättää tietokoneen puhtaaksi kaikesta. (Testausta varten tai haluamme vain sammuttaa palomuurin).

#! / bin / bash # Kotini palomuuri. # Tiedostonimi / etc / firewall_off # Kirjoittaja: Jlcmux Twitter: @Jlcmux # #Iptables-sääntöjen poistaminen -F # # Oletuskäytäntöjen soveltaminen (kaikki liikenne hyväksytty) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatisointi.

Nyt meidän on luotava skripti tiedostoon /etc/init.d/ , jotta palvelu käynnistyy automaattisesti ja voimme hallita sitä helpommin.

#! / bin / bash # Kotini palomuuri. # Tiedostonimi /etc/init.d/ palomuuri # Kirjoittaja Jlcmux Twitter: @Jlcmux tapaus $ 1 alussa) / etc / firewall_on ;; stop) / etc / firewall_off ;; tila) iptables -L ;; *) echo "Väärä syntaksi. Voimassa = /etc/init.d/ palomuurin käynnistys | lopeta | tila ;; esac

Selitys:

Sijoitamme tämän viimeisen komentosarjan tiedostoon /etc/init.d/ nimellä "firewall" . Jos sitten haluamme hallita palomuuria, voimme käyttää komentoa /etc/init.d/firewall start. Voimme myös pysäyttää sen tai tarkistaa sen tilan samalla tavalla.

Seuraavaksi muokkaamme tiedostoa /etc/rc.local ja lisäämme siihen jotain seuraavanlaista: /etc/init.d/firewall start , jotta se käynnistyy järjestelmän käynnistyessä.

Yhtä hyvin. Tämä on toinen osa. Toivon, että se tuo jotain teille kaikille. Seuraavassa näemme välityspalvelimen ja IDS: n.


Lisää ensisijaiseksi lähteeksi Googlessa