IPTABLES in de Linux 2.6+ Kernel

Introductie

Dit document is bedoeld om een kort overzicht van iptables, de betrokken concepten, en de wijze waarop die begrippen in deze Firewall Generator worden uitgevoerd bieden.

IPTables vervangen IPChains als de firewall van keuze in de 2.4 Linux kernel.

IPChains is een staatloos firewall. Het onderzoekt elk pakket als een aparte entiteit en elk pakket moeten daarom een regel die ermee verbonden zijn.

IPTables is een stateful firewall. Het volgt de status van de verbinding tijdens zijn leven. Derhalve elk pakket kan worden geassocieerd met een staat. Of het is een poging om een nieuwe verbinding maken, het is onderdeel van een bestaande verbinding of in verband met een verbinding, of het pakket is in een ongeldige toestand. Een stateless firewall kan worden overgeslagen als een toegestane protocol wordt onderscheiden. Een stateful firewall, ter vergelijking, detecteert dat het pakket is geen onderdeel van een lopende sessie en kan worden geconfigureerd om de toegang tot het pakket voorkomen. Een stateful firewall is dus veiliger dan een stateless firewall. Aangezien veel van de regels kan rekenen op de toestand van het pakket, een stateful firewall vereist in het algemeen minder regels dan een stateless firewall. Dit vermindert de kans op menselijke fouten ook.

Een iptables firewall bestaat uit verschillende tafels, elk met een standaard beleid en builtin ketens van regels. Verder regel ketens kunnen optioneel worden gemaakt in elke tabel. Verschillende tabellen en kettingen worden doorkruist volgens de bron en bestemming van het pakket. Een pakket dat wordt ontvangen via een netwerk interface op het systeem gaat door een opeenvolging van stappen voordat het lokaal wordt behandeld of doorgestuurd naar een andere host.

Tafel Beschrijvingen

filter Tabel

De filter tabel is de standaard tabel voor elke regel. Het is waar het grootste deel van het werk in een iptables firewall optreedt. Vermijd het filteren op een andere tafel en het kan niet werken. Het heeft drie veel gebruikte ingebouwde ketens. Die ketens zijn INPUT, OUTPUT, en FORWARD. Pakketten bestemd voor de host doorkruisen de INPUT keten. Pakketten die door de host te sturen naar een ander systeem doorkruisen de OUTPUT reeks. Pakketten door de gastheer die bestemd zijn voor een andere host ontvangen doorkruisen de FORWARD keten.

nat Tabel

De Network Address Translation of nat tabel wordt gebruikt om de bron of de bestemming veld in pakketten te vertalen. Een systeem met een statische IP moet Source Network Address Translation (snat) te gebruiken, omdat het gebruik maakt van minder systeembronnen. Echter, iptables ondersteunt ook gastheren met een dynamische verbinding met het internet met een maskerade functie. Masquerade gebruikt de huidige adres op de nterface voor address translation.

mangle Tabel

De mangle tabel wordt gebruikt om bepaalde gebieden in de headers van IP-pakketten te wijzigen. Het kan worden gebruikt om de Time to Live wijzigen of TTL, veranderen de Type of Service of TOS veld, of markeer pakketten voor later filtering.

Packet Path

Doorgestuurde Pakketten

Een pakket dat bestemd is voor een andere host wordt een pakket doorgestuurd. Het loopt eerst door de PREROUTING in de mangel tafel. Het steekt vervolgens de PREROUTING keten in de nat tabel. Dit is waar DNAT regels worden toegepast. Het pakket doorloopt vervolgens de FORWARD keten in de filter tabel. Dit is de enige keten waar filtering regels moeten worden toegepast op het pakket. Het pakket gaat dan naar de POSTROUTING keten in de nat tabel. In deze keten worden regels snat en vermomd toegepast. Het pakket gaat dan uit de uitgaande interface.

Ontvangen Pakketten

Pakketten gericht aan de localhost eerste doorkruisen de PREROUTING in de mangel tafel. Vervolgens gaan ze door het PREROUTING keten in de nat tabel. Dit is waar DNAT regels worden toegepast. Na de DNAT regels, moet een routing beslissing worden genomen. Als het pakket werkelijk is bestemd voor de lokale machine, wordt de INPUT keten de filter tabel doorlopen. Alle filtering gebeurt in deze keten. Pakketten die geaccepteerd worden vervolgens doorgegeven aan de lokale proces of toepassing waarvoor het bestemd is.

Verzonden Pakketten

Pakketten die worden gegenereerd op de localhost eerste doorkruisen de OUTPUT reeks van de mangel tafel. Vervolgens passeren zij de OUTPUT reeks van de nat tabel. Vervolgens, ze door de OUTPUT reeks van de filter tabel. Zodra het pakket die ketens voorbij, moet het systeem bepalen waar het pakket moet worden gerouteerd. Zodra het besluit is gemaakt, het pakket doorkruist de POSTROUTING keten in de nat tabel. Dit is waar snat en vermomd regels worden toegepast. Het pakket gaat dan door de juiste netwerkinterface.

Firewall Generator

De firewall scripts gegenereerd door dit programma gebruiken diverse verdragen. Filter tabel regels zijn meestal verdeeld over meerdere door de gebruiker gedefinieerde regel ketens. Dit is bedoeld om de firewall gemakkelijker te volgen en het aantal regels elk afzonderlijk pakket moet doorkruisen minimaliseren. Slechte pakketten worden gedefinieerd als pakketten in een ongeldige toestand of enig ander dan syn pakketten die in een nieuwe staat pakketten. Pakketten die in een gevestigde of aanverwante staat worden geaccepteerd. Ze zijn onderdeel van een lopende sessie. Inkomende TCP, UDP en ICMP pakketten worden naar een afzonderlijke ketens te bepalen of ze moeten worden geaccepteerd. Standaard worden ze aanvaard van de interne interface en daalde van de externe interface. TCP-verzoeken van het interne netwerk voor het doorsturen van zijn passeert door een uitgaande keten om te zien of het zou moeten worden geweigerd. Standaard worden deze verzoeken geaccepteerd.

Redhat installatie-instructies

  1. Zorg ervoor dat ipchains niet automatisch start:

    chkconfig --level 0123456 ipchains off

    Dit zal ervoor zorgen dat de ipchains init.d script niet is gekoppeld aan een S-bestand in een van de rc mappen.
  2. Stop ipchains als het draait:

    service ipchains stop
  3. Uitvoeren lsmod om te zien of de ipchains kernel module nog geladen. Als het gebruik rmmod te lossen.
  4. Hebben het systeem te koppelen de iptables init.d startup script in rennen staten 2, 3, en 5:

    chkconfig --level 235 iptables on
  5. Bewaar deze script en voer het uit om de regelset laden van dit bestand. U kan nodig zijn om de dos2unix opdracht uit te voeren op het om harde returns verwijderen.
  6. Sla de regelset naar /etc/sysconfig/iptables. Dit kan op twee manieren:

    service iptables save
    iptables-save > /etc/sysconfig/iptables
  7. De regelset zal worden hersteld door het /etc/init.d/iptables script op laars.

OPMERKING: Het bestand /etc/init.d/iptables script kan worden gewijzigd om dit script in plaats daarvan uit te voeren. Als u dit doet, slaat u een kopie, zodat u uw wijzigingen opnieuw kunt toepassen na het upgraden van de iptables pakket. Het voordeel van het gebruik van dit script voor de lopende operatie van de firewall is het geeft je meer controle over de modules en rulesets gebruikt. Het bovenstaande is eenvoudiger, echter.

Venster sluiten