Beginner's Guide to iptables, Linux-brannmuren

Aug 27, 2025
Personvern og sikkerhet

Iptables er et ekstremt fleksibelt brannmurverktøy bygget for Linux-operativsystemer. Enten du er en nybegynner av Linux-geek eller systemadministrator, er det sannsynligvis en måte at iptables kan være en god bruk for deg. Les videre når vi viser deg hvordan du konfigurerer den mest allsidige Linux-brannmuren.

Om iptables

iptables er et kommandolinjebrannmurverktøy som bruker policykjeder for å tillate eller blokkere trafikk. Når en tilkobling prøver å etablere seg på systemet ditt, ser iptables etter en regel i listen for å matche den med. Hvis den ikke finner en, tyr den til standardhandlingen.

iptables kommer nesten alltid forhåndsinstallert på alle Linux-distribusjoner. For å oppdatere / installere den, er det bare å hente iptables-pakken:

sudo apt-get install iptables

Det er GUI-alternativer til iptables som Brannstarter , men iptables er egentlig ikke så vanskelig når du har noen kommandoer nede. Du vil være ekstremt forsiktig når du konfigurerer iptables-regler, spesielt hvis du bruker SSH på en server, fordi en feil kommando permanent kan låse deg ut til den blir fikset manuelt på den fysiske maskinen.

Typer kjeder

iptables bruker tre forskjellige kjeder: input, forward og output.

Inngang - Denne kjeden brukes til å kontrollere oppførselen til innkommende forbindelser. For eksempel, hvis en bruker prøver å SSH inn i PCen / serveren din, vil iptables prøve å matche IP-adressen og porten til en regel i inngangskjeden.

Framover - Denne kjeden brukes til innkommende forbindelser som faktisk ikke blir levert lokalt. Tenk på en ruter - data blir alltid sendt til den, men sjelden faktisk bestemt for ruteren selv; dataene blir bare videresendt til målet. Med mindre du gjør noen form for ruting, NATing eller noe annet på systemet ditt som krever videresending, vil du ikke engang bruke denne kjeden.

Det er en sikker måte å kontrollere om systemet ditt bruker / trenger fremoverkjeden.

iptables -L -v

Skjermbildet ovenfor er av en server som har kjørt i noen uker og ikke har noen begrensninger for innkommende eller utgående tilkoblinger. Som du kan se, har inngangskjeden behandlet 11 GB pakker og utgangskjeden har behandlet 17 GB. Den fremre kjeden har derimot ikke trengt å behandle en eneste pakke. Dette skyldes at serveren ikke videresender eller blir brukt som en gjennomleveringsenhet.

Produksjon - Denne kjeden brukes til utgående forbindelser. For eksempel, hvis du prøver å pinge howtogeek.com, vil iptables sjekke utgangskjeden for å se hva reglene gjelder ping og howtogeek.com før de tar en beslutning om å tillate eller nekte tilkoblingsforsøket.

Advarselen

Selv om pinging av en ekstern vert virker som noe som bare trenger å krysse utgangskjeden, må du huske at inngangskjeden også vil brukes for å returnere dataene. Når du bruker iptables for å låse systemet, må du huske at mange protokoller vil kreve toveiskommunikasjon, så både inngangs- og utgangskjeder må konfigureres riktig. SSH er en vanlig protokoll som folk glemmer å tillate i begge kjeder.

Policy Chain Standard Behavior

Før du går inn og konfigurerer bestemte regler, vil du bestemme hva du vil at standardatferden til de tre kjedene skal være. Med andre ord, hva vil du at iptables skal gjøre hvis forbindelsen ikke samsvarer med noen eksisterende regler?

For å se hva policykjedene dine er konfigurert for å gjøre med uovertruffen trafikk, kjører du iptables -L kommando.

Som du ser, brukte vi også grep-kommandoen for å gi oss renere utdata. I det skjermbildet er kjedene våre for tiden antatt å akseptere trafikk.

Flere ganger enn ikke vil du at systemet ditt skal godta tilkoblinger som standard. Med mindre du har endret reglene for kjedekjedene tidligere, bør denne innstillingen allerede være konfigurert. Uansett, her er kommandoen for å godta tilkoblinger som standard:

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

Ved å standardisere aksepteringsregelen kan du bruke iptables til å nekte bestemte IP-adresser eller portnumre, mens du fortsetter å godta alle andre tilkoblinger. Vi kommer til disse kommandoene om et øyeblikk.

