Settare il firewall con iptables

Il firewall di Linux, Netfilter, utilizza delle regole impostate con Iptables. Con alcune regole bene impostate, si può ottenere una Linux box completamente invisibile (stealth) su Internet. Ecco come fare.

Nota
Desiderate gestire il firewall in modo semplice e veloce da interfaccia grafica? Leggete il post apposito!

fire.jpg

Utilizzare Linux per navigare in sicurezza in Internet è un buon primo passo, ma non basta. Bisogna settare bene il proprio firewall, che è installato di default nella propria distro Ubuntu. Le regole del firewall si definiscono con iptables.

Nel magnifico forum di Ubuntu si trova una marea di informazioni su come settare ogni aspetto del proprio amato sistema operativo, così come informazioni precise su iptables.

Lì ho trovato un topic da cui ho tratto uno script per iptables. Lo script è di Mizar – cui va il mio più bel ringraziamento – che lo ha pubblicato in questo post (mi pare che per poter scaricare l’allegato di quel post bisogna essere registrati). Senza questo script i vari tool di verifica online del proprio sistema mi davano risultati pessimi; con iptables configurato a dovere il sistema risultava stealth e quindi al riparo da malintenzionati.

Pubblico lo script anzitutto per promemoria personale (secondo il fine di questo blog) e a perpetua disponibilità (!) di tutti.

Scaricare il file

Regole Iptables

e calcolarne l’MD5 per verificare che non ci siano state manomissioni dacché è stato messo sul web:

md5sum firewall.tar.gz

Deve restituirvi questa stringa:

3d7389fac90c30195da9b8301e8a9eb8

se è diversa non usate il file e segnalatemi qui la cosa.
Scompattiamo il file (tasto destro ed Estrai qui). Rendiamo eseguibile il file firewall con

chmod 755 firewall

Poi copiamolo nella directory /etc/init.d/

sudo cp firewall /etc/init.d

e facciamo eseguire al sistema ad ogni avvio della macchina:

sudo update-rc.d firewall defaults

Avviamo il firewall in questa sessione con:

sudo /etc/init.d/firewall start

Apriamo il browser e puntiamo su http://www.pcflank.com/ oppure su https://www.grc.com/x/ne.dll?bh0bkyd2. In questi due siti potrete provare se iptables funziona a dovere. Io ho provato e tutte le porte erano Stealth! ;-)

Buon firewall a tutti! :-)

Note
Se volete configurare il firewall per far andare bene Amule, leggete il post apposito.

Autore: Aldo Latino

Aldo Latino usa con entusiasmo Linux nella distribuzione Ubuntu, è un appassionato di WordPress e si diletta a fare il blogger. Ha anche una lista dei desideri. Per altre informazioni visita la sua .

