Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Piccolo script per "personalizzazione" Iptables.

Il forum riservato agli amici del Pinguino e al software libero.

Piccolo script per "personalizzazione" Iptables.

Messaggioda usag » lun mag 26, 2008 6:01 pm

Ciao a tutti,
eccomi di nuovo quà; approfittando di questa giorni d'infortunio sul lavoro, mi son buttato a capo fitto dentro Ubuntu, e immancabilmente (purtroppo o per fortuna), le domande e i dubbi vengono fuori; oggi, leggendo sulla wiki di Ubuntu, ho constatato che Iptables, il firewall di Linux, è programmato per lasciar passare tutto; di conseguenza, dev'esser l'utente a "imporgli" delle regole; sulla wiki di Ubuntu, ho trovato molto saggio seguire le istruzioni che venivano consigliate, cioè...personalizzarsi il firewall, bloccando tutto il traffico in entrata (creando, ovviamente, poi, delle regole per lasciar passare solo ed esclusivamente chi di dovere...Emule, Skype, etc..., quindi aprire le porte solo per chi decidiamo di far entrare), e consentendo, invece, tutto quello in uscita; a tal proposito, ho "copiato" (sempre dalla wiki di Ubuntu), e poi "modificato" alla mia situazione, un piccolo script, che vado a riportare di seguito:

#!/bin/bash
# Iptables - Firewall personale (by usag)
############################################

#########################


sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP

sudo iptables -A INPUT -i lo -j ACCEPT

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp:udp --dport 23339 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4672 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1755 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 1756 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 4711 -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 52841 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 52841 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5190 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 5190 -j ACCEPT

exit 0;

Essendo voi molto più esperti di me in materia, vi sarei molto grato se ci deste un'occhiata, più che altro sulla sequenzialità delle istruzioni, porte, e forma...insomma che funzioni, senza crear casini.
Le porte che...spero di aver aperto aperto... sono relative a Skype, Emule (che gira, ovviamente, emulato da Wine), e Bittorrent (pure lui con Wine), senza contare, ovviamente, la normale navigazione in rete; inoltre, vorrei che questo script (se per caso andasse bene), partisse in automatico, all'avviamento di Ubuntu, quindi mi servirebbe un comando che rendesse possibile quest'azione, e questo, purtroppo, non lo conosco.
Come grado di sicurezza, sempre che funzioni, dovrebbe essere abbastanza accettabile...

P.S. Potete anche dirmi che è tutto sbagliato, e di lasciar perdere...non mi offendo... [fischio] .
Grazie veramente a chiunque voglia illuminarmi [^] .
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda usag » lun mag 26, 2008 6:18 pm

Ah, scusate, mi son dimenticato di dire che navigo dietro un router (Netgear Dg834g), già configurato; non so se questo cambi o meno le cose...
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda ninjabionico » mar mag 27, 2008 10:04 pm

Ciao.

In questo post ho già spiegato come automatizzare il caricamento della configurazione del firewall

Per quello che riguarda Skype non occorrono particolari impostazioni... a me funziona tranquillamente.

Io ti consiglierei quindi di eseguire:

Codice: Seleziona tutto
sudo -s
iptables -P INPUT DROP
iptables -P FORWARD   DROP
iptables -P OUTPUT   ACCEPT
iptables -A INPUT  -i lo -j ACCEPT
iptables -A OUTPUT  -o lo -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -m length --length 128:65535 -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 4662 -j ACCEPT
iptables -A INPUT -p udp --dport 4662:4665 -j ACCEPT
iptables -A INPUT -p udp --dport 4672 -j ACCEPT


Aggiungi eventuali porte che ti sono utili per altri programmi, con queste impostazioni dovrebbero funzionare Skype e eMule/aMule.

Se la configurazione funziona, puoi salvarla con: (sempre con i permessi di amministrazione)

Codice: Seleziona tutto
iptables-save > /etc/iptables.conf


Se apporti modifiche alla configurazione ti basta ridigitare il comando per salvare la nuova configurazione.

Perché si avvii durante il boot di sistema puoi inserire in /etc/rc.local il comando:

Codice: Seleziona tutto
iptables-restore < /etc/iptables.conf


Inseriscilo prima del comando exit 0 naturalmente.

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd


Messaggioda usag » gio mag 29, 2008 12:42 pm

Ah, ok...c'ero andato quasi vicino, allora; però scusa una cosa; io, questo script, l'ho salvato nella partizione "Dati", diciamo momentaneamente, in attesa di esser "giudicato" da voi. Ora, quando apporterò le modifiche che mi hai suggerito, tali modifiche devo apportarle sempre nello script, oppure devo far tutto da terminale, lasciando totalmente perdere lo script?
Scusa l'ignoranza, ma è la prima volta che "creo" qualcosa di mio, sotto Linux.
Grazie ancora...
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda ninjabionico » gio mag 29, 2008 5:49 pm

Il concetto è semplice...

... imposti Netfilter (iptables) con i parametri che ti servono...
... tipo quelli che ti ho consigliato io più le tue eventuali aggiunte...
... poi con iptables-save > /etc/iptables.conf salvi la configurazione che ti funziona nel file testuale /etc/iptables.conf (ma potresti creane diversi, il nome puoi deciderlo liberamente tu).

Per ripristinare una configurazione già salvata del firewall ti basta digitare iptables-restore < /{percorso_completo}/{nomefile}, nel mio esempio ti ho scritto:

Codice: Seleziona tutto
iptables-restore < /etc/iptables.conf


Inserendo il comando nel file /etc/rc.local, il quale viene eseguito a ogni avvio di sistema prima di avviare la grafica, capisci che ripristina la configurazione del firewall che hai salvato in /etc/iptables.conf (o dove vuoi tu, io ho scelto quel nome perché lo trovo significativo)

Lo script puoi modificarlo e tenerlo per ricordarti i comandi che hai usato per configurarti il firewall... ti tornerà sicuramente utile in futuro.

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd

Messaggioda usag » gio mag 29, 2008 6:05 pm

Ok, proverò a far così da terminale, allora, se non ho capito male; comunque mi sa che devo configurare anche i server Dns, e relativi (in quanto mi trovo dietro un router), se voglio navigare...
Grazie comunque.... [^] .
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda ninjabionico » gio mag 29, 2008 7:23 pm

A meno che tu non abbia configurato l'indirizzo IP in modo statico (manuale), con il protocollo DHCP i server DNS vengono passati automaticamente.

Quindi, non dovresti aver problemi.

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd

Messaggioda usag » gio mag 29, 2008 7:58 pm

Il fatto è che io ho disattivato il DHCP, proprio per problemi che riscontravo con Emule e Bittorrent (ero sempre "schermato"); di conseguenza ho sia l'ip statico, che i Dns statici...quindi mi sa che devo "dirglielo" a Iptables; ora devo capire se il traffico che "viaggia" attraverso di essi utilizzi le porte Tcp o Udp... [rolleyes] ...in modo da creare la dicitura giusta, e soprattutto aprire le porte giuste.

P.S. Le porte di Emule, io le ho impostate su 1755 in tcp e 1756 in udp, perché la 4662 e la 4672 non son più valide...infatti dovetti ricreare anche le regole per il firewaall che ho nel router; con le vecchie porte, avevo id basso e kad firewalled, mentre con la 1755 e la 1756, ho id alto e kad open [;)] .
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda ninjabionico » gio mag 29, 2008 11:08 pm

usag ha scritto:Il fatto è che io ho disattivato il DHCP, proprio per problemi che riscontravo con Emule e Bittorrent (ero sempre "schermato"); di conseguenza ho sia l'ip statico, che i Dns statici...quindi mi sa che devo "dirglielo" a Iptables;


Il problema non sussiste...
... il firewall ti controlla il traffico in arrivo, transito e partenza...
... non controlla DNS o Router, a meno che tu non scriva regole apposta per i loro specifici indirizzi IP... ma non penso sia il tuo caso...
... dovrebbe già funzionarti tutto...
... confermami che è così.

usag ha scritto: ora devo capire se il traffico che "viaggia" attraverso di essi utilizzi le porte Tcp o Udp... [rolleyes] ...in modo da creare la dicitura giusta, e soprattutto aprire le porte giuste.


Tranquillo... non stai cercando di realizzare un trasparent proxy....
... il router e i DNS vengono interpellati da te, quindi i loro pacchetti vengono automaticamente accettati... come ti ho già detto... nessun problema.

usag ha scritto:P.S. Le porte di Emule, io le ho impostate su 1755 in tcp e 1756 in udp, perché la 4662 e la 4672 non son più valide...infatti dovetti ricreare anche le regole per il firewaall che ho nel router; con le vecchie porte, avevo id basso e kad firewalled, mentre con la 1755 e la 1756, ho id alto e kad open [;)] .


Bene, se hai modificato i comandi che ti ho postato dovresti già essere operativo.

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd

Messaggioda usag » ven mag 30, 2008 12:30 pm

Perfetto, dopo questa "rassicurazione", provvederò, in serata, ad applicare lo script da te suggeritomi; ti farò certamente sapere...
Un chiarimento...se volessi bloccare momentaneamente il firewall (una volta attivto lo script), posso farlo semplicemente da terminale, con la dicitura
"sudo ufw disable", giusto?
Grazie comunque, ti farò sapere per il resto... [^] .
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am

Messaggioda ninjabionico » ven mag 30, 2008 6:51 pm

Ciao.

Mai vista...
... di solito per disabilitare il firewall si danno i seguenti comandi:

Codice: Seleziona tutto
sudo -s
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT


Puoi decidere se usare uno script, oppure salvare la configurazione con un altro nome, per esempio /etc/iptables.disabilitato.conf, così ha un nome comprensibile e indicativo.
Quindi per esempio con:

Codice: Seleziona tutto
sudo iptables-restore < /etc/iptables.disabilitato.conf


si disabilita velocemente il firewall.

Volendo puoi utilizzare un alias per velocizzare i comandi... basta metterlo nel file ~/.bash_aliases

[ciao]
Io dico le cose così come stanno! Questo è il mio credo ninja - by Naruto Uzumaki
Expert-Advanced User Powered by Gnu/Linux
Avatar utente
ninjabionico
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 5207
Iscritto il: lun mar 20, 2006 10:51 pm
Località: Prov. Pd

Messaggioda usag » ven mag 30, 2008 6:57 pm

...maremma quante cose c'ho da imparare ancora su Linux...
Ok, grazie ancora... [ciao] .
Avatar utente
usag
Bronze Member
Bronze Member
 
Messaggi: 503
Iscritto il: mar ott 03, 2006 4:40 am


Torna a Distribuzioni, Kernel e Software Applicativo

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising