Ci sono 10 tipi di persone: chi capisce il sistema binario e chi no!! :)
I SISTEMI LINUX

Iptables: il muro che protegge il pinguino

Il sistema usato da Linux per il filtraggio di pacchetti da e verso la rete è chiamato iptables ora approdato alla nuova versione 6. Il firewall utilizza alcuni punti di controllo sui pacchetti in transito (forward), in arrivo(input) o in uscita(output); sono le cosiddette Chain di iptables. Questi punti di controllo sono:
  • Indirizzo IP
  • Porte di origine e destinazione
  • Protoccollo
Le politiche (policies) adottate per proteggere il proprio computer o la propria rete sono principalmente di due tipi:
  • Policy Accept
  • Policy Drop
Con la prima politica si decide di inserire una regola diversa (vedremo in seguito il metodo per inserirne una) per ogni tipo di pacchetto che si vuole bloccare, mentre tutto il resto sarà accettato; questa politica è fortemente sconsigliata poichè poco pratica, dato che col passare del tempo si dovranno continuare ad aggiungere regole nuove appesantendo il tutto e comunque non essendo mai completamente protetti. La politica Drop, invece, permette di bloccare tutto ciò che non è espressamente lasciato transitare da una specifica regola: questo metodo è di gran lunga il migliore, sia dal punto di vista della sicurezza che della praticità (nonostante qualche difficoltà in più inizialmente).

Qui di seguito ho stilato una lista dei comandi più importanti che mette a disposizione Iptables (è disponibile anche la descrizione dei comandi, da cui è tratta questa lista, dalla pagina del manuale; oppure la più completa descrizione HOWTO)

COMANDI

  • -A, --append
    Append one or more rules to the end of the selected chain. When the source and/or destination names resolve to more than one address, a rule will be added for each possible address combination.
  • -D, --delete
    Delete one or more rules from the selected chain. There are two versions of this command: the rule can be specified as a number in the chain (starting at 1 for the first rule) or a rule to match.
  • -R, --replace
    Replace a rule in the selected chain. If the source and/or destination names resolve to multiple addresses, the command will fail. Rules are numbered starting at 1.
  • -I, --insert
    Insert one or more rules in the selected chain as the given rule number. So, if the rule number is 1, the rule or rules are inserted at the head of the chain. This is also the default if no rule number is specified.
  • -L, --list
    List all rules in the selected chain. If no chain is selected, all chains are listed. It is legal to specify the -Z (zero) option as well, in which case the chain(s) will be atomically listed and zeroed. The exact output is effected by the other arguments given.
  • -F, --flush
    Flush the selected chain. This is equivalent to deleting all the rules one by one.
  • -X, --delete-chain
    Delete the specified user-defined chain. There must be no references to the chain (if there are you must delete or replace the referring rules before the chain can be deleted). If no argument is given, it will attempt to delete every non-builtin chain.
  • -P, --policy
    Set the policy for the chain to the given target. See the section
  • -h
    Help. Give a (currently very brief) description of the command syntax.


UN ESEMPIO SEMPLICE

  • iptables -F INPUT      //puliamo ogni regola pre esistente
  • iptables -F OUTPUT
  • iptables -F FORWARD

  • iptables -P INPUT DROP
  • iptables -P OUTPUT ACCEPT
  • iptables -P FORWARD ACCEPT

  • iptables -A INPUT -s 127.0.0.1 -j ACCEPT      //permette all'host locale di lavorare
  • iptables -A INPUT -s 194.168.0.0/24 -j ACCEPT     //permette dialogo tra i computer di una rete interna
  • iptables -A INPUT -p tcp '!' --syn -j ACCEPT      //per tutte la connessione TCP che iniziano con SYN
  • iptables -A INPUT -p udp --source-port 53 -s server_nomi -j ACCEPT      //accetta i paccetti dai server _nomi (che sono gli indirizzi che si trovano in /etc/resolv.conf; una regola per ognuno)
  • iptables -A INPUT -p tcp --source-port 20 --destination-port 1024: -j ACCEPT      //il traffico FTP passivo


» Torna »
(Ultima modifica: January 17 2008 09:27:16)
NOPROFIT