IPFWADM(8)

NOME
ipfwadm - Amministrazione del firewall IP e dell'accounting

SINTASSI
ipfwadm -A comando parametri [opzioni]
ipfwadm -I comando parametri [opzioni]
ipfwadm -O comando parametri [opzioni]
ipfwadm -F comando parametri [opzioni]
ipfwadm -M [ -l | -s ] [opzioni]

DESCRIZIONE
Ipfwadm viene usato per preparare, gestire ed ispezionare il firewall IP e le regole di accounting (conteggio d'uso) nel kernel di Linux. Queste regole sono divise in 4 differenti categorie: accounting dei pacchetti IP, firewall di ingresso, firewall di uscita e firewall passante (forwarding). Per ciascuna di queste categorie il kernel ospita una lista di regole separata. Vedere ipfw(4) per ulteriori dettagli.

OPZIONI
Le opzioni riconosciute da ipfwadm possono essere divise in vari gruppi.

  CATEGORIE
Le seguenti opzioni vengono usate per selezionare la categoria di regole alla quale va applicato il comando corrente:

-A [direzione]
    Regole di accounting IP. Si può facoltativamente specificare una direzione (in, out, or both), indicando se si vogliono contare solo i pacchetti entranti, solo quelli uscenti o entrambi La direzione di default è both.

-I  Regole per il firewall di ingresso (pacchetti ricevuti da questo host).

-O  Regole per il firewall di uscita [NdT output] (pacchetti trasmessi da questo host).

-F  Regole per il firewall passante [NdT forwarding] (pacchetti non originati nè destinati a questo host).

-M  Amministrazione dell'«IP masquerading». Questa categoria può solo essere usata in combinazione con il comando -l (list: elenca) oppure -s (set timeout values: seleziona i tempi limite).

Bisogna specificare una e solo una delle opzioni appena elencate.

  COMANDI
Le opzioni descritte qui specificano quale azione deve essere effettuata. Solo una di esse può essere specificata sulla linea di comando, a meno la descrizione dell'opzione dica diversamento.

-a [policy]
    Append: aggiungi una o più regole alla fine della lista selezionata. Per la lista di regole di accounting, non occorre specificare alcuna "policy" (comportamento). Per le liste di firewall bisogna speficare uno dei seguenti comportamenti: accept, deny, or reject. Quando i nomi associati al mittente e al destinatario ri riferiscono a più di un indirizzo IP, il programma inserisce una regola per ogni possibile combinazione di indirizzi.

-i [policy]
    Insert: inserisce una o più regole all'inizio della lista selezionata. Vedere la descrizione del comando -a per ulteriori dettagli.

-d [policy]
    Delete: cancella una o più voce dalla lista selezionata. La semantica è uguale a quella dei comandi di aggiunta/inserzione. I parametri specificati dovranno corrispondere esattamente ai parametri dati al comando di aggiunta o di inserzione, altrimenti non verrà trovata alcuna corrispondenza e la regola non verrà rimossa dalla lista. Viene cancellata solo la prima regola che corrisponde a quella specificata.

-l  List: elenca tutte le regole nella lista selezionata. Questo comando può essere combinato con il comando -z (ripristina i contatori a zero). In questo caso, i contatori di pacchetti e di byte verranno ripristinati a zero immediatamente dopo aver stampato i loro valori correnti. A meno che l'opzione -x sia presente, i contatori di pacchetti e di byte (se stampati) saranno mostrati come numeroK o numeroM, dove 1K significa 1000 e 1M significa 1000K (arrotondati al valore intero più vicino). Vedere anche le opzioni -e e -x per ulteriori informazioni.

-z  Zero: azzera i contatori dei pacchetti e dei byte per tutte le regole nella lista selezionata. Questo comando può essere combinato con il comando -l (list).

-f  Flush: rimuove tutte le regole nella lista di regole selezionata.

-p policy
    Cambia il comportamento di default per il tipo di firewall selezionato. Il comportamento deve essere uno tra accept, deny, e reject. Il comportamento di default viene usato quando non si trovano regole che corrispondano al pacchetto in questione. Questa operazione è solo valida per i firewall, cioè per le categorie -I, -O, e -F.

-s tcp tcpfin udp
    Cambia i valori di timeout usati per la mascheratura. Questo comando accetta sempre 3 parametri, che rappresentano i valori limite dei tempi di risposta in secondi (anche detti "timeout") per le sessioni TCP, le sessioni TCP che hanno già ricevuto un pacchetto FIN, e i pacchetti UDP. Un valore di timeout di 0 significa che il valore attuale non viene modificato. Questa operazione può solo essere specificata nella categoria -M.

-c  Controlla se questo pacchetto sarebbe accettato, scartato o rifiutato dal tipo di firewall selezionato. Questa operazione è solo valida per i firewall, cioè in combinazione con l'opzione -I, -O, o -F.

-h  Help. Restituisce una descrizione della sintassi dei comandi, al momento tale descrizione è molto concisa.

  PARAMETRI
I seguenti parametri possono essere usati in combinazione con i comandi "append", "insert", "delete" o "check":

-P protocollo
    Il protocollo cui questa regola si riferisce, o quello del pacchetto da controllare. Il protocollo specificato può essere uno tra tcp, udp, icmp, oppure all. Il protocollo all corrisponde a tutti i protocolli, ed è il valore di default quando questa opzione è omessa. All può solo essere usato in combinazione con il comando "check".

-S indirizzo[/maschera] [porta ...]
    Specificazione del mittente (facoltativa). Indirizzo può essere un nome di calcolatore, un nome di rete o un indizzo IP numerico. La maschera può essere o una "netmask" o un semplice numero che specifichi il numero di uni che appaiono alla sinistra nella maschera. Perciò, una maschera pari a 24 è equivalente a 255.255.255.0.

    La specifica del mittente può includere una o più specifiche di porta o tipi ICMP. Ognuna di esse può essere o un nome di servizio, un numero di porta o un tipo ICMP (numerico). Nel seguito di questo paragrafo, il termine porta indica o una specifica di porta o un tipo ICMP. Una di queste specifiche può essere un intervallo di porte, nel formato porta:porta. Inoltre, il numero totale di porte specificate insieme all'indirizzo del mittente o del destinatario non deve essere maggiore di IP_FW_MAX_PORTS (al momento 10). In questo conteggio, un intervallo di porte conta come 2 porte.

    I pacchetti che non siano il primo frammento di un pacchetto TCP, UDP o ICMP vengono sempre accettati dal firewall. Al fine dell'accounting, questi ulteriori frammenti sono trattati in modo speciale, in modo da essere in grado di contarli in qualche modo. Il numero di porta 0xFFFF (65535) viene usato il secondo frammento e successivi di pacchetti TCP o UDP. Ai fini dell'accounting i pacchetti verranno trattati come se entrambi i numeri di porta fossero 0xFFFF. Il numero 0xFF (255) è usato per il secondo frammento e i successibi relativi a pacchetti ICMP. Ai fini dell'accounting questi pacchetti verranno trattati come se i loro tipi ICMP fossero 0xFF. Si noti che il comando e il protocollo specificati possono comportare delle restrizioni nelle porte specificate. Le porte possono essere specificate solo in combinazione con i protocolli tcp, udp, o icmp.

    Quando questa opzione è omessa, verrà usata la coppia indirizzo/maschera 0.0.0.0/0 (che corrisponde ad ogni indirizzo) come indirizzo del mittente. Questa opzione è obbligatoria con il comando "check", e in questo caso deve essere specificata solo una porta.

-D indirizzo[/maschera] [porta ...]
    Indirizzo di destinazione (facoltativo). Vedere la descrizione dell'opzione -S (source) per una descrizione dettagliata della sintassi, valori di default e altri dettagli. Si noti che i tipi ICMP non sono permessi in combinazione con l'opzione -D: i tipi ICMP possono solo essere specificati dopo l'opzione -S.

-V indirizzo
    Indirizzo opzionale di una interfaccia attraverso la quale un pacchetto è stato ricevuto o attraverso la quale un pacchetto sta per essere spedito. Indirizzo può essere un hostname o un semplice indirizzo IP. Quando un nome di host viene specificato, deve corrispondere ad un solo indirizzo IP. Quando questa opzione viene omessa, si assume per il suo valore l'indirizzo 0.0.0.0, che ha un significato speciale e corrisponde ad ogni indirizzo di interfaccia. Per il comando "check" questa opzione è obblgatoria.

-W nome
    Nope opzionale di una interfaccia attraverso la quale un pacchetto è stato ricevuto o attraverso la quale un pacchetto sta per essere spedito. Quando questa opzione viene omessa, si assume per il suo valore la stringa vuota, che ha un significato speciale e corrisponde ad ogni indirizzo di interfaccia. Per il comando "check" questa opzione è obblgatoria.

  ALTRE OPZIONI
Le seguenti opzioni aggiuntive possono venire specificate:

-b  Modo bidirezionale. Questa regola corrisponderà a pacchetti IP transitanti in entrambe le direzioni. Questa opzione è solo valida insieme ai comandi "append", "insert" e "delete".

-e  Output esteso. Questa opzione fa si che il comando "list" mostri anche l'indirizzo dell'interfaccia usata e le opzioni associate alla regola (se ce ne sono). Per le liste del firewall lists, saranno mostrati anche i contatori dei pacchetti e dei byte (normalmente questi contatori vengono solo mostrati per le regole di accounting) e le maschere TOS. Quando usata in combinazione con -M, verrà stampata anche l'informazione riguardante i numeri di sequenza "delta".

-k  Riferisci la corrispondenza solo a pacchetti TCP con il bit ACK attivo (questa opzione verrà ignorata per pacchetti di altri protocolli). Questa opzione è solo valida insieme ai comandi "append", "insert" o "delete".

-m  Opera il masquearading sul pacchetti accettati per la ritrasmissione. Qunado questa opzione è specificata, i pacchetti accettati da questa regola saranno mascherati come se provenissero dal calcolatore locale. Inoltre, i pacchetti di risposta saranno riconosciuti come tali e verranno de-mascherati automaticamente, senza passare per le regole del firewall passante. Questa opzione è valida solo nelle regelo del firewall passante (forwarding firewall) con policy accept (o quando si specifica accept come policy di default) e può solo essere usata quando il kernel è stato compilato con CONFIG_IP_MASQUERADE.

-n  Stampa numerica. Gli indirizzi IP e i numeri di porta saranno stammati in formato numerico. Normalmente il programma cerca di stamparli come hostname, nome di rete o di servizio, quando ciò è possibile).

-o  Attiva il "logging" dei pacchetti selezionati da questa regola. Quando questa opzione viene attivata per una regola, il kernel stamperà delle informazioni riguardo ad ogni pacchetto cui la regola si riferisce (per esempio, la maggior parte dei campi dell'header IP) tramite printk(). Questa opzione ha effetto solo se il kernel è stato compilato con l'opzione CONFIG_IP_FIREWALL_VERBOSE. Questa opzione è valida solo in combinazione con i comandi "append", "insert" e "delete".

-r [port]
    Ridirigi i pacchetti ad un socket locale. Quando questa opzione è attivata, i pacchetti accettati da questa regola saranno rediretti ad un socket locale, anche se erano destinati ad un altro calcolatore. Se la porta di ridirezione specificata è 0 (valore di default) la porta di destinazione del pacchetto sarà usata come porta dei ridirezione. Questa opzione è valida solo nelle regole per il firewall di ingresso con policy accept e può solo essere usata quando il kernel è stato compilato con CONFIG_IP_TRANSPARENT_PROXY.

-t andmask xormask
    Maschere usate per modificare il campo TOS nell'header IP. Quando un pacchetto viene accettato, con o senza mascheramento, da una regola del firewall, viene operata un'operazione AND tra il suo campo TOS e la prima maschera; viene poi fatta un'operazione XOR tra il risultato e la seconda maschera. Le maschere devono essere specificate come valori ad 8 bit esadecimali. L'opzione è valida solo in combinazine con i comandi "append", "insert" e "delete", senza avere effetto quando viene usata con le regole di accounting e le regole di firewall per scartare o rifiutare un pacchetto.

-v  Stampa prolissa ("verbose"). Stampa informazioni dettagliate sulla regola o pacchetto da inserire, rimuovere o controllare. Questa opzione ha solo effetto con i comandi "append", "insert", "delete" e "check".

-x  Espansione dei numeri. Stampa il valore esatto dei contatori di pacchetti e di byte, invece del numero approssimato a K (multipli di mille) o M (multipli di 1000K). Questa opzione ha solo effetto quando i contatori vengono stampati (vedi anche l'opzione -e).

-y  Seleziona solo i pacchetti TCP con il bit SYN attivo e il bit ACK inattivo (questa opzione sarà ignorata per pacchetti di altri protocolli). Questa opzione è solo valida con i comandi "append", "insert" e "delete".

FILE
/proc/net/ip_acct
/proc/net/ip_input
/proc/net/ip_output
/proc/net/ip_forward
/proc/net/ip_masquerade

VEDERE ANCHE
ipfw(4)

AUTORE
Jos Vos <jos@xos.nl>
X/OS Experts in Open Systems BV, Amsterdam, The Netherlands