La ricerca sull'analisi della sicurezza di rete, firewall (Firewall) sono spesso l'accento, la funzione di base è quella di filtrare e può bloccare la rete locale o una certa parte della rete e dei dati Internet Transfer tra la (pacchetto di dati). È in realtà un tratto di dati a pacchetto, che comprende anche utilizzato per inviare ai loro destinazione le informazioni necessarie.
Si può pensare di un pacchetto di pacchetti di dati: i pacchetti di dati in dati a pacchetto stesso, mentre le buste vengono tutti utilizzati per inviare queste informazioni per le macchine a destra e le corrette procedure alla lettera in aumento, anche contiene anche un informazioni riguardanti l'indirizzo di ritorno. I lavori nel loro processo di filtro specifico, il firewall si farà carico prima di accesso interno da l'accesso alla rete Internet e la rete interna da Internet routing impostazioni.
La nostra impressione è che il firewall precedente progettati per filtrare alcuni pacchetti illegale, o perché il uno di un tipo noto come pacchetto firewall filtrante con esso? Development to il presente, la sua funzione è crescente, non solo a filtrare i pacchetti di dati, traduzione degli indirizzi di rete può essere fatta per gli agenti, ecc. Linux kernel 2.4 firewall attuazione netfilter è così.
Vediamo la posizione del firewall, la mia comprensione è che o si tratta di una macchina installata in un personal firewall, o installato in una macchina a una rete locale per fornire funzioni di gateway e quindi tipo di situazione è la seguente :
diagramma coppia riassume le NetFilter installato il gateway della struttura del telaio, si può vedere dalla figura di un pacchetto può passare attraverso il sentiero, che utilizzano [] ha esteso l'Oriente, conosciuto come il punto di controllo, quando i pacchetti di dati arrivano al punto, noi ci fermiamo e alcuni controlli. Qui il nome del punto di controllo è usato nel nome della iptables, specifiche per il NetFilter può venire con il gancio cosiddetto (Hook), funzione di.
NetFilter riassumere, ha le seguenti tre funzioni fondamentali:
1, il filtraggio dei dati (tabella filtro)
2, Network Address Translation (tabella nat)
3, elaborazione dei dati a pacchetto (tabella mangle)
In base a queste tre funzioni, queste cinque punti di controllo sono stati classificati per funzione. Dato che ogni funzione corrisponde ad un tavolo in netfilter in, e ogni punto di controllo ci sono una serie di regole di corrispondenza, these regole form una catena, so vi è la seguente dichiarazione: "NetFilter è una tabella di contenitore, il tavolo è uno contenitore catena, la catena la regola del contenitore "
Una catena (catena) è in realtà una serie di regole (regole) in una lista di controllo (checklist). Ogni catena può avere una o più regole, ciascuno definito da una regola come this, "Se la riga di intestazione con queste condizioni, in modo processing the pacchetto." Quando un pacchetto arriva a una catena, il sistema partirà dalla prima regola i controlli per vedere se soddisfa le condizioni definite dalle norme: se il sistema si baserà sui metodi definiti dal processo normativo del pacchetto di dati, se non soddisfatti ha continuato a cercare la regola successiva. Infine, se il pacchetto non soddisfa nessuna delle la regola della catena, il sistema è pre-definite in base alla strategia della catena (politiche) per gestire il pacchetto.
E un comando iptables, che consiste essenzialmente delle seguenti cinque parti: vogliono lavorare in quale forma, che spera di usare la catena del tavolo, ha svolto le operazioni (inserimento, aggiungere, eliminare, modificare), gli obiettivi delle norme specifiche match i movimenti del pacchetto e le condizioni .
Sintassi di base: iptables-t table-match target dell'operazione catena-j (es) (la tabella predefinita di sistema per il "filtro")
Il funzionamento di base è la seguente:
-Una coda per aggiungere una regola nella catena
-I inserisce la regola
-D regola di eliminazione
-R sostituzione regola
-L riporta le norme
Azione di base oggettiva, che si applica a tutti i link:
Accettare il pacchetto ricevuto
Scartare il pacchetto DROP
QUEUE coda il pacchetto di user space
RETURN per tornare alla chiamata precedente catena
foobar catena definita dall'utente
Condizione di base corrispondenti, che si applica a tutti i link:
-P specificare il protocollo (TCP / ICMP / UDP /...)
-S indirizzo sorgente (indirizzo IP / masklen)
-D indirizzo di destinazione (indirizzo IP / masklen)
-I pacchetti interfaccia di input
-O pacchetto interfaccia di uscita
Extended condizioni corrispondenti:
Porta di origine TCP ----- corrispondenza, porto di destinazione e tcp qualsiasi combinazione di tag, TCP opzioni.
UPD ----- corrispondere alla porta sorgente e porta di destinazione
Match ICMP Tipo ICMP ----
MAC ----- ricevere i dati corrispondenti mac address
MARK ---- partita nfmark
Owne ---- (solo per i pacchetti generati localmente) per compensare gli ID utente, ID gruppo, ID di processo e ID di sessione
LIMITE --- pacchetti che corrispondono un determinato periodo di vincoli di tempo. Questa espansione corrisponde al flusso di dati per la restrizione è molto utile attacco DOS.
STATO --- corrispondere al particolare stato di pacchetti (tracking sottosistema di connessione stabilita dallo Stato), gli stati possibili sono:
NON VALIDO (non corrisponde ad alcun collegamento)
ESTABLISHED (appartenente ad un collegamento è stato stabilito pacchetti)
NEW (la connessione dati a pacchetto)
Connessi (e una connessione già stabilita con alcuni pacchetti di dati correlati, come ad esempio un messaggio di errore ICMP o ftp connessione dati)
TOS - match l'header IP TOS valore del campo.