26 pensieri riguardo “Settare il firewall con iptables”

  1. piccola nota per gli utenti con modem usb:
    aprire il file allegato con un editor di testo, per esempio gedit, e modificare la voce eth0 con ppp0, altrimenti non riuscirete a usare la connessione.

  2. Ciao Kr0n1x e grazie 1000 della precisazione! ;)
    Vorrei esplicitarlo meglio.

    Aprite il terminale e scrivete
    sudo gedit /etc/init.d/firewall

    o come avete chiamato il file, ovviamente!
    Vi aprirà gedit con queste righe all’inizio
    #!/bin/bash
    #
    # Firewall personale by Benjamin (Mizar)
    ############################################

    #########################
    # Definizione Variabili #
    #########################
    IPTABLES=”/sbin/iptables”
    IFLO=”lo”
    IFEXT=”eth0″ # Da sostituire con la propria interfaccia: eth0, eth1, ppp0, etc

    Dove dice IFEXT=”eth0″ mettete IFEXT=”ppp0″
    Attenzione alle virgolette! Non fate copia e incolla, ma semplicemente sovrascrivete la parola eth0 con ppp0.

    Salvate e chiudete.
    Poi, sempre da terminale, date:
    sudo /etc/init.d/firewall restart

    Per far rileggere lo script per il firewall.
    Avete finito. Vi consiglio di fare la prova del firewall andando nei siti che consiglio nella guida qui sopra.

  3. ciao…ho provato a fare quanto detto ma appena avvio il firewall praticamente la connessione internet è disabilitata in quanto non mi carica più nessuna pagina

  4. ciao mattia,
    lo script permette tutto il traffico in uscita: quindi il problema è da ricercare altrove.
    Che tipo di modem hai? Se è usb, hai visto i due commenti più sopra?

    In ogni caso ti consiglio ti dare un’occhiata al thread del forum: vedi se qualcuno ha avuto problemi simili al tuo.

  5. ciao aldo ho di nuovo un problema, però stavolta non ho più un modem usb. oggi mi è arrivato l’alice gate 2 plus wi-fi…lancio pppoeconf…si configura..e funziona…

    metto eth0…e il firewall mi blocca:( non capisco perché…la connessione è via ethernet…metto ppp0…e non va pure…a sto punto non capisco perché la connessione andava appena avevo finito di installare sto modem/router quello che è!
    se stoppo il firewal…funziona!

    quando cmq faccio pon dsl-provider, mi si avviano 2 connessioni mi sa..e forse è questo il problema, ecco il terminale:
    pasquale@pasquale-desktop:~$ pon dsl-provider
    Plugin /usr/lib/pppd/2.4.4/pppoatm.so loaded.
    Plugin rp-pppoe.so loaded.
    pasquale@pasquale-desktop:~$

    ricordi..prima avevo un modem michelangelo usb cx…ormai le sue configurazioni sono andate cancellate…però a quanto pare carica ancora il suo driver non so:(

    qualche soluzione? (ho aggiornato il file firewall con quello senza javascript)

    thanks ciau

  6. postami qui l’output del comando:
    sudo /etc/init.d/firewall status

    [edit]
    Mi sa che queste regole non funzionano con il wi-fi… cmq mi documento meglio. Ti farò sapere qui.

    [edit 2]
    Perché non dai un’occhiata qua: metti in stop lo script,e prova a stabilire semplici regole (che risulteranno momentanee finché non spegni il pc) utilizzando il terminale. Potrai vedere così quale comando ti blocca la navigazione. Io farei così, anche solo per curiosità. ;)

  7. ok per l’edit2, ma ti avviso che io il wifi non lo uso (lo userò solo con aladino)
    il modem al pc è collegato via ethernet..non via wifi!
    appena ho un po’ di tempo provo le regole

  8. ciau aldo, non so spiegarti cosa ho cambiato di particolare..mi sono un po’ letto il topic di Mizar…ho rimesso il suo firewall (che alla fine è lo stesso di quello che alleghi in questa guida no?) metto i permessi a posto…lo lancio…e funziona…

    alla fine l’interfaccia che sto usando è eth0

    grazie, ciao!

  9. ciauz kr0n1x! :D

    Ho scaricato il “mio” file da qui e quello di Mizar dal forum, proprio per fare una verifica corretta.
    Ho ricontrollato i due file con Meld e sono esattamente uguali. E’ strano dunque che il “mio” non funzioni visto che sono gli stessi… Dipende allora da qualcos’altro.

  10. si si infatti…è sicuro qualcos’altro…prima di rimettere il file di mizar però mi sono un po’ messo a smanettare coi comandi di iptables…(mi sono messo a proavre comandi da zero…) e poi ho messo il firewall già pronto..e così è andato a buon fine!!!

    forse è stato l’azzeramento delle impostazioni a fargli bene? boh…

    grazie cmq! ciauuuuu

  11. salve a tutti o provato anche io a seguire questa guida, scaricato boot-up manager (uso una feisty) ma quando testo iptables sui siti che hai avuto cura di linkare risultano falliti!!!
    premetto che ho una connessone ethernet. chiedo aiuto

  12. anzitutto grazie x il tuo tempo. cmq questo è il risultato…
    tyler@SafePlace:~$ sudo /etc/init.d/firewall status
    Regole attuali nel Firewall: Chain INPUT (policy DROP)
    target prot opt source destination
    ACCEPT 0 -- anywhere anywhere
    ACCEPT tcp -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT icmp -- anywhere anywhere state RELATED,ESTABLISHED
    ACCEPT udp -- anywhere anywhere state RELATED,ESTABLISHED
    Chain FORWARD (policy DROP)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination
    ACCEPT 0 -- anywhere anywhere

    thanks a lot

  13. si ho 2 router adesso, uno l’ho avuto in comodato d’uso dalla telecom e uno l’ha comprato mio padre per potersi connettere in 2 (uno zixel che mi da inesorabilmente id basso col mulo). senti aldo.. la procedura spiegata qui sopra nn ha avuto alcun esito alla fine?

  14. A memoria mia, lo script di Mizar ha qualche problema coi router. Mi sa che non puoi usarlo. Vediamo se qualcun altro ne sa di più

  15. Ciao Mizar..
    Ho scaricato il tuo script e l’ho inserito nella mia Ubuntu Gutsy..
    Continuo però ad avere un basso ID.
    Ho un Router Cisco SOHO 97 con le porte 4662 tcp e 4672 udp aperte.
    Ho settato anche un ip statico sulla ethernet.
    Secondo te che cosa può essere?..
    Grazie per le risposte..

    Leonardo

  16. Ciao
    non sapevo si potesse postare qui.
    Cmq non saprei,scusa la mia ignoranza,se il mio è un modem o un router.
    Per configurarlo (192.168.1.1)e collegarmi alla rete accedo direttamente dal browser firefox.
    Credo sia un router poichè in precedenza con il modem in dotazione di alice dovevo cliccarci sopra e poi lanciare il browser.
    Se si trattasse di un router bisogna modificare qualcosa nel firewall?
    grazie.

  17. Se è un router, a quanto pare (io non ho un router ma un modem ethernet), lo script di Mizar (qui proposto) non funziona.
    In ogni caso, Marvin, in questo post ho segnalato un thread del forum di Ubuntu-it in cui se ne parla. In quella discussione una certa Ptah ha pubblicato una versione modificata di quello script. Puoi prelevarlo da lì e chiedere se funziona anche con i router. Non so dirti di più.

  18. Ciao, ho installato e avviato il firewall seguendo le tue istruzioni, punto su un link da te segnalato, ma mi ritorna questo “errore” nella pagina della prova:

    TCP “ping” non-stealthed
    TCP NULL stealthed
    TCP FIN non-stealthed
    TCP XMAS non-stealthed
    UDP non-stealthed

    Come mai? Che soluzione posso adottare per renderle tutte “stealthed”?
    Grazie per l’aiuto!

  19. Uso un modem ethernet che fa pure da router.
    Questo firewall l’avevo già installato su un altro pc con lo stesso modem e stessa connessione…funzionava esattamente grazie ovviamente a questa guida.
    Ora stessa guida, stessa connessione, stesso modem…non funziona.
    La cosa diversa però è la macchina, prima usavo un Pentium 3, ora uso un Athlon amd64, ma non credo la cosa cambi.

I commenti sono chiusi