Kom i gang med Iptables: Hold dårlige mennesker (og roboter) utenfor serveren din

Formidling: Din støtte hjelper med å holde nettstedet i gang! Vi tjener et henvisningsgebyr for noen av tjenestene vi anbefaler på denne siden.


Iptables er et Linux-bruker-rom-applikasjonsprogram som brukes til å konfigurere IPv4-tabeller som brukes av Linux-kjernebrannmuren. Iptables er inkludert i de fleste Linux-distribusjoner som kjører på kernel 2.4.x eller nyere.

Iptables er et ekstremt fleksibelt brannmurverktøy på kommandolinjen, som bruker policy-kjeder for å tillate eller blokkere trafikk. Det er tydelig målrettet mot systemadministratorer, siden det krever høye privilegier for å kjøre, og må utføres av brukerroten.

Kort historie

Utviklingen av iptables-prosjektet startet i 1998, spisset av Rusty Russell, en australsk programvareutvikler. Iptables ble opprettet som en etterfølger av ipchains, et tidligere Linux-brannmurverktøy også opprettet av Russell.

Da prosjektet utvidet, grunnla Rusty Russell Netfilter Core Team i 1999. Det produserte Netfilter Linux-rammeverket og iptables, og ga dem ut under GNU General Public License. I mars 2000 ble Netfilter og iptables slått sammen til Linux kernel mainline.

Iptables Funksjoner og design

Ulike kjernemoduler brukes til forskjellige protokoller – iptables gjelder IPv4, ip6tables til IPv6, arptables for ARP, og ebtables for Ethernet-rammer.

Iptables brukes til å sette opp, vedlikeholde og inspisere tabellene til IPv4-pakkefilterreglene i Linux-kjernen.

Flere forskjellige tabeller kan defineres, hvor hver tabell inneholder et antall innebygde kjeder eller brukerdefinerte kjeder. Hver kjede er et sett med regler som kan matche et sett med pakker, mens hver regel spesifiserer hva de skal gjøre med en pakke som samsvarer. Dette kalles et mål.

Hvis en pakke samsvarer med regelen, bestemmes skjebnen av verdien av målet: ACCEPT lar pakken gå gjennom, DROP dropper pakken, QUEUE passerer pakken til brukerområdet, RETURN gjenopptar neste regel i forrige anropskjede.

Opptil fem uavhengige tabeller er tilgjengelige, avhengig av kjernekonfigurasjon og aktive moduler:

  • Filter er standardtabellen, som inneholder de innebygde kjedene INPUT, FORWARD og OUTPUT.
  • Nat brukes når en pakke som oppretter en ny forbindelse oppstår, som inneholder de innebygde kjedene PREROUTING, OUTPUT and POSTROUTING.
  • Mangle – brukes til spesialisert pakkeendring, som inneholder de innebygde kjedene PREROUTING, INPUT, OUTPUT, FORWARD, and POSTROUTING.
  • brukes til å konfigurere unntak fra tilkoblingssporing kombinert med NOTRACK-målet, og gir innebygde kjeder PREROUTING og OUTPUT.
  • Sikkerhet brukes til obligatoriske nettverksregler (MAC), med INPUT, OUTPUT og FORWARD innebygde kjeder.

Alternativene som er anerkjent av iptables er delt inn i kommandoer, parametere og andre alternativer.

Bruke Iptables

Iptables er et kommandolinjeverktøy forhåndsinstallert på de fleste Linux-distribusjoner. I tilfelle du trenger å oppdatere eller installere iptables, kan du bruke følgende kommando:

sudo apt-get install iptables

Du bør være ekstremt forsiktig hvis du er logget inn på en ekstern server, og du konfigurerer dens iptables-regler, fordi en feil kommando kan låse deg ut for godt, og kanskje må fikses manuelt på serveren.

Vi vil demonstrere noen få vanlige og enkle kommandoer som brukes til å konfigurere iptables-regler. Hvis du planlegger å bruke avanserte funksjoner i iptables, bør du sjekke noen av ressursene på iptables vi gir nedenfor.

Du kan liste opp de for øyeblikket konfigurerte iptables-reglene ved å bruke:

iptables –L

I de fleste tilfeller vil du at systemet ditt skal godta tilkoblinger som standard ved å bruke disse kommandoene:

iptables –policy INPUT ACCEPT
iptables – politisk UTGANGSAKT
iptables – politisk FREMTIL ACCEPT

Etter dette kan du bruke iptables for å nekte tilkoblinger fra bestemte IP-adresser eller porter, slik:

iptables -A INPUT -s 192.168.10.10 -j DROP

Eller du kan blokkere tilkoblinger fra en rekke IP-adresser som dette:

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

I noen spesifikke tilfeller kan du bruke den motsatte tilnærmingen til den som er beskrevet ovenfor. Du kan nekte alle tilkoblinger og manuelt spesifisere de du vil tillate å koble til. Dette oppsettet kan brukes til servere med sensitive data som er koblet til en unik IP-adresse.

iptables – politisk INPUT DROP
iptables – politisk OUTPUT DROP
iptables – politisk FORDARD DROP
iptables -A INPUT -s 192.168.10.10 -j ACCEPT

Det er viktig å merke seg at alle endringer som er gjort i iptables-reglene, ikke vil bli lagret automatisk. Du må lagre endringene manuelt ved å bruke en kommando som kan variere avhengig av distribusjon. Dette er Ubuntu-kommandoen:

sudo / sbin / iptables-save

I tilfelle du har glemt å lagre endringene du gjorde i iptables, vil de gå tapt neste gang iptables-tjenesten startes på nytt.

Du kan også bruke flush-kommandoen til å fjerne alle konfigurerte regler:

iptables -F

Iptables Resources

Det er mange ressurser for iptables online, noe som er forståelig siden iptables er inkludert i de fleste Linux-distribusjoner. Å lære og bruke iptables bør ikke være et problem, spesielt hvis du er avhengig av kvalitetsressurser som disse:

  • Iptables Official Manual er detaljert og gir en nyttig referanse for iptables kommandoer og parametere.
  • Linux 2.4 Pakkefiltrering HOWTO Documentation er en veldig detaljert beskrivelse av pakkefiltrering skrevet av Rusty Russell. Av spesiell interesse er delen Bruke Iptables.
  • Iptables How To er et fint gjennomgang av iptables.

Iptables Books

Det er ikke en overflod av bøker som omhandler iptables, selv om iptables er nevnt i mange bøker skrevet på Linux-nettverk og brannmurer.

Med mange kvalitetsressurser på nettet, er det ikke rart at det ikke er flere bøker som omhandler iptables. Derfor tegnet vi bare en bok om iptables:

  • Linux Iptables Pocket Reference av Gregor Purdy: Denne lommereferansen vil hjelpe deg i de kritiske øyeblikkene når noen ber deg om å åpne eller lukke en port i en hast, enten for å aktivere litt viktig trafikk eller å blokkere et angrep. Boken vil holde den subtile syntaksen rett og hjelpe deg med å huske alle verdiene du må legge inn for å være så sikre som mulig.

Konklusjon

Iptables er et mye brukt verktøy, så det er absolutt verdt å mestre hvis mye av arbeidet ditt dreier seg om Linux-baserte servere. Heldigvis betyr dens popularitet at iptables fortsatt utvikles aktivt, og nye versjoner introduseres med jevne mellomrom.

Det betyr også at det ikke er noen mangel på iptables-ressurser av høy kvalitet på nettet, men hvis du liker det krøllet av papir, vil du ha vanskelig for å finne iptables-bøker. Likevel utgjør det store volumet av digitale iptables-ressurser mer enn mangelen på pocket-ressurser.

Iptables er et kraftig, men likevel brukervennlig verktøy. Hver håper Linux-guru skal mestre den.

Videre lesing og ressurser

Vi har flere guider, veiledninger og infografikk relatert til datamaskinbruk:

  • Linux-programmering Introduksjon og ressurser: dette dype dykket i Linux-programmering kommer ned i kjernen der all handlingen er.
  • Nettverksprogrammering med internettkontakter: lær alt om nettverk på internett.

Unix programmeringsressurser

Hvis du virkelig kommer inn i Linux og vil begynne å lage programmer for det, har vi et flott sted å begynne å lære: Unix Programming Resources.

Den ultimate listen over verktøy for nettredaktører A-Z
Unix programmeringsressurser

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