Hvis du heller vil nekte alle forbindelser og manuelt spesifisere hvilke du vil tillate å koble til, bør du endre standardreglene for kjedene dine for å slippe. Å gjøre dette vil sannsynligvis bare være nyttig for servere som inneholder sensitiv informasjon og bare har de samme IP-adressene som er koblet til seg.

iptables - policy INNGANG DROP
iptables - policy OUTPUT DROP
iptables - policy FORWARD DROP

Tilkoblingsspesifikke svar

Med standard kjedepolitikk konfigurert, kan du begynne å legge til regler i iptables, slik at den vet hva den skal gjøre når den støter på en forbindelse fra eller til en bestemt IP-adresse eller port. I denne veiledningen skal vi gå gjennom de tre mest grunnleggende og mest brukte "svarene".

Aksepterer - Tillat tilkoblingen.

Miste - Slipp forbindelsen, oppfør deg som om det aldri skjedde. Dette er best hvis du ikke vil at kilden skal innse at systemet ditt eksisterer.

Avvis - Ikke tillat tilkoblingen, men send en feil tilbake. Dette er best hvis du ikke vil at en bestemt kilde skal koble til systemet ditt, men du vil at de skal vite at brannmuren din blokkerte dem.

Den beste måten å vise forskjellen mellom disse tre reglene er å vise hvordan det ser ut når en PC prøver å pinge en Linux-maskin med iptables konfigurert for hver av disse innstillingene.

Tillater tilkoblingen:

Slipper tilkoblingen:

Avvise tilkoblingen:

Tillate eller blokkere spesifikke tilkoblinger

Med policy-kjedene dine konfigurert, kan du nå konfigurere iptables for å tillate eller blokkere bestemte adresser, adresseområder og porter. I disse eksemplene setter vi forbindelsene til MISTE , men du kan bytte dem til AKSEPTERER eller AVSTÅ , avhengig av dine behov og hvordan du konfigurerte policykjedene.

Merk: I disse eksemplene skal vi bruke iptables -A å legge regler til den eksisterende kjeden. iptables starter øverst på listen og går gjennom hver regel til den finner en som den samsvarer med. Hvis du trenger å sette inn en regel over en annen, kan du bruke iptables -I [chain] [number] for å spesifisere nummeret det skal være i listen.

Tilkoblinger fra en enkelt IP-adresse

Dette eksemplet viser hvordan du blokkerer alle tilkoblinger fra IP-adressen 10.10.10.10.

iptables -A INNGANG -s 10.10.10.10 -j DROP

Tilkoblinger fra en rekke IP-adresser

Dette eksemplet viser hvordan du blokkerer alle IP-adressene i 10.10.10.0/24 nettverksområdet. Du kan bruke en nettmaske eller standard skråstreknotasjon for å spesifisere IP-adressene.

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

eller

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

Tilkoblinger til en bestemt port

Dette eksemplet viser hvordan du blokkerer SSH-tilkoblinger fra 10.10.10.10.

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

Du kan erstatte “ssh” med hvilken som helst protokoll eller portnummer. De -p tcp en del av koden forteller iptables hva slags forbindelse protokollen bruker. Hvis du blokkerte en protokoll som bruker UDP i stedet for TCP, da -p udp ville være nødvendig i stedet.

Dette eksemplet viser hvordan du blokkerer SSH-tilkoblinger fra hvilken som helst IP-adresse.

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

Tilkoblingsstatus

Som vi nevnte tidligere, vil mange protokoller kreve toveiskommunikasjon. For eksempel, hvis du vil tillate SSH-tilkoblinger til systemet ditt, vil inngangs- og utgangskjedene trenge en regel lagt til dem. Men hva om du bare vil at SSH skal komme inn i systemet ditt for å få lov? Vil du ikke legge til en regel i produksjonskjeden også tillate utgående SSH-forsøk?

Det er der tilkoblingsstatusene kommer inn, som gir deg muligheten du trenger for å tillate toveiskommunikasjon, men bare tillate at enveisforbindelser etableres. Se på dette eksemplet, der SSH-tilkoblinger FRA 10.10.10.10 er tillatt, men SSH-tilkoblinger TIL 10.10.10.10 er ikke tillatt. Imidlertid har systemet lov til å sende tilbake informasjon over SSH så lenge økten allerede er etablert, noe som gjør SSH-kommunikasjon mulig mellom disse to vertene.

iptables -A INPUT -p tcp --dport ssh -s 10.10.10.10 -m state --state NEW, ESTABLISHED -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -d 10.10.10.10 -m state --state ESTABLISHED -j ACCEPT

Lagrer endringer

Endringene du gjør i iptables-reglene dine blir skrotet neste gang iptables-tjenesten blir startet på nytt med mindre du utfører en kommando for å lagre endringene. Denne kommandoen kan variere avhengig av distribusjonen din:

Ubuntu:

sudo / sbin / iptables-lagre

Red Hat / CentOS:

/ sbin / service iptables lagre

Eller

/etc/init.d/iptables lagre

Andre kommandoer

Liste over de nåværende konfigurerte iptables-reglene:

iptables -L

Legge til -på alternativet vil gi deg pakke- og byteinformasjon, og legge til -n vil liste opp alt numerisk. Med andre ord - vertsnavn, protokoller og nettverk er oppført som tall.

For å fjerne alle de nåværende konfigurerte reglene, kan du utstede flush-kommandoen.

iptables -F

.post-innhold .inngangs-bunntekst

Iptables Walkthrough (Linux Firewall)

Introduction To Linux IPTables

Introduction To Linux Firewall

Using `iptables` On Linux

Iptables Firewall Examples (ITS335, L23, Y14)

07 Iptables Firewall Rules

Firewalling In Linux Using IPtables Sp8scorp

Introduction To Linux: #15 - Iptables

Introduction To Iptables

Introduction To IPTables

Linux Firewall Configurations - Intro To Firewalld (RHCE Topic)

Linux Iptables - Configuring And Implementing Linux Iptables - Learn About Ip Values And Ranges #41

Advanced Linux Firewall Config. With Firewalld Rich Rules And IPset - Rich Rules + Ipset

Ubuntu Server 18.04 Administration Guide Part 11 - Configuring Firewall Rules With UFW

Intro To IPTables With Jason

Understand The Security At OS & Network Level | Configure Linux Firewall | DevOps Tutorial | Edureka


Personvern og sikkerhet - Mest populære artikler

Hvordan sette opp og bruke Google Titan Key Bundle

Personvern og sikkerhet Sep 6, 2025

UCACHED INNHOLD Google ga nylig ut et sett med to-faktor autentisering (2FA) sikkerhetsnøkler kalt Titan Security Bundle . Dette settet inkluderer en tradisjonell ..


Slik deaktiverer du midlertidig berørings-ID og krever passord i iOS 11

Personvern og sikkerhet Oct 3, 2025

UCACHED INNHOLD iOS 11 har en ny funksjon som lar deg diskret deaktivere Touch ID-opplåsingsfunksjonaliteten, noe som krever PIN-kode for tilgang til enheten. Her er hvorfor det ..


Slik sletter du et innlegg fra Instagram-kontoen din

Personvern og sikkerhet Apr 5, 2025

UCACHED INNHOLD Det er mange grunner til at du kanskje vil fjerne et innlegg fra Instagram-kontoen din. Kanskje det er et gammelt bilde som ikke passer inn i alle flotte b..


Hvordan sikre sensitive filer på din PC med VeraCrypt

Personvern og sikkerhet Jul 19, 2025

Hvis du leter etter en enkel og kraftig måte å kryptere alt fra systemstasjoner til backup-plater til alt i mellom, VeraCrypt er et åpen kildekodeverktøy som hjel..


Hvordan lage "Games for Windows LIVE" -spill som kan spilles på Windows 10

Personvern og sikkerhet Jul 5, 2025

Mange gamle PC-spill ser ut til å fungere bra på Windows 10, men spill som bruker Microsofts mislykkede Games for Windows LIVE (GFWL) -plattform er et unntak. De gi..


Slik blokkerer du nettsteder på ruternivå for nettverksfiltrering

Personvern og sikkerhet Nov 22, 2024

UCACHED INNHOLD Et omfattende nettverksfilteringssystem er overkill hvis alt du vil gjøre er å blokkere en håndfull nettsteder. Les videre når vi viser deg hvordan du - med in..


Spør How-To Geek: Klone en disk, endre størrelse på statiske Windows og opprett systemfunksjonssnarveier

Personvern og sikkerhet Jan 10, 2025

UCACHED INNHOLD Denne uken ser vi på hvordan man kloner en harddisk for enkel sikkerhetskopiering eller duplisering, endre størrelse på statiske statiske vinduer og lage snarve..


4 måter å gjøre UAC mindre irriterende på Windows 7 / Vista

Personvern og sikkerhet Sep 3, 2025

UCACHED INNHOLD Den største enkeltirritasjonen i Windows 7 og Vista er UAC-systemet (User Account Control), spesielt for folk som gjør mye finjustering. Når du prøver å gjøre konfigur..


Kategorier