IPTABLES i Linux 2,6 + Kernel

Indledning

Dette dokument er at give en kort oversigt over iptables, de involverede begreber, og den måde, som disse begreber er implementeret i denne Firewall Generator.

IPTables erstattet IPChains som firewall valg i 2,4 Linux-kernen.

IPChains er en statsløs firewall. Den undersøger hver pakke som en separat enhed og hver pakke skal derfor have en regel forbundet med det.

IPTables er en stateful firewall. Den sporer tilstanden af ??en forbindelse i sin levetid. Derfor hver pakke kan være forbundet med en tilstand. Enten forsøger at etablere en ny forbindelse, er det del af en etableret forbindelse eller relateret til en forbindelse, eller pakken er i en ugyldig tilstand. En statsløs firewall kan omgås, hvis en tilladt protokol skimtes. En stateful firewall, ved sammenligning, registrerer, at pakken ikke er en del af en igangværende session og kan konfigureres til at forhindre indrejse på pakken. En stateful firewall er derfor mere sikker end en statsløs firewall. Da mange af reglerne kan stole på staten af ??pakken, kræver en stateful firewall generelt færre regler end en statsløs firewall. Dette reducerer risikoen for menneskelige fejl samt.

En iptables firewall består af flere borde, hver med en standard-politik og builtin kæder af regler. Kan eventuelt oprettes desuden beslutte kæder i hver tabel. Forskellige tabeller og kæder gennemløbes i henhold til kilde og destination af pakken. En pakke, der er modtaget via en netværksgrænseflade på systemet går gennem en sekvens af trin, før det håndteres lokalt eller videresendes til en anden vært.

Tabel Beskrivelser

filter Tabellen

filter Tabellen er standard tabel for enhver regel. Det er der, hvor hovedparten af ??arbejdet i en iptables firewall opstår. Undgå filtrering i enhver anden tabel, som det ikke kan arbejde. Det har tre almindeligt anvendte builtin kæder. Disse kæder er INPUT, OUTPUT, og FORWARD. Pakker beregnet for værten krydse INPUT kæden. Pakker skabt af værten til at sende til et andet system krydse OUTPUT kæden. Pakker, der modtages af værten, der er bestemt til en anden vært krydse FORWARD kæden.

nat Tabellen

Network Address Translation eller NAT-tabel anvendes til at oversætte kilden eller felt destination i pakker. Et system med en statisk IP skal bruge Source Network Address Translation (SNAT), da den bruger færre systemressourcer. Men iptables understøtter også værter med en dynamisk forbindelse til internettet med en maskerade-funktion. Masquerade bruger nuværende adresse på nterface for adresse oversættelse.

mangle Tabellen

The mangle table is used to alter certain fields in the headers of IP packets. It can be used to change the Time to Live or TTL, change the Type of Service or TOS field, or mark packets for later filtering.

Packet Path

Videresendte Pakker

En pakke, der er beregnet for en anden vært kaldes en videresendt pakke. Det første passerer gennem PREROUTING kæden i mangle tabellen. Derefter krydser PREROUTING kæde i NAT tabellen. Det er her, DNAT reglerne anvendes. Pakken derefter gennemløber FREM kæde i filteret tabel. Dette er den eneste kæde, hvor bør anvendes filtrering regler for pakken. Pakken passerer derefter til POSTROUTING kæden i NAT tabel. I denne kæde, er SNAT og maskeret regler anvendes. Pakken passerer derefter ud udgående grænseflade.

Modtagne Pakker

Pakker adresseret til localhost først krydse PREROUTING kæden i mangle tabellen. Næste de passerer gennem PREROUTING kæde i NAT tabellen. Det er her, DNAT reglerne anvendes. Efter DNAT regler, skal der gøres en routing beslutning. Hvis pakken virkelig er bestemt til localhost er kæden INPUT i filteret tabel gennemløbes. Alle filtrering sker i denne kæde. Pakker, der er accepteret overføres derefter til den lokale proces eller anvendelse, som det er beregnet til.

Sendte Pakker

Pakker, der genereres på localhost først krydse OUTPUT kæden af mangle tabellen. Derefter føres de gennem OUTPUT kæden af NAT tabellen. Dernæst de passerer gennem kæden OUTPUT af filteret tabellen. Når pakken er gået disse kæder, skal systemet bestemme, hvor pakken skal lægges. Når denne beslutning er truffet, pakken krydser POSTROUTING kæde i NAT tabellen. Det er her, SNAT og maskeret reglerne anvendes. Pakken passerer derefter gennem en passende netværksinterface.

Firewall Generator

Firewall scripts genereres af dette program bruger flere konventioner. Filter table regler er for det meste delt mellem flere brugerdefineret regel kæder. Formålet er at gøre firewallen lettere at følge og at minimere antallet af regler enkelte pakke må krydse. Dårlige pakker defineres som pakker i en INVALID tilstand eller andre end SYN pakker, der er i en NEW tilstand pakker. Pakker, der i en ESTABLISHED eller RELATED tilstand accepteres. De er en del af en igangværende session. Indgående TCP, UDP og ICMP-pakker er gået til en separat kæder til at afgøre, om de skal accepteres. Som standard er de accepteret fra det interne interface og faldt fra den eksterne grænseflade. TCP anmodninger fra det interne netværk til videresendelse er passerer gennem en udgående kæde til at se om det skulle blive afvist. Som standard er disse anmodninger accepteres.

Redhat installationsvejledning

  1. Sørg for, at ipchains ikke starter automatisk:

    chkconfig --level 0123456 ipchains off

    Dette vil sikre, at de ipchains init.d script ikke er knyttet til en S-fil i nogen af rc mapper.
  2. Stop ipchains hvis det kører:

    service ipchains stop
  3. Udfør lsmod for at se, om ipchains kerne modulet stadig er indlæst. Hvis det er, brug rmmod at losse det.
  4. Har systemet forbinde iptables init.d startup scriptet ind køre stater 2, 3 og 5:

    chkconfig --level 235 iptables on
  5. Gem dette script og udføre den til at indlæse regelsæt fra denne fil. Du kan være nødt til at køre dos2unix kommando på den for at fjerne linjeskift.
  6. Gem regelsæt til /etc/sysconfig/iptables. Dette kan gøres på to måder:

    service iptables save
    iptables-save > /etc/sysconfig/iptables
  7. Det regelsæt vil blive genoprettet af /etc/init.d/iptables script på boot.

BEMÆRK: /etc/init.d/iptables script kan modificeres til at køre dette script i stedet. Hvis du gør det, skal du gemme en kopi, så du kan genanvende dine ændringer efter opgradering af iptables pakken. Fordelen ved at bruge dette script for den løbende drift af firewall er det giver dig større kontrol over de moduler og regelsæt, der anvendes. Ovenstående er enklere, dog.

Luk vindue