Diepgaande analyse van de Linux-firewall



Onderzoek naar de analyse van netwerkbeveiliging, firewall (firewall) zijn vaak benadrukt de focus van de basisfunctie is het filteren en kan het lokale netwerk te blokkeren of een gedeelte van het netwerk en internet overdracht van gegevens tussen de (datapakket). Is in feite een deel van de packet-gegevens, die ook gebruikt om hen te sturen naar hun bestemming door de vereiste informatie.

U kunt denken aan een pakket van datapakketten: datapakketten in de packet-gegevens zelf, terwijl de enveloppen zijn allemaal gebruikt om deze informatie te sturen naar de juiste machines en de juiste procedures om de brief van de opkomst, maar ook bevat ook een informatie over het retouradres. Werk in hun specifieke filtering proces, zal de firewall over te nemen voordat de interne toegang via het netwerk toegang tot het internet en het interne netwerk van het internet routing-instellingen.

Onze indruk is dat de vorige firewall ontworpen om een aantal illegale pakketten, of waarom de een van een type bekend als packet filtering firewall mee? Ontwikkeling om de huidige filter, is de functie ervan toeneemt, niet alleen om datapakketjes filter, Network Address Translation kan worden gemaakt voor de agenten, enz.. Linux kernel 2.4 uitvoering Netfilter firewall is als dit.

Laten we eens kijken naar de ligging van de firewall, mijn inzicht is dat ofwel het is een machine geïnstalleerd in een persoonlijke firewall, of geïnstalleerd in een machine op een lokaal netwerk gateway functies te bieden, en vervolgens een dergelijke situatie is hieronder weergegeven :






Paar schema een overzicht van de Netfilter geïnstalleerd in de gateway van het frame, kan worden opgemaakt uit de figuur een pakket kan gaan door het pad, dat [] te gebruiken verlengd tot het Oosten, bekend als de Check Point, wanneer de gegevens op de pakketten aankomen punt, moeten we stoppen en een aantal controles. Hier de naam van het ijkpunt wordt gebruikt in de naam van de iptables, die specifiek zijn voor de netfilter kan komen met het zogenaamde haak (Hoek) functie van.

Netfilter Kortom, het heeft de volgende drie basisfuncties:

1, de gegevens filteren (filter tabel)

2, Network Address Translation (NAT-tabel)

3, data packet processing (mangel tabel)

Volgens deze drie functies, de bovengenoemde vijf punten te controleren werden ingedeeld naar functie. Aangezien elke functie komt overeen met een tabel in netfilter in, en elk van Check Point zijn er een aantal overeenkomende regels, deze regels een keten, dus er is de volgende verklaring: "Netfilter is de container tafel, de tafel is een keten container, ketting de regel van de container "

Een keten (keten) is in feite een aantal regels (voorschriften) in een checklist (controlelijst). Elke keten kan een of meer regels, elk gedefinieerd door een regel als dit, "Als de kopregel met deze voorwaarden, zodat de verwerking van de verpakking." Als een pakket aankomt op een keten, zal het systeem starten vanaf de eerste regel wordt gecontroleerd of het voldoet aan de voorwaarden bepaald door de regels: als het systeem zal worden gebaseerd op de methoden bepaald door de regel proces van de datapakket, indien niet tevreden voortgezet naar de volgende regel te controleren. Ten slotte, als het pakket voldoet aan geen enkele regel van de keten, dan zal het systeem vooraf gedefinieerd aan de hand van de keten 策略 (beleids) 来 proces van het pakket.

En een iptables commando die in feite bestaat uit de volgende vijf onderdelen: willen werken in welke vorm, die hoopt het gebruik van de tabel keten, verricht de operatie (invoegen, toevoegen, verwijderen, wijzigen), de doelstellingen van de specifieke regels van de actie en de bijpassende pakketten voorwaarden .

Basissyntaxis: iptables-t-tabel Operation ketting-j target match (es) (het systeem standaard tabel voor het "filter")

Basis bediening is als volgt:

-A-staart aan een regel in de keten toe te voegen

-Ik steek de regel

D-regel te verwijderen

R-substitutie regel

L-lijst van de regels

Basisdoelstelling actie, die geldt voor alle links:

Accepteer het pakket ontvangen

Gooi het pakje DROP

QUEUE wachtrij het pakket naar user space

RETURN om terug te keren naar de vorige oproep Chain

foobar door de gebruiker gedefinieerde keten

Basic bijpassende voorwaarde, die geldt voor alle links:

-P Specificeer het protocol (TCP / ICMP / UDP /...)

S-source (IP-adres / masklen)

D-adres van bestemming (ip adres / masklen)

Ik packet-input-interface

O-packet-uitgang

Extended matching voorwaarden:

TCP ----- bijpassende source poort, haven van bestemming, en tcp een combinatie van de tag, tcp opties.

UPD ----- overeenkomen met de bron poort en haven van bestemming

Match ICMP type ICMP ----

MAC ----- ontvangen van gegevens overeenkomend MAC-adres

MARK ---- wedstrijd nfmark

OWNE ---- (geldt alleen voor lokaal opgewekt pakketten) om de gebruikers-ID, groep ID, proces ID wedstrijd en Session ID

LIMIT --- pakketten overeenkomen met een bepaalde periode van de tijdsdruk. Deze uitbreiding komt overeen met de gegevensstroom voor de beperking is zeer nuttig DoS aanval.

STAAT --- overeenkomen met de bijzondere toestand van pakketten (aansluiting tracking subsysteem bepaald door de staat), mogelijke toestanden zijn:

Ongeldig (niet overeen met een verbinding)

Vastgesteld (behorend tot een link is gelegd pakketten)

NIEUW (de verbinding datapakket)

Gerelateerd (en een reeds gevestigde verband met bepaalde naburige datapakketjes, zoals een ICMP-foutmelding of een ftp-verbinding)

TOS - overeen met de IP-header TOS veldwaarde.