|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 485
|
Application layer con Iptables
Ciao a tutti,
sono da circa un mese passato a debian e volevo cominciare ad occuparmi seriamente della sicurezza. Diciamo che non ho particolari necessità ma "esagerare" anche se per un pc domestico è un buon modo per imparare. Su windows ero abituati a firewall come Jetico e nell'ultimo periodo Comodo, volendo piuttosto avanzati e con la possbilità di impostare regole a livello applicativi. È possibile fare una cosa del genere con iptables? Cercando su google non ho trovato molto a parte qualche richiesta senza risposta. Possibile che cosi potente, Iptables non abbia questa capacità? Sarebbe utile soprattutto se è necessario aprire specifiche porte per specifiche applicazioni (vedi p2p o particolari servizi). Dato che per il momento devo prendere ancora confidenza con Debian e Iptables (vuol dire che ho pacchi di guide e manuali da leggere ![]() Grazie per qualsiasi intervento ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2008
Messaggi: 622
|
con guarddog puoi settare tutto quello ke vuoi tramite interfaccia grafica e senza impazzire...
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 485
|
Ciao sasa83,
grazie della risposta ma guarddog non è la soluzione adeguata perchè innanzitutto è per kde e io invece uso gnome... Ad ogni modo lo avevo provato ma non mi aveva soddisfatto più di tanto. Oltretutto non permette un controllo a livello applicativo ma semplicemente uno sblocco dei servizi (alias apertura porte ma senza alcun filtraggio sulle applicazioni che possono utilizzarle). Non sarebbe tanto diverso dall'aprire le porte necessarie tramite i comandi da terminale di iptables...e poi se sono passato a linux e soprattutto per imparare evitando per quanto possibile gui utilissime e rapide ma che "nascondono" ciò che si dovrebbe fare e sapere. Da questo punto di vista fwbuilder è leggermente diverso....e comunque non appena imparerò per bene l'utilizzo di iptables lo lascerò. Grazie comunque... |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2001
Città: Crema
Messaggi: 2040
|
Ciao,
se intendi un filtraggio applicativo alla ZoneAlarm credo che per Linux non siano diffusi firewall che mirino a filtrare determinati programmi rispetto ad altri (a parità di impostazioni tcp). Ad es., in Windows, volendo, posso consentire ad un client ftp di uscire sulla porta 21, e contemporaneamente vietarlo ad un altro client ftp. Ecco, se intendi *questo* tipo di filtraggio, secondo me non c'è tanta roba in giro. Diversamente, se intendi un filtraggio a livello di protocollo applicativo, esiste un modulo per iptables (in realtà una patch per il kernel + patch per l'eseguibile /sbin/iptables) che ti consente di poter definire delle regole che filtrino alcuni tra i protocolli più famosi (ad es msn, gnutella, edonkey, etc.). Ti posso garantire che funziona abbastanza bene (ci ho messo le mani per un progetto d'esame consegnato l'altro ieri ![]() Tieni presente cmq che per questo tipo di filtraggio è consigliato il traffic shaping più che il blocking delle connessioni, perchè purtroppo si può sempre in qualche modo aggirare i filtri. Trovi tutto qui http://l7-filter.sourceforge.net/ Considera poi che in linux gli applicativi tendono ad essere molto meno invasivi rispetto a quelli windows: difficilmente ti ritroverai un editor di testi che cerca di accedere ad internet, se non per fare il checking degli aggiornamenti ![]() Di conseguenza, monitorare accuratamente le connessioni in uscita su base applicativa non è così fondamentale. Ciao! Ultima modifica di Red`XIII : 08-07-2008 alle 01:41. |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2008
Messaggi: 485
|
Bhe si più o meno intendevo un filtraggio "alla zone alarm", certo non per controllare che il mio editor di testo si connetta o meno ad internet
![]() Faccio un esempio: Emule necessita di una porta TCP e UDP aperta per le connessioni in entrata. Ora perchè tenerle aperte sempre anche quando non servono o farle utilizzare per connessioni in entrata non desiderate verso altri programmi? Non so se ora sono riuscito ad essere più chiaro... Comunque forse ottengo lo stesso risultato con un filtraggio a livello di protocollo...correggetemi se sbaglio, ma se quella patch è in grado di identificare i protocolli allora è in grado di "filtrare" dalle porte aperte solo i protocolli da me desiderati. Es. Le porte aperte per emule non potrebbero mai essere usate da bittorrent essendo protocolli diversi. è cosi o sono in errore? Ultima domanda e poi la smetto (lo giuro ![]() E se qualche "anima pia" mascherasse dei pacchetti malevoli con il protocolo di amule, anche se questo fosse chiuso, verrebbe filtrato o passerebbe indenne? |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
Per l'esempio hai ragione
![]() Se controlli il protocollo e i pacchetti lo rispettano il firewall lo lascia passare. Questo e altri problemi li puoi aggirare controllando anche il processo che prende in carico la connessione, prova a dare un occhio al match owner anche se vale solo per OUTPUT torna comodo.
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 1175
|
Quote:
pid, sid and command matching are broken on SMP. Come mai nessuno si e' mai occupato di sistemare questo problema? --cmd-owner (matches if the packet was created by a process with the given command name) e' l'equivalente del classico 'personal firewall' di Windows.
__________________
Enermax Staray CS-046 ECA3170-BL, Cooler Master RS-700-AMBA-D3, ASUS P6X58D-E, Core i7 950, Kingston 6GB DDR3 1600 HyperX, Gainward GTX 460 1GB GS, LG BH10LS30, 1TB WD1002FAEX, 2TB WD20EARS, 3TB WD30EZRX, 4TB WD40EFRX, 2x2TB WDBAAU0020HBK, Samsung SCX-3200, Netgear DGN2200 [Debian 7.0 Wheezy] Installazione, consigli e trucchi ![]() |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
Vero, da tempo (in effetti da più di un anno
![]() Qualche esperienza personale? Funziona?
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2006
Messaggi: 1175
|
Su debian stable (iptables v1.3.6) non funziona, ossia restituisce un errore.
__________________
Enermax Staray CS-046 ECA3170-BL, Cooler Master RS-700-AMBA-D3, ASUS P6X58D-E, Core i7 950, Kingston 6GB DDR3 1600 HyperX, Gainward GTX 460 1GB GS, LG BH10LS30, 1TB WD1002FAEX, 2TB WD20EARS, 3TB WD30EZRX, 4TB WD40EFRX, 2x2TB WDBAAU0020HBK, Samsung SCX-3200, Netgear DGN2200 [Debian 7.0 Wheezy] Installazione, consigli e trucchi ![]() |
![]() |
![]() |
![]() |
#10 | ||||
Senior Member
Iscritto dal: Dec 2001
Città: Crema
Messaggi: 2040
|
Quote:
Un'alternativa è quella di utilizzare le funzionalità UPnP delle ultime versioni di emule per consentire l'apertura dinamica delle porte necessarie sul router. Quote:
![]() Considera ad ogni modo che il filtraggio layer 7 si basa sul confronto di tutti i pacchetti in transito con specifici pattern, disponibili per un numero elevato ma finito di protocolli: in sostanza non puoi decidere arbitrariamente quale protocollo fargli filtrare, a meno che non esista un pattern predefinito per esso oppure che tu non individui un'espressione regolare che lo caratterizzi. Resta però sempre e comunque un tipo di filtraggio mooooooooooolto pesante, computazionalmente parlando. Quote:
Tieni sempre presente questa regola: una connessione tcp è caratterizzata (e univocamente identificata) da 4 aspetti: - ip sorgente - ip destinatario - porta sorgente - porta destinataria Quote:
![]() byebye! Ultima modifica di Red`XIII : 08-07-2008 alle 12:33. |
||||
![]() |
![]() |
![]() |
#11 | ||
Senior Member
Iscritto dal: Jul 2008
Messaggi: 485
|
ok Grazie mille delle risposte.
Quote:
Quote:
![]() Sapete come è.... una volta imparata la sicurezza con Windows vecchie "abitudini" rimangono...e poi ora che con linux posso davvero fare tutto (o quasi) ne voglio approfittare ![]() |
||
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Dec 2001
Città: Crema
Messaggi: 2040
|
Quote:
![]() Ad ogni modo buon divertimento! |
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Scusatemi ma vorrei anch'io chiarirmi un attimo le idee:
quindi per poter bucare un sistema sono necessari 3 fattori indispensabili, che sono: 1) porta aperta 2) processo in ascolto su tale porta 3) vulnerabilita' di tale processo Corretto? O sto vaneggiando? ![]()
__________________
-)(- debian -)(- |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
Quote:
__________________
[ W.S. ] |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Grazie per la risposta;
ancora una cosa: se chiudo tutte le porte tramite iptables le vulnerabilita' dello stack di rete del sistema operativo sono ancora esposte? In altre parole: lo stack di rete sta "davanti" al firewall o "dietro"? (scusate i termini poco tecnici ![]()
__________________
-)(- debian -)(- |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 1868
|
La presenza di una vulnerabilità li è estremamente remota comunque, iptables funziona "agganciandosi" al percorso che i pacchetti fanno nel kernel (detta brutale). Se chiudi una porta tramite iptables il pacchetto percorre meno strada ma ne percorre comunque un pochino, se la vulnerabilità si trova in quel breve percorso è comunque sfruttabile.
Stiamo comunque parlando di una cosa teorica, è ben difficile che esista. Già è improbabile che ci sia nel resto del percorso.
__________________
[ W.S. ] |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Jan 2006
Messaggi: 1525
|
Capito grazie
![]()
__________________
-)(- debian -)(- |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:32.