Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Diciamo risolto] Problemi con regole iptables
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Wed May 13, 2009 7:48 pm    Post subject: Reply with quote

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. :wink:
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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Wed May 13, 2009 9:00 pm    Post subject: Reply with quote

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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Thu May 14, 2009 12:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Thu May 14, 2009 8:31 pm    Post subject: Reply with quote

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
View user's profile Send private message
devilheart
l33t
l33t


Joined: 17 Mar 2005
Posts: 848
Location: Villach, Austria

PostPosted: Fri May 15, 2009 8:30 am    Post subject: Reply with quote

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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Fri May 15, 2009 10:05 am    Post subject: Reply with quote

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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Fri May 15, 2009 7:25 pm    Post subject: Reply with quote

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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Fri May 15, 2009 7:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Sat May 16, 2009 7:27 am    Post subject: Reply with quote

Chiarito il tuo problema al 100%, tralasciando un attimo il problema di https che può essere affrontato diversamente alla fine :P
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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sat May 16, 2009 8:09 am    Post subject: Reply with quote

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!!! :D 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
View user's profile Send private message
devilheart
l33t
l33t


Joined: 17 Mar 2005
Posts: 848
Location: Villach, Austria

PostPosted: Sat May 16, 2009 8:19 am    Post subject: Reply with quote

la seconda regola cambia anche l'indirizzo di destinazione del pacchetto
Back to top
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Sat May 16, 2009 9:28 am    Post subject: Reply with quote

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 :P 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!!! :D 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 :P
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 :roll:
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sat May 16, 2009 9:48 am    Post subject: Reply with quote

OK, ti ringrazio, cercherò prima di tutto di fare tesoro dei tuoi preziosi consigli (anche per casi futuri) e di impostare le cose in modo che si adattino meglio alla mia situazione.
Il fatto che redirigo tutto sulla 3128, lo faccio apposta perché così posso filtrare la navigazione e bloccare gli URL che voglio.. non so se era questa la tua perplessità.
_________________
[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
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Sat May 16, 2009 10:24 am    Post subject: Reply with quote

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 :P
Che il proxy, dato che è lo stesso router, abbia qualche politica sua di controllo? :roll:
Back to top
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sat May 16, 2009 10:26 am    Post subject: Reply with quote

Forse funziona perché in squid.conf ho messo:
Code:
http_port 3128

Quindi magari non ascolta su un indirizzo preciso, ma su tutti(?).
Non lo so.. ho anche io il dubbio, ma onestamente mi importa fino ad un certo punto!!! :D
visto che funzionare funziona! :P
_________________
[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
View user's profile Send private message
oRDeX
Veteran
Veteran


Joined: 19 Oct 2003
Posts: 1325
Location: Italy

PostPosted: Sat May 16, 2009 12:32 pm    Post subject: Reply with quote

mh..al massimo sarà in ascolto su tutti i suoi indirzzi....non su "tutti" :roll: 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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Sat May 16, 2009 12:39 pm    Post subject: Reply with quote

Sì sì, assolutamente sicuro! Anzi, per me è stato un traguardo quando sono riuscito a far navigare i client senza impostare il proxy! :D
Prima ci riuscivo solo tramite il 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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue May 19, 2009 11:09 am    Post subject: Reply with quote

fbcyborg wrote:
Sì sì, assolutamente sicuro! Anzi, per me è stato un traguardo quando sono riuscito a far navigare i client senza impostare il proxy! :D
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 :lol: )
_________________
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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Tue May 19, 2009 11:27 am    Post subject: Reply with quote

Fammi fare un test a tua scelta, così sei sicuro che passa tutto per il proxy!

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?
_________________
[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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue May 19, 2009 1:00 pm    Post subject: Reply with quote

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 :wink:

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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Tue May 19, 2009 1:02 pm    Post subject: Reply with quote

Ovviamente con squid stoppato non naviga, te lo dico senza fare questa prova, perché per sbaglio l'avevo già fatta in passato! :)

Quindi non c'è modo di bloccare l'accesso a quel sito.... nemmeno facendo con un sistema di password.. mmh..
_________________
[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
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Tue May 19, 2009 1:09 pm    Post subject: Reply with quote

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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Tue May 19, 2009 1:11 pm    Post subject: Reply with quote

Ok, grazie, vedrò se esiste qualche script php da metterci sopra! :)
_________________
[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
View user's profile Send private message
fbcyborg
Advocate
Advocate


Joined: 16 Oct 2005
Posts: 3056
Location: ROMA

PostPosted: Fri May 29, 2009 9:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
devilheart
l33t
l33t


Joined: 17 Mar 2005
Posts: 848
Location: Villach, Austria

PostPosted: Mon Jun 01, 2009 10:51 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
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