Uw netwerk beveiligen met Iptables - Proxy - NAT - IDS: DEEL 2

In het vorige bericht hebben we gezien hoe je IPTables configureert als firewall. Nu laten we zien hoe je scripts maakt om regels automatisch uit te voeren wanneer het systeem opstart, en hoe je die regels kunt verwijderen of tijdelijk kunt uitschakelen.

Laten we, voordat we het script maken en laten zien hoe het eruit ziet, een beetje praten over NAT en het concept van wat we met deze apparatuur willen doen.

NAT en context van het voorbeeld.

Als we het hebben over NAT, kunnen we dit verwarren met routing, aangezien beide verantwoordelijk zijn voor het verbinden van twee verschillende netwerken met elkaar. Het verschil is echt dat de routering wordt toegepast om van het ene lokale netwerk naar het andere te gaan en dat dit andere netwerk verbinding kan maken met een router en verbinding kan maken met internet.

Terwijl we het hebben over NAT, hebben we het over het routeren van pakketten van een lokaal of particulier netwerk naar een openbaar netwerk of internet. Het doet dit door de pakketten te maskeren door het openbare IP-adres te plaatsen waarmee het naar internet gaat. Dat wil zeggen, we hebben geen router nodig, omdat het openbare IP-adres rechtstreeks wordt bewaard door de computer met GNU / Linux.

nat

We zullen dit doen met de slogan dat we onze Linux gebruiken als een router / firewall om vanaf een lokaal netwerk naar het internet te gaan. Maar hier kunnen twee scenario's verschijnen.

  • Dat onze Linux zich tussen de router van de serviceprovider en het lokale netwerk bevindt.

In dit geval zou er één netwerk zijn tussen de router en ons Linux-systeem, en een ander netwerk tussen het Linux-systeem en het lokale netwerk. Dit betekent dat onze router geen NAT hoeft uit te voeren; eenvoudige verkeersroutering, zoals uitgelegd in het vorige bericht, zou volstaan.

  • Dat onze Linux een interface heeft die is verbonden met het lokale netwerk en via de andere interface direct een openbaar IP ontvangt waarmee hij navigeert.

Dit betekent dat onze Linux NAT moet doen zodat de pakketten het internet kunnen bereiken.

Voor de doeleinden van dit kleine laboratorium zullen we zeggen dat onze Linux rechtstreeks een openbaar IP-adres ontvangt en dus in staat is om de effecten van NAT te testen.

Om NAT te doen gebruiken we dan de syntaxis

 iptables -t nat -A POSTROUTING -O eth1 -j MASQUERADE

Waar eth1 de interface is waar we het openbare IP-adres ontvangen, dat wil zeggen, waar we naar internet gaan.

MASQUERADE wordt gebruikt als het IP-adres openbaar is, maar het kan in de tijd variëren (dynamisch). Anders kunnen we SNAT -to-source ip gebruiken

Iptables-script maken

Stel dan dat: 172.26.0.0 ons lokale netwerk is en 81.2.3.4 het openbare IP-adres is waarmee we naar internet gaan. (het is een statisch ip). Ik heb de interfaces eth0 (lokaal netwerk)

eth1 (openbaar netwerk).

Het bestaat in feite uit het maken van een script dat kan worden aangeroepen vanuit /etc/init.d/firestop (bijvoorbeeld). en vanuit dit script kunnen we starten, stoppen of de status van onze configuratie controleren, zoals we doen met elke systeemdaemon.

Stel dat mijn IPTABLES-regels ZIJN:

#! / bin / bash # Firewall van mijn huis. # Bestandsnaam / etc / firewall_on # Door Jlcmux Twitter: @Jlcmux # # Basisbeleid. iptables -P INPOUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # #NAT om internet te delen van eth0 naar eth1 iptables -t nat -A POSTROUTING -O eth1 -j SNAT --to-source 81.2.3.4
# # Sta inkomende verbindingen toe geïnitieerd door my iptables -A FORWARD -m state --state ESTABLISHED, RELATED -j ACCEPT # # Geautoriseerd uitgaand verkeer iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport 443 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p udp --dport 53 -j ACCEPT
Laten we niet vergeten om uitvoeringsrechten te geven

Uitleg:

Het script doet in principe het volgende:

  1. Beperk eerst alle navigatie, verbindingen en verkeer. (Basisfirewallbeleid)
  2. Maak vervolgens de NAT met de bestemming eth1. wat aangeeft dat we een statisch openbaar ip hebben «81.2.3.4»
  3. Het opent de poorten die nodig zijn om de door mij geïnitieerde pakketjes verbindingen te ontvangen.
  4. Accepteert uitgaand HTTP-, HTTPS- en DNS-verkeer.
De regels zijn bedoeld voor FORWARD-verkeer omdat we onze Linux als een router gebruiken, dus het beleid wordt gebruikt voor het verkeer dat door Linux GAAT, dat wil zeggen, het fungeert als een tussenpersoon. Dit betekent dat onze Linux niet echt kan navigeren of gegevens rechtstreeks kan ontvangen. Het is alleen van toepassing op computers die erop zijn aangesloten, maar niet op zichzelf

Als we onze apparatuur willen gebruiken om te navigeren, moeten we de regels herhalen en FORWARD wijzigen in INPUT of OUTPUT, al naargelang het geval.

Annuleer script.

Nu gaan we een script maken dat al het bovenstaande opheft en de computer hiervan vrij laat. (Voor testdoeleinden of we willen gewoon de firewall uitschakelen).

#! / bin / bash # Firewall van mijn huis. # Bestandsnaam / etc / firewall_off # Door Jlcmux Twitter: @Jlcmux # # IPtables-regels verwijderen -F # # Standaardbeleid toepassen (alle verkeer geaccepteerd) iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT

Automatiseren.

Nu moeten we het script in /etc/init.d/ aanmaken , zodat de service automatisch start en we deze gemakkelijker kunnen beheren.

#! / bin / bash # Firewall van mijn huis. # Bestandsnaam /etc/init.d/ firewall # Door Jlcmux Twitter: @Jlcmux case $ 1 in start) / etc / firewall_on ;; stop) / etc / firewall_off ;; status) iptables -L ;; *) echo "Verkeerde syntaxis. Geldig = /etc/init.d/ firewall start | stop | status ;; esac

Uitleg:

We plaatsen dit laatste script in /etc/init.d/ met de naam "firewall" . Als we de firewall vervolgens willen beheren, kunnen we het commando /etc/init.d/firewall start gebruiken. We kunnen de firewall ook stoppen of de status ervan controleren op dezelfde manier.

Nu gaan we het bestand /etc/rc.local bewerken en iets toevoegen als: /etc/init.d/firewall start , zodat het met het systeem start.

Ook. Dit is het tweede deel. Ik hoop dat het jullie allemaal iets oplevert. In de volgende zien we Proxy en IDS.


Voeg dit toe als voorkeursbron in Google.