Ga aan de slag met Iptables: houd slechte mensen (en bots) buiten uw server

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Iptables is een Linux-programma voor gebruikersruimte dat wordt gebruikt voor het configureren van IPv4-tabellen die worden gebruikt door de Linux-kernelfirewall. Iptables is opgenomen in de meeste Linux-distributies die draaien op kernel 2.4.x of hoger.

Iptables is een uiterst flexibel firewall-hulpprogramma voor de opdrachtregel dat beleidsketens gebruikt om verkeer toe te staan ​​of te blokkeren. Het is duidelijk gericht op systeembeheerders, omdat het verhoogde rechten vereist om te worden uitgevoerd en moet worden uitgevoerd door de root van de gebruiker.

Korte geschiedenis

De ontwikkeling van het iptables-project begon in 1998, onder leiding van Rusty Russell, een Australische softwareontwikkelaar. Iptables is gemaakt als een opvolger van ipchains, een eerdere Linux firewall-tool die ook door Russell is gemaakt.

Naarmate het project groter werd, richtte Rusty Russell in 1999 het Netfilter Core Team op. Het produceerde het Netfilter Linux-framework en iptables en bracht ze uit onder de GNU General Public License. In maart 2000 werden Netfilter en iptables samengevoegd in de Linux-kernelhoofdlijn.

Iptables functies en ontwerp

Verschillende kernelmodules worden gebruikt voor verschillende protocollen – iptables is van toepassing op IPv4, ip6tables naar IPv6, arptables naar ARP en ebtables naar Ethernet-frames.

Iptables wordt gebruikt om de tabellen met IPv4-pakketfilterregels in de Linux-kernel in te stellen, te onderhouden en te inspecteren.

Er kunnen verschillende tabellen worden gedefinieerd, waarbij elke tabel een aantal ingebouwde kettingen of door de gebruiker gedefinieerde ketens bevat. Elke ketting is een set regels die kunnen overeenkomen met een set pakketten, terwijl elke regel aangeeft wat er moet gebeuren met een pakket dat overeenkomt. Dit wordt een doelwit genoemd.

Als een pakket overeenkomt met de regel, wordt het lot bepaald door de waarde van het doel: ACCEPT laat het pakket door, DROP laat het pakket vallen, QUEUE geeft het pakket door aan gebruikersruimte, RETURN hervat de volgende regel in de vorige aanroepende keten.

Er zijn tot vijf onafhankelijke tabellen beschikbaar, afhankelijk van de kernelconfiguratie en actieve modules:

  • Filter is de standaardtabel, die de ingebouwde ketens INPUT, FORWARD en OUTPUT bevat.
  • Nat wordt gebruikt wanneer een pakket wordt aangetroffen dat een nieuwe verbinding tot stand brengt, met de ingebouwde ketens PREROUTING, OUTPUT en POSTROUTING.
  • Mangel – wordt gebruikt voor gespecialiseerde pakketwijzigingen, met de ingebouwde kettingen PREROUTING, INPUT, OUTPUT, FORWARD en POSTROUTING.
  • Rauw wordt gebruikt voor het configureren van uitzonderingen op het volgen van verbindingen in combinatie met het NOTRACK-doel, wat ingebouwde ketens PREROUTING en OUTPUT biedt.
  • Veiligheid wordt gebruikt voor Mandatory Access Control (MAC) netwerkregels, met INPUT, OUTPUT en FORWARD ingebouwde ketens.

De opties die door iptables worden herkend, zijn onderverdeeld in opdrachten, parameters en andere opties.

Iptables gebruiken

Iptables is een opdrachtregelprogramma dat vooraf is geïnstalleerd op de meeste Linux-distributies. Als u iptables moet bijwerken of installeren, kunt u de volgende opdracht gebruiken:

sudo apt-get installeer iptables

U moet uiterst voorzichtig zijn als u bent aangemeld bij een externe server en u de iptables-regels configureert, omdat één verkeerde opdracht u voorgoed kan uitsluiten en mogelijk handmatig moet worden gerepareerd op de server.

We zullen een paar algemene en eenvoudige commando’s demonstreren die worden gebruikt bij het configureren van iptables-regels. Als u van plan bent om geavanceerde functies van iptables te gebruiken, moet u enkele van de bronnen op iptables raadplegen die we hieronder verstrekken.

U kunt de momenteel geconfigureerde iptables-regels weergeven met behulp van:

iptables –L

In de meeste gevallen wilt u dat uw systeem standaard verbindingen accepteert, met behulp van deze opdrachten:

iptables –beleid INVOER ACCEPT
iptables – beleid UITVOERACCEPT
iptables –beleid VOORUIT ACCEPT

Hierna kunt u iptables gebruiken om verbindingen van specifieke IP-adressen of poorten te weigeren, zoals:

iptables -A INPUT -s 192.168.10.10 -j DROP

Of u kunt verbindingen blokkeren van een reeks IP-adressen zoals deze:

iptables -A INPUT -s 192.168.10.0/24 -j DROP

In sommige specifieke gevallen zou u de tegenovergestelde benadering kunnen gebruiken als hierboven beschreven. U kunt alle verbindingen weigeren en handmatig aangeven welke verbindingen u wilt toestaan. Deze opstelling kan worden gebruikt voor servers met gevoelige gegevens, die zijn verbonden met een uniek IP-adres.

iptables –beleid INPUT DROP
iptables –beleid OUTPUT DROP
iptables –beleid FORWARD DROP
iptables -A INPUT -s 192.168.10.10 -j ACCEPT

Het is belangrijk op te merken dat alle wijzigingen aan de iptables-regels niet automatisch worden opgeslagen. U moet de wijzigingen handmatig opslaan met een commando dat kan verschillen afhankelijk van uw distributie. Dit is het Ubuntu-commando:

sudo / sbin / iptables-save

Als u bent vergeten de wijzigingen die u in de iptables hebt aangebracht, op te slaan, gaan ze verloren de volgende keer dat de iptables-service opnieuw wordt opgestart.

U kunt ook het spoelcommando gebruiken om alle geconfigureerde regels te wissen:

iptables -F

Iptables-bronnen

Er zijn veel bronnen voor iptables online, wat begrijpelijk is omdat iptables in de meeste Linux-distributies is opgenomen. Het leren en gebruiken van iptables zou geen probleem moeten zijn, vooral als u vertrouwt op kwaliteitsbronnen zoals deze:

  • Iptables Official Manual is gedetailleerd en biedt een handige referentie voor iptables commando’s en parameters.
  • Linux 2.4 Pakketfiltering HOWTO-documentatie is een zeer gedetailleerde beschrijving van pakketfiltering geschreven door Rusty Russell. Van bijzonder belang is de sectie Iptables gebruiken.
  • Iptables How To is een mooie doorloop van iptables.

Iptables Boeken

Er zijn niet genoeg boeken over iptables, hoewel iptables worden genoemd in veel boeken over Linux-netwerken en firewalls.

Met veel hoogwaardige online bronnen is het geen wonder dat er niet meer boeken zijn die over iptables gaan. Daarom hebben we slechts één boek over iptables uitgekozen:

  • Linux Iptables Pocket Reference van Gregor Purdy: Deze pocketreferentie helpt je op die kritieke momenten wanneer iemand je vraagt ​​om snel een poort te openen of te sluiten, ofwel om belangrijk verkeer mogelijk te maken of om een ​​aanval te blokkeren. Het boek houdt de subtiele syntaxis recht en helpt je alle waarden te onthouden die je moet invoeren om zo veilig mogelijk te zijn.

Conclusie

Iptables is een veel gebruikt hulpprogramma, dus het is zeker de moeite waard om het onder de knie te krijgen als veel van uw werk draait om op Linux gebaseerde servers. Gelukkig betekent de populariteit dat iptables nog steeds actief wordt ontwikkeld en dat er periodiek nieuwe versies worden geïntroduceerd.

Het betekent ook dat er geen tekort is aan hoogwaardige iptables-bronnen online, maar als je geniet van het gekreukel van papier, zal het moeilijk zijn om iptables-boeken te vinden. Toch maakt het enorme volume aan digitale iptables-middelen het gebrek aan paperback-middelen ruimschoots goed.

Iptables is een krachtig, maar toch gemakkelijk te gebruiken hulpprogramma. Elke aspirant Linux-goeroe zou het moeten beheersen.

Verder lezen en bronnen

We hebben meer handleidingen, tutorials en infographics met betrekking tot computergebruik:

  • Inleiding en bronnen voor Linux-programmering: deze diepe duik in Linux-programmering komt terecht in de kernel waar alle actie is.
  • Netwerkprogrammering met internetsockets: leer alles over netwerken op internet.

Unix-programmeerbronnen

Als je echt Linux gebruikt en er programma’s voor wilt gaan maken, hebben we een geweldige plek om te beginnen met leren: Unix-programmeerbronnen.

De ultieme lijst met webmastertools A-Z
Unix-programmeerbronnen

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me