Dybde analyse av Linux brannmur



Forskning på analyse av nettverkssikkerhet, brannmur (Firewall) er ofte på vekt, de grunnleggende funksjon er å filtrere det og kan blokkere det lokale nettverket eller en bestemt del av nettverket og Internett dataoverføring mellom (datapakker). Er faktisk en del av pakkedata, som også inkluderer brukes til å sende dem til deres destinasjon ved den nødvendige informasjonen.

Du kan tenke på en pakke datapakker: datapakker i pakkedata seg selv, mens konvoluttene er alle brukt til å sende denne informasjonen til høyre maskiner og riktig prosedyrer til brevet oppgangen, den også inneholder også en informasjon om returadresse. Arbeid i deres konkrete filtreringen prosessen, vil brannmuren overta før intern tilgang fra nettverket tilgang til Internett og interne nettverk fra Internett-ruting innstillingene.

Vårt inntrykk er at den forrige brannmuren utviklet for å filtrere noe ulovlig pakker, eller hvorfor den ene av en type som kalles pakkefiltrering brannmur med den? Development til i dag, er dens funksjon øker, ikke bare til å filtrere data pakker, Network Address Translation kan gjøres for meglere, mv. Linux kjerne 2.4 brannmur gjennomføringen netfilter er som dette.

La oss se på plasseringen av brannmuren, er min forståelse at det enten er en maskin installert i en personlig brannmur, eller installert på en maskin til et lokalt nettverk for å gi gateway funksjoner, og deretter slags situasjon er vist nedenfor :






Par diagrammet oppsummerer netfilter installert i porten av rammen strukturen, kan sees av figuren en pakke kan gå gjennom banen, som bruker [] forlenges opp i øst, kjent som Check Point, når data pakker kommer til punkt, bør vi stanse opp og noen kontroller. Her navnet på Checkpoint brukes i navnet på iptables, spesielt for netfilter kan komme med den såkalte hook (Hook) funksjon.

Netfilter oppsummere, den har følgende tre grunnleggende funksjoner:

1, data filtrering (filter tabell)

2, Network Address Translation (NAT tabell)

3, datapakke behandling (mangle tabell)

I henhold til disse tre funksjonene, ovenfor fem finne punkter ble klassifisert etter funksjon. Siden hver funksjon tilsvarer en tabell i netfilter i, og hver Check Point er det en rekke av tilsvarende regler, disse reglene danner en kjede, så det er følgende utsagn: "netfilter er den beholderen bordet, er tabellen en kjede beholder, kjetting regelen i beholderen "

En kjede (kjede) er faktisk en rekke regler (regler) i en sjekkliste (sjekkliste). Hver kjede kan ha én eller flere regler, hver definert av en regel som dette, "Hvis hodet tråd med disse forholdene, slik at behandlingen av pakken." Når en pakke ankommer en kjede, vil systemet starte fra første regelen sjekker for å se om den oppfyller betingelsene definert av regler: dersom systemet være definert i samsvar med regelen tilnærming til pakkedata, hvis ikke fornøyd fortsatte å sjekke neste regelen. Til slutt, dersom pakken ikke oppfyller noen av kjeden regelen, vil systemet bli pre-definert i henhold til kjedens strategi (policy) for å håndtere pakken.

Og en iptables-kommando, som i utgangspunktet består av følgende fem deler: ønsker å arbeide i hvilken form, som håper å bruke tabellen kjetting, utført operasjonen (sett inn, legge til, slette, endre), målene i de spesifikke reglene samsvarer med pakken bevegelser og vilkår .

Grunnleggende syntaks: iptables-t-tabellen-Operation kjede-j målet kamp (es) (systemet standard tabellen for "filter")

Grunnleggende bruk er som følger:

-En hale å legge til en regel i kjeden

-Jeg setter regelen

-D slette regelen

-R alternativ til en regel

-L lister reglene

Grunnleggende objektive handling, som gjelder for alle koblinger:

ACCEPT pakken mottatt

Kast pakken DROP

QUEUE kø pakken til bruker plass

RETURN for å gå tilbake til forrige samtalen Chain

foobar brukerdefinerte kjeden

Grunnleggende matchende tilstand, som gjelder for alle koblinger:

-P spesifisere protokoll (tcp / icmp / UDP /...)

-S kilde adresse (IP adresse / masklen)

-D destinasjon adresse (IP-adresse / masklen)

-I pakken inngang grensesnitt

-O pakke utgang grensesnitt

Utvidet matchende vilkår:

TCP ----- matchende kildeport, lossehavn, og tcp alle kombinasjoner av kode, tcp alternativer.

UPD ----- samsvarer kilden port og lossehavn

Match ICMP type ICMP ----

MAC ----- motta data matchende mac-adresse

MARK ---- match nfmark

OWNE ---- (gjelder kun lokalt generert pakken) for å matche bruker-ID, gruppe-ID, prosess-ID og Session ID

GRENSE --- pakker matchende en bestemt tidsperiode begrensninger. Denne utvidelsen samsvarer med dataflyten for begrensning er svært nyttig dos angrep.

STATE --- matcher spesiell tilstand av pakker (tilkobling sporing delsystem bestemmes av staten), mulige statuser er:

UGYLDIG (ikke med noen tilkobling)

Etablert (tilhørende en kobling er etablert pakker)

NY (forbindelsen mellom avsender)

RELATERTE (og en allerede etablert kontakt med visse relaterte data pakker, for eksempel en ICMP feilmelding eller ftp datatilkobling)

TOS - samsvarer med IP-hodet Betingelsene feltverdi.