View previous topic :: View next topic |
Author |
Message |
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Wed May 13, 2009 7:48 pm Post subject: |
|
|
oRDeX wrote: | Una cosa che ho letto a suo tempo è http://lartc.org/ ma ormai pare essere molto vecchio come documento...ed inoltre non parla di iptables nello specifico ma parla tanto anche di routing avanzato. | In effetti cerco qualcosa di più recente e magari che non sia proprio del tutto "for dummies". Un manuale ben fatto dove spiega iptables anche per i profani sarebbe il massimo. oRDeX wrote: |
l7filter è una sorta di *modulo di pattern matching* che viene inserito in iptables. Ovviamente non da certezza al 100% di ottenere i risultati sperati, però su molti protocolli dicono che funzioni bene.
http://l7-filter.sourceforge.net/, per altro esiste la USE flag apposita per iptables. | Dovrei provare a riemergere iptables con quella flag. Ho letto anche un wiki.. ora vediamo di applicarlo. oRDeX wrote: |
Il discorso di https è particolare perchè, detta in modo semplice, si stabilisce una sorta di "fiducia" fra i due endpoint della connessione, di conseguenza, un proxy nel mezzo non fa funzionare le cose come dovrebbero. | Eh sì, ma infatti il punto sta tutto lì. Quello che dovrebbe fare squid, alla fine è "semplicemente" quello di inoltrare pari pari le richieste https e passare per squidguard. oRDeX wrote: | Se non sbaglio dovrebbero esistere due strategie diverse per raggirare la cosa. Se trovo qualche riferimento ti faccio sapere. | Ti ringrazio, lo apprezzo molto! oRDeX wrote: |
Ma visto che vuoi filtrare "alcuni siti https" perchè non parti da un ACCEPT sulla 443 e poi fai DROP sulla base degli ip che vuoi bloccare? |
In effetti avevo pensato anche a questo!!! Magari dopo che ho fatto un po' di esperienza con iptables...
Grazie ancora. _________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Wed May 13, 2009 9:00 pm Post subject: |
|
|
Scusa, ho sonno e mal di testa e non ho troppa voglia di leggere tutti i post ma a quanto ho capito non hai ancora risolto il tuo problema.
Posso permettermi di consigliarti un approccio al problema che sia meno incasinato ?
1) imposti squid come proxy normale, non trasparente e vedi se funziona
2) imposti in squid le regole per le whitelist o blacklist di siti che vuoi consentire o bloccare e vedi se funziona
3) modifichi la configurazione per avere squid come proxy trasparente e vedi se funziona _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Thu May 14, 2009 12:55 pm Post subject: |
|
|
Grazie!
Ma queste cose le ho già fatte tutte e funziona!
EDIT:
Stavo provando ad emergere l7filter-2.21 ma vedo che ci sono problemi di packet collision:
Code: | * Detected file collision(s):
*
* /usr/src/linux-2.6.28-hardened-r7/net/netfilter/Kconfig
* /usr/src/linux-2.6.28-hardened-r7/net/netfilter/Makefile
* /usr/src/linux-2.6.28-hardened-r7/net/netfilter/nf_conntrack_core.c
* /usr/src/linux-2.6.28-hardened-r7/net/netfilter/nf_conntrack_standalone.c
* /usr/src/linux-2.6.28-hardened-r7/include/net/netfilter/nf_conntrack.h
|
Ho letto qualche bug report, ma non vorrei togliere il supporto a conntrack nel kernel.. ammesso che questo risolva il problema.. _________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Thu May 14, 2009 8:31 pm Post subject: |
|
|
Sarà che ho dormito 3 ore ma a rileggermi la discussione sono andato in confusione di brutto ...
cerco di andare con ordine:
Quote: | A quanto ho sempre visto (e in base a come funzionano i classici router/modem adsl, io prendo come gateway l'indirizzo IP interno del router, e ovviamente non devo impostare sui browser che l'IP del router è il mio proxy server. |
router, gateway e proxy sono cose decisamente diverse, giusto per far notare la confusione dovresti tener conto che si tratta si apparati o sw che lavorano a livelli diversi dello stack osi e servono a compiti diversi. Inoltre non ho mai visto nessun modem/router che faccia anche da proxy, in genere fungono da gateway ...
Quote: | Perché è così complicato fare una cosa simile con Gentoo? |
utilizzare Gentoo come router non è affatto difficile ma non è quello che vuoi fare tu ...
Quote: | Ma queste cose le ho già fatte tutte e funziona! |
e allora mi sfugge perchè non hai messo il tag [risolto] ? _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
devilheart l33t
Joined: 17 Mar 2005 Posts: 848 Location: Villach, Austria
|
Posted: Fri May 15, 2009 8:30 am Post subject: |
|
|
allora. prova a dare
Code: | sysctl -w net.ipv4.ip_forward=0 |
se i client non riescono ad aprire più pagine via http allora NON hai risolto il problema
comunque per bloccare emule&c devi mettere regole che si basino sull'applicazione che genera il pacchetto invece che usare le porte. per fare ciò usa il modulo ]ipp2p |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Fri May 15, 2009 10:05 am Post subject: |
|
|
Allora riepilogo per riassumere un attimo la situazione.
Devo ammettere che è la prima volta che faccio un server su misura per una ditta e quindi mi trovo di fronte ad alcune cosette che non ho mai visto.
Inoltre sono quasi profano di iptables ed ecco uno dei perché di questo thread.
L'esigenza primaria (molto a grandi linee - poi ci sono tanti altri dettagli nel merito dei quali non entro) che avevo io è questa:
server di dati con Samba (directory condivise per lo storage di tutti i dati aziendali ecc..)
Filtro per Internet (e qui si può scrivere un libro).
Sempre a linee generiche ecco come funzionano le cose:
2 interfacce di rete: eth0 ed eth1.
eth1 connessa a internet (prende IP dal router di alice) 192.168.1.X
eth0 ip fisso 10.0.0.1/24 con Server DHCP che rilascia IP su questa interfaccia.
Ora, i client della subnet 10.0.0.0 devono accedere alle risorse condivise, e nella fattispecie ad Internet, MA, con restrizioni:
NO siti inutili (webmessenger, blog, porno, e-commerce e quant'altro sia inutile a tale lavoro)
NO chat, MSN, ecc..
NO P2P
All'inizio facevo un casino con iptables perché non lo conosco benissimo (purtroppo) quindi il fatto che non funzionasse quasi nulla era dovuto al fatto che sbagliavo a dare la regola di NAT.
Scrivevo Code: | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
invece di Code: | iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE |
Non riuscivo a capire perché con eth0 non va e con eth1 sì... non so, forse perché l'interfaccia di output per i client della subnet 10.0.0.0/24 è eth1 e non eth0 (questo me lo saprete dire meglio sicuramente voi).
Per quanto riguarda il filtro dei siti ho risolto (anche se in parte visto che i siti https non riesco a filtrarli - ed anche se sto appunto pensando di bloccarli con iptables qualora mi venisse richiesto).
Poi ho abilitato il forwarding, (il contenuto del file /proc/sys/net/ipv4/ip_forward è sempre 1).
Ora l'accesso ad Internet è illimitato per la subnet 10.0.0.0/24.
Quindi è ora di mettere il filtro.
Ho fatto in modo che tutte le richieste in arrivo sulla porta 80 me le deve ridirigere sulla 3128 dove c'è in ascolto squid. Così in modalità trasparente la navigazione avviene tramite proxy. Con squidGuard posso così negare l'accesso ai siti che dico io, filtrando gran parte dei siti inutili anche grazie all'aiuto di blacklist già pronte.
Ora però dovrei bloccare appunto chat, p2p, e quanto detto prima.
Quello che mi chiedevo io (per ultimare il lavoro) era se ci fossero delle altre cosette da mettere a punto meglio, prima di concludere tutto.
Quindi mi mancano questi blocchi che ho appena accennato. l7-filter non me lo fa installare per i motivi di cui sopra.
Ora cercherò di provare questo ipp2p.
EDIT: Ho provato ipp2p, ma non funziona.
La regola che do per bloccare il traffico emule/kazaa è la seguente ma non sortisce alcun effetto:
Code: | iptables -A FORWARD -m ipp2p --edk --kazaa -j DROP |
Riesco comunque a connettermi ai server ed2k ed a scaricare.
Anche con queste tre regole tutte insieme, alla fine poi riesce sempre a connettersi:
Code: | iptables -I FORWARD -m ipp2p --ipp2p -j DROP
iptables -I OUTPUT -m ipp2p --ipp2p -j DROP
iptables -I INPUT -m ipp2p --ipp2p -j DROP |
KAD invece si connette sempre! Quindi le regole sono totalmente inefficaci.
Grazie a tutti per l'aiuto _________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Fri May 15, 2009 7:25 pm Post subject: |
|
|
scusa ma in questo periodo ho sempre troppo sonno per aver la certezza di capire esattamente il tuo problema ...
da quanto ho capito tu vorresti concedere di uscire su internet solo per fruire della navigazione su alcuni siti.
Nel caso abbia capito correttamente la tua problematica ti basta evitare di mettere un gateway che faccia uscire il traffico e mettere solo un proxy con una whitelist, in questo modo non avresti nemmeno il problema di bloccare le chat e il p2p perchè le macchine interne non avrebbero modo di collegarsi a internet se non tramite il proxy che permetterà solo il transito http e https.
A voler far le cose veramente per bene bisognerebbe poi filtrare quegli applicativi che possono essere configurati per sfruttare quelle porte per i fattacci loro ma inizia a diventare una battaglia contro i mulini a vento, puoi solo accontentarti di rendere la vita difficile a chi vuole abusare delle risorse aziendali. _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Fri May 15, 2009 7:36 pm Post subject: |
|
|
Sì diciamo che hai afferrato la questione.
Intanto ti ringrazio per il tempo che dedichi a questo thread nonostante il sonno!
Il fatto è che poi dovrei preoccuparmi anche di aprire alcune porte, ad esempio per la posta elettronica, per consentire ai diversi antivirus di aggiornarsi, a windows update di collegarsi, ecc...
Per questo ho preferito l'approccio al contrario, cercando di bloccare il più possibile.
Fin'ora sono riuscito a bloccare amule (ed2k+kad - anche se per kad non sono sicurissimo che funzionerà sempre per via del fatto che non so se usa una o più porte diverse), e ho inserito delle regole anche per bittorrent.
Le regole usate sono queste:
Code: | iptables -A FORWARD -p tcp -m multiport --dports 6881,6882,6883,6884,6885,6886,6887,6888,6889,1214 -j REJECT
iptables -A FORWARD -p udp -m multiport --dports 6881,6882,6883,6884,6885,6886,6887,6888,6889,1214 -j REJECT
iptables -A FORWARD -p tcp -m multiport --dports 6346,6347 -j REJECT
iptables -A FORWARD -p udp -m multiport --dports 6346,6347 -j REJECT
iptables -A FORWARD -p tcp -m multiport --dports 4500,4711,4665,4661,4672,4662,8080,9955 -j REJECT
iptables -A FORWARD -p udp -m multiport --dports 4500,4711,4665,4661,4672,4662,8080,9955 -j REJECT
iptables -A FORWARD -p tcp --dport 4242:4299 -j REJECT
iptables -A FORWARD -p udp --dport 4242:4299 -j REJECT
iptables -A FORWARD -p tcp --dport 6881:6999 -j REJECT
iptables -A FORWARD -p udp --dport 6881:6999 -j REJECT |
_________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Sat May 16, 2009 7:27 am Post subject: |
|
|
Chiarito il tuo problema al 100%, tralasciando un attimo il problema di https che può essere affrontato diversamente alla fine
Allora, dato che i client dovranno avere la possibilità di collegarsi a determinati servizi è il caso di lasciare sia il gateway che il forwarding di base. Quindi io pensavo ad una configurazione di questo tipo:
Code: | # sysctl -w net.ipv4.ip_forward=1
# iptables -t nat -A POSTROUTING -d ! 10.0.0.0/24 -j MASQUERADE #Volendo puoi usare l'interfaccia come parametro, ma io in genere preferisco fare così
# iptables -P FORWARD DROP #Di default non si forwarda nulla!
# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Su questa regola sono leggermente incerto ma dovrebbe andare
# iptables -A FORWARD -d servermail.mail.fu -p tcp --dport 110 -j ACCEPT #Apri accesso al server pop3
# #Come la riga precedente per le altre porte da lasciar passare
# iptables -t nat -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 # LA tua regola, ma funziona? non dovresti specificare l'ip del proxy? io userei la seguente:
# iptables -t nat -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.1:3128
|
Spero funzioni tutto e spero di esserti stato di aiuto |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Sat May 16, 2009 8:09 am Post subject: |
|
|
Grazie oRDeX,
le provo quanto prima le regole, prima però alcune domande:
1) Code: | iptables -P FORWARD DROP #Di default non si forwarda nulla! |
Quindi con questa è bloccato tutto il traffico (IN e OUT), a meno che non se ne dia consenso esplicito?
2) Code: | iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT |
Questa non ho capito molto a cosa serva!
3)Quindi per la posta in uscita farò:
Code: | iptables -A FORWARD -d servermail.mail.fu -p tcp --dport 25 -j ACCEPT |
4) Sì, la mia regola funziona. Non mi chiedere come!!! Ma tutto il traffico viene rediretto verso il proxy sulla 3128.
5) Che cambia all'atto pratico fra quella che uso io e la seguente?
Code: | iptables -t nat -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.1:3128 |
Cioè, intuisco ma non ne sono poi così sicuro.
Il problema poi sorgerà anche quando dovrò abilitare altri traffici, come quello per gli aggiornamenti degli antivirus, windows update, ecc..
Inoltre, il discorso è che così facendo dovrò fracassarmi le scatole ogni volta che non gli funzionerà qualcosa... _________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
devilheart l33t
Joined: 17 Mar 2005 Posts: 848 Location: Villach, Austria
|
Posted: Sat May 16, 2009 8:19 am Post subject: |
|
|
la seconda regola cambia anche l'indirizzo di destinazione del pacchetto |
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Sat May 16, 2009 9:28 am Post subject: |
|
|
fbcyborg wrote: | Grazie oRDeX,
| prego! Quote: |
le provo quanto prima le regole, prima però alcune domande:
1) Code: | iptables -P FORWARD DROP #Di default non si forwarda nulla! |
Quindi con questa è bloccato tutto il traffico (IN e OUT), a meno che non se ne dia consenso esplicito?
| non incasiniamoci con i termini sei su un router, se per IN e OUT intendi i pacchetti "passanti", quindi quelli FORWARDATI, allora la risposta è si: il router non si lascia attraversare come policy di default. Quote: |
2) Code: | iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT |
Questa non ho capito molto a cosa serva!
| non sono certo al 100% del suo funzionamento (perchè non l'ho mai testata), ma in pratica permette che connessioni in stato ESTABILISHED o RELATED possano "attraversare il router". Questo perchè, se stabilisci una connessione sulla porta XX che il server rimappa sulla YY, una volta stabilita, essa deve continuare a funzionare nonostante il remapping. Quote: |
3)Quindi per la posta in uscita farò:
Code: | iptables -A FORWARD -d servermail.mail.fu -p tcp --dport 25 -j ACCEPT |
| esatto. Quote: |
4) Sì, la mia regola funziona. Non mi chiedere come!!! Ma tutto il traffico viene rediretto verso il proxy sulla 3128.
| si sulla 3128, ma non capisco come mai vada a finire sulla 3128 proprio del proxy Quote: |
5) Che cambia all'atto pratico fra quella che uso io e la seguente?
Code: | iptables -t nat -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.0.0.1:3128 |
Cioè, intuisco ma non ne sono poi così sicuro.
| Questa regola modifica l'header del pacchetto, prima che questo venga instradato, in particolare modifica il campo destinazione e porta-destinazione secondo i valori specificati come argomento. Quote: |
Il problema poi sorgerà anche quando dovrò abilitare altri traffici, come quello per gli aggiornamenti degli antivirus, windows update, ecc..
Inoltre, il discorso è che così facendo dovrò fracassarmi le scatole ogni volta che non gli funzionerà qualcosa... |
Sono sempre singole porte da aprire. In questo modo (default DROP) hai una sicurezza più alta. Tu prima avevi bloccato le porte di emule a scaglioni: a parte che ora di default viene impostata una porta davvero a caso, non più la 4662 (se non erro ora si comporta così), o comunque basterebbe impostare una porta casuale in modo manuale per continuare a far andare tutto bene |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Sat May 16, 2009 10:24 am Post subject: |
|
|
la mia perplessità era legata al fatto che quella regola redirige tutto sulla 3128, come dici tu, non sulla 3128 del proxy. Quindi non capisco come funzioni
Che il proxy, dato che è lo stesso router, abbia qualche politica sua di controllo? |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
oRDeX Veteran
Joined: 19 Oct 2003 Posts: 1325 Location: Italy
|
Posted: Sat May 16, 2009 12:32 pm Post subject: |
|
|
mh..al massimo sarà in ascolto su tutti i suoi indirzzi....non su "tutti" bhu, comunque per adesso questo non è un problema dato che funziona tutto (sicuro che tu non abbia impostato il proxy in firefox?) |
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue May 19, 2009 11:09 am Post subject: |
|
|
fbcyborg wrote: | Sì sì, assolutamente sicuro! Anzi, per me è stato un traguardo quando sono riuscito a far navigare i client senza impostare il proxy!
Prima ci riuscivo solo tramite il proxy! |
e sei sicuro che passino dal proxy ? non è che vengono semplicemente forwardati ?
anche io sono un po' perplesso (ma fa parte della mia natura quindi non faccio testo ) _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue May 19, 2009 1:00 pm Post subject: |
|
|
fbcyborg wrote: | Fammi fare un test a tua scelta, così sei sicuro che passa tutto per il proxy! |
beh, la cosa più banale è Code: | echo 0 > /proc/sys/net/ipv4/ip_forward | così disabiliti il forwarding e se qualcosa passa deve passare dal proxy o puoi anche provare a fermare il proxy e a vedere se riesci a navigare o meno
Quote: | A proposito... Io tramite squidguard riesco a bloccare qualsiasi URL, però quelli della rete interna no.. Mi spiego meglio. Sempre sul server ho installato SARG, accessibile dall'indirizzo http://10.0.0.1/squid-reports . Con squidGuard non riesco a fare in modo che tale URL sia accessibile solo da uno o più ip (al max 2). Come si può risolvere? |
essendo nella rete interna tutte le macchine possono raggiungere la macchina con SARG direttamente, per impedirlo dovresti metterci un firewall o mettere la macchina fuori dalla rete, dipende dalle tue esigenze _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
Kernel78 Moderator
Joined: 24 Jun 2005 Posts: 3654
|
Posted: Tue May 19, 2009 1:09 pm Post subject: |
|
|
fbcyborg wrote: | Quindi non c'è modo di bloccare l'accesso a quel sito.... nemmeno facendo con un sistema di password.. mmh.. |
sarg non lo conosco, potrebbe avere un sistema di protezione suo ma essendo interno alla rete viene raggiunto direttamente quindi non puoi basarti sul proxy per filtrare gli accessi ... _________________ Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con Code: | grep -vE '(^[[:space:]]*($|(#|!|;|//)))' |
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
|
Back to top |
|
|
fbcyborg Advocate
Joined: 16 Oct 2005 Posts: 3056 Location: ROMA
|
Posted: Fri May 29, 2009 9:57 pm Post subject: |
|
|
Avevi ragione, solo che per inesperienza ho sottovalutato la cosa.
devilheart wrote: | se il nat e forward sono attivi allora i pc interni possono sbattersene del proxy per tutte quelle connessioni che non sono esplicitamente dirottate sul proxy. potrebbe avere senso se vuoi che solo http sia inviato al proxy |
Alla fine il fatto che esistano programmi del genere invisible proxy, mi ha spinto ad optare per la drastica scelta:
bloccare tutto di default e autorizzare esplicitamente le connessioni.
La prima cosa che ho fatto è inserire una blacklist di proxy in squidguard.
Il problema forse si ripresenta se viene utilizzato qualche programmino che faccia la stessa funzione.
Purtroppo anche se c'è squidguard, se qualcuno installa qualche programma proxy, baypassa i controlli di squidguard.
Devo trovare una soluzione anche a questo.
Attualmente il mio file rules-save è il seguente:
Code: | # Generated by iptables-save v1.4.2 on Fri May 15 16:37:36 2009
*nat
:PREROUTING ACCEPT [3679:386755]
:POSTROUTING ACCEPT [2582:199185]
:OUTPUT ACCEPT [4839:351636]
[233:11664] -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
[3941:250829] -A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
# Completed on Fri May 15 16:37:36 2009
# Generated by iptables-save v1.4.2 on Fri May 15 16:37:36 2009
*mangle
:PREROUTING ACCEPT [152279:78315888]
:INPUT ACCEPT [134042:69556679]
:FORWARD ACCEPT [18037:8736109]
:OUTPUT ACCEPT [98110:69755897]
:POSTROUTING ACCEPT [117017:78647198]
COMMIT
# Completed on Fri May 15 16:37:36 2009
# Generated by iptables-save v1.4.2 on Fri May 15 16:37:36 2009
*filter
:INPUT ACCEPT [16057:6100575]
:FORWARD ACCEPT [4558:1617331]
:OUTPUT ACCEPT [15465:5696586]
[6:288] -A INPUT -s ! 10.0.0.2/32 -d 10.0.0.1/32 -p tcp -m tcp --dport 10000 -j REJECT --reject-with icmp-port-unreachable
[24:1152] -A FORWARD -p tcp -m tcp --dport 4661:4711 -j REJECT --reject-with icmp-port-unreachable
[31:1584] -A FORWARD -p udp -m udp --dport 4661:4711 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p tcp -m multiport --dports 6881,6882,6883,6884,6885,6886,6887,6888,6889,1214 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p udp -m multiport --dports 6881,6882,6883,6884,6885,6886,6887,6888,6889,1214 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p tcp -m multiport --dports 6346,6347 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p udp -m multiport --dports 6346,6347 -j REJECT --reject-with icmp-port-unreachable
[27:1248] -A FORWARD -p tcp -m multiport --dports 4500,4711,4665,4661,4672,4662,5000,6543,8080,9955,56652 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p udp -m multiport --dports 4500,4711,4665,4661,4672,4662,5000,6543,8080,9955,56652 -j REJECT --reject-with icmp-port-unreachable
[6:288] -A FORWARD -p tcp -m tcp --dport 4242:4299 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p udp -m udp --dport 4242:4299 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p tcp -m tcp --dport 6881:6999 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -p udp -m udp --dport 6881:6999 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Fri May 15 16:37:36 2009
|
Code: | # cat /proc/sys/net/ipv4/ip_forward
1
|
Ma ho visto che non è che sia poi così buono.
A quanto pare dovrei tasformarlo nel seguente modo:
- abilitare il nat (?) (già fatto)
- negare tutto
Code: | iptables -P FORWARD DROP | ?????
redirigere tutte le richieste in arrivo sulla 80 verso la 3128 del proxy ovvero
Code: | [233:11664] -A PREROUTING -d ! 10.0.0.0/24 -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 |
abilitare https (443 ?)
abilitare pop3 e smtp
abilitare windows update
abilitare aggiornamenti vari antivirus
Per favore qualcuno mi può dare una mano?
L'ordine delle operazioni è corretto?
Grazie, come sempre!
EDIT: mi sa che alla fine ho risolto un'alta percentuale di questi problemi aggiungendo le blacklist dei proxy su squidguard e credo che si risolverà definitivamente quando toglierò a tutti i client winzozz i privilegi di amministratore. E' chiaro che una soluzione sicura al 100% non esiste, ma così facendo almeno si dovrebbero limitare un bel po' di cose. Creando account limitati almeno si potrà evitare che gli utenti installino programmi che fanno da proxy. _________________ [HOWTO] Come criptare la /home usando cryptsetup e luks
[HOWTO] Abilitare il supporto al dom0 XEN su kernel 3.X
Help answer the unanswered |
|
Back to top |
|
|
devilheart l33t
Joined: 17 Mar 2005 Posts: 848 Location: Villach, Austria
|
Posted: Mon Jun 01, 2009 10:51 am Post subject: |
|
|
io direi
1)togli il masquerade. visto che il server non manda roba su una interfaccia pubblica, il nat è solo uno spreco di risorse. ricorda solo di configurare opportunamente il router adsl
2)di default blocca tutto. questo vuol dire che INPUT, FORWARD e OUTPUT devono essere drop. sostituisci anche tutti i REJECT con dei DROP perché coi REJECT è come dire all'attaccante "hey, c'è un firewal che blocca"
3)abilita un po' alla volta solo i servizi che ti servono. se ti accorgi che il filtraggio in base alla porta non ti è sufficiente allora dovrai ricorrere alla deep packet inspection
come altra opzione c'è il modulo string di iptables. con esso puoi ad esempio bloccare tutti i pacchetti che contengono la parola "facebook" all'interno
Last edited by devilheart on Mon Jun 01, 2009 11:03 am; edited 1 time in total |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|