Site Overlay

Den Beginner ‘ s Guide til iptables Linux Firewall

  • Korbin Brun
  • Opdateret August 27, 2020, 2:25pm EDT

Iptables er en yderst fleksibel firewall værktøj, bygget til Linux-operativsystemer. Uanset om du er en nybegynder Linu.geek eller en systemadministrator, er der sandsynligvis en måde, at iptables kan være en god brug for dig. Læs videre, da vi viser dig, hvordan du konfigurerer den mest alsidige Linu. – fire .all.foto af e .ioman.

om iptables

iptables er et kommandolinjeværktøj til fire .all, der bruger politikkæder til at tillade eller blokere trafik., Når en forbindelse forsøger at etablere sig på dit system, ser iptables efter en regel på sin liste for at matche den til. Hvis den ikke finder en, går den til standardhandlingen.

iptables kommer næsten altid forudinstalleret på enhver Linu.-distribution. For at opdatere/installere det, bare hente iptables package:

sudo apt-get install iptables

Reklame

Der er GUI alternativer til iptables gerne Firestarter, men iptables er egentlig ikke så svært, når du har et par kommandoer ned., Du vil være yderst forsigtig, når du konfigurerer iptables-regler, især hvis du er SSH ‘ d til en server, fordi en forkert kommando permanent kan låse dig ud, indtil den manuelt er fastgjort på den fysiske maskine.

Typer af Kæder

iptables bruger tre forskellige kæder: input, forward og output.

Input – denne kæde bruges til at styre adfærden for indgående forbindelser. For eksempel, hvis en bruger forsøger at SSH til din PC/server, vil iptables forsøge at matche IP-adressen og porten til en regel i indgangskæden.,

fremad – denne kæde bruges til indgående forbindelser, der faktisk ikke leveres lokalt. Tænk på en router-data sendes altid til den, men sjældent faktisk bestemt til selve routeren; dataene videresendes lige til sit mål. Medmindre du laver en slags routing, NATing eller noget andet på dit system, der kræver videresendelse, bruger du ikke engang denne kæde.

Der er en sikker måde at kontrollere, om dit system bruger / har brug for fremadkæden.,

iptables -L -v

Reklame

billedet ovenfor er af en server, som har kørt i et par uger og har ingen restriktioner på indgående eller udgående forbindelser. Som du kan se, har indgangskæden behandlet 11 GB pakker, og udgangskæden har behandlet 17 GB. Den forreste kæde har på den anden side ikke behov for at behandle en enkelt pakke. Dette skyldes, at serveren ikke gør nogen form for videresendelse eller bliver brugt som en pass-through-enhed.,Output-denne kæde bruges til udgående forbindelser. For eksempel, hvis du forsøger at pinge howtogeek.com, vil iptables kontrollere sin udgangskæde for at se, hvad reglerne vedrører ping og howtogeek.com før du træffer en beslutning om at tillade eller nægte forbindelsesforsøget.

advarslen

selvom pinging en ekstern vært virker som noget, der kun behøver at krydse udgangskæden, skal du huske på, at for at returnere dataene vil inputkæden også blive brugt., Når du bruger iptables til at låse dit system, skal du huske, at mange protokoller kræver tovejskommunikation, så både input-og outputkæderne skal konfigureres korrekt. SSH er en fælles protokol, som folk glemmer at tillade på begge kæder.

Politikkæde standardadfærd

før du går ind og konfigurerer specifikke regler, vil du beslutte, hvad du vil have standardadfærden for de tre kæder til at være. Med andre ord, hvad vil du have iptables at gøre, hvis forbindelsen ikke stemmer overens med eksisterende regler?,

annonce

for at se, hvad dine politikkæder i øjeblikket er konfigureret til at gøre med uovertruffen trafik, skal du køre kommandoeniptables -L.

som du kan se, brugte vi også grep-kommandoen til at give os renere output. I det skærmbillede er vores kæder i øjeblikket beregnet til at acceptere trafik.

flere gange end ikke, vil du have dit system til at acceptere forbindelser som standard. Medmindre du tidligere har ændret politikkædereglerne, skal denne indstilling allerede konfigureres., Enten måde, det er her kommando til at acceptere forbindelser som standard:

iptables --policy INPUT ACCEPT
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD ACCEPT

Ved udeblevne til at acceptere den regel, du kan derefter bruge iptables at nægte en specifik IP-adresse eller-port numre, samtidig med at acceptere, at alle andre tilslutninger. Vi kommer til kommandoerne om et øjeblik.,

annonce

Hvis du hellere vil nægte alle forbindelser og manuelt angive, hvilke du vil tillade at oprette forbindelse, skal du ændre standardpolitikken for dine kæder til at falde. At gøre dette ville sandsynligvis kun være nyttigt for servere, der indeholder følsomme oplysninger og kun nogensinde har de samme IP-adresser forbindelse til dem.,

iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

Forbindelse-specifikke Svar

Med din standard kæde politikker konfigureret, du kan starte med at tilføje regler for iptables, så den ved, hvad de skal gøre, når der opstår en forbindelse til eller fra en bestemt IP-adresse eller-port. I denne vejledning skal vi gennemgå de tre mest basale og almindeligt anvendte “svar”.

Accepter – Tillad forbindelsen.

Drop – Drop forbindelsen, handle som om det aldrig er sket., Dette er bedst, hvis du ikke ønsker, at kilden skal indse, at dit system eksisterer.

Afvis – Tillad ikke forbindelsen, men send en fejl tilbage. Dette er bedst, hvis du ikke ønsker, at en bestemt kilde skal oprette forbindelse til dit system, men du vil have dem til at vide, at din Fire .all blokerede dem.

Reklame

Den bedste måde at vise forskellen mellem disse tre regler er at vise, hvordan det ser ud når en PC, forsøger at pinge en Linux-maskine med iptables, der er konfigureret for hver af disse indstillinger.,

Så i den forbindelse:

Droppe den forbindelse:

Afviser den forbindelse:

Tillade eller Blokere Bestemte Forbindelser

Med din politik kæder konfigureret, kan du nu konfigurere iptables for at tillade eller blokere specifikke adresser, adresse intervaller, og havne. I disse eksempler, vil vi indstille forbindelser til DROP, men du kan slå dem til ACCEPT eller REJECT, afhængigt af dine behov samt hvordan du har konfigureret din politik kæder.,Bemærk: i disse eksempler bruger vi iptables -A til at tilføje regler til den eksisterende kæde. iptables starter øverst på listen og går gennem hver regel, indtil den finder en, som den matcher. Hvis du skal indsætte en regel over en anden, kan du bruge iptables -I for at angive det nummer, det skal være på listen.

forbindelser fra en enkelt IP-adresse

dette eksempel viser, hvordan du blokerer alle forbindelser fra IP-adressen 10.10.10.10.,

iptables -A INPUT -s 10.10.10.10 -j DROP

Forbindelser fra et interval af IP-adresser

Reklame

Dette eksempel viser, hvordan du kan blokere for alle IP-adresser i 10.10.10.0/24 netværk rækkevidde. Du kan bruge en netmaske eller standard skråstreg notation til at angive intervallet af IP-adresser.,

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

or

iptables -A INPUT -s 10.10.10.0/255.255.255.0 -j DROP

Connections to a specific port

This example shows how to block SSH connections from 10.10.10.10.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -j DROP

You can replace “ssh” with any protocol or port number. The -p tcp part of the code tells iptables what kind of connection the protocol uses., Hvis du blokerede for en protokol, der bruger UDP snarere end TCP, ville -p udp være nødvendigt i stedet.

dette eksempel viser, hvordan man blokerer SSH-forbindelser fra enhver IP-adresse.

iptables -A INPUT -p tcp --dport ssh -j DROP

Forbindelse Stater

Som vi har nævnt tidligere, en masse af protokoller, der vil kræve to-vejs kommunikation. For eksempel, hvis du vil tillade SSH-forbindelser til dit system, skal indgangs-og udgangskæderne have en regel tilføjet til dem., Men hvad nu hvis du kun ønsker, at SSH kommer ind i dit system for at få lov? Vil ikke tilføje en regel til output kæde også tillade udgående SSH forsøg?

annonce

det er her forbindelsestilstande kommer ind, hvilket giver dig den kapacitet, du har brug for for at tillade tovejskommunikation, men kun tillade, at der oprettes envejsforbindelser. Se på dette eksempel, hvor SSH-forbindelser fra 10.10.10.10 er tilladt, men SSH-forbindelser til 10.10.10.10 er ikke., Systemet har dog tilladelse til at sende information tilbage over SSH, så længe sessionen allerede er etableret, hvilket gør SSH-kommunikation mulig mellem disse to værter.

Gem ændringer

de ændringer, du foretager i dine iptables-regler, vil blive skrottet næste gang iptables-tjenesten genstartes, medmindre du udfører en kommando for at gemme ændringerne.,div id=”02f11c1957″>

Red Hat / CentOS:

/sbin/service iptables save

Or

/etc/init.d/iptables save

Other Commands

List the currently configured iptables rules:

iptables -L

Adding the -v option will give you packet and byte information, and adding -n will list everything numerically., Med andre ord – værtsnavne, protokoller og netværk er opført som tal.

annonce

for at rydde alle de aktuelt konfigurerede regler kan du udstede flush-kommandoen.

iptables -F

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *