Newsgroup: it.comp.os.linux.sys
Titolo: stroncare tunnel ssh attraverso proxy

Allora, un tizio mi ha fatto vedere che e' riuscito ad usare il proxy di 
una rete per farsi sun tunnel e attaccarsi in ssh ad un pc esterno.
La domanda che vi pongo e': come faccio a stroncare 'ste stronzate? Chi 
la fatto era serio e l'ha fatto per mostrarmi che si poteva fare, ma 
voglio evitare che anche altri lo possano fare.

> lo ha fatto usando un port forwarding ?
Piu semplice secondo me ....
Avra usato un client Ssh che supporta tunnel http come ad esempio
mindterm.
Ciao
Andrea

Yamazaki wrote:

Fico non sapevo nemmeno esistesse.
Grazie
                Luca
-- 
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<
Luca Paredi
Computing technical supporter              
Universita' degli Studi dell'Insubria  
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<

 
Anche il putty lo dovrebbe fare.
Ciao

 
Secondo me dovresti bloccare il metodo connect dalla configurazione 
dello squid.
es.
acl CONNECT method CONNECT
http_access deny CONNECT
Solo che ti sorge un piccolo problema se lo blocchi in toto ad esempio i 
servizi di home-banking non ti funzionano piu.
Potresti lasciare attivato il connect solo sulla porta 443
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access deny CONNECT !SSL_ports.
Ma se il tipo è furbo sul suo pc di casa attiva il demone ssh sulla 
porta 443 e passa ma almeno gli rendi la vita un po' + difficile.
Ciao
Andrea

 di una rete per farsi sun tunnel e attaccarsi in ssh ad un pc esterno.
una parte li blocchi limitando il connect alle porte https sul proxy; se
il server ssh e' spostato sulla porta 443, non puoi bloccarlo se non
utilizzando acl con blacklist/whitelist. AFAIK.
-- 
*    HappyCactus - Linux User #209744 - BOFH Certified Engineer    *
*                       
http://www.google.com
                      *
*                                                                  *
*            Tutto puo' andare storSegmentation fault.             *


Immagino che tu ti riferisca ad un proxy http. Ci sono diversi modi
per fare un tunnel http e non tutti si possono bloccare mantenendo,
al contempo, la funzionalita' del proxy, ma puoi di sicuro mitigare
il fenomeno. In genere si puo' filtrare o sulle destinazioni (per i
tunnel http basati su gateway pubblici, o basati su gateway privati
messi su connessioni dialup) o sugli url passati al proxy oppure su
peculiarita' nel contenuto del traffico.
Difficile essere piu' specifici in poco spazio vista la varieta' di
tunnel ed i differenti approcci da adottare a seconda dei casi. Nel
caso specifico, forse, e' stato utilizzato il metodo CONNECT con un
client SSH che lo supporta, verso un server ssh messo in ascolto su 
una porta permessa in uscita dal proxy per questo metodo. Soluzione
unica, IMHO: filtrare il traffico che inizia con "SSH-" sulle porte
abilitate per il metodo CONNECT.
Fabio

 La domanda che vi pongo e': come faccio a stroncare 'ste stronzate?
in generale, non puoi - l'idea generale dietro https e` stabilire una
connessione tcp tra browser e server, gestita a livello applicativo
dal server senza alcuna prescrizione sul protocollo da impiegare al
suo interno; se c'e` di mezzo un proxy, questo non puo` far altro che
stabilire la connessione in vece del browser, e successivamente
ribaltarla verso il browser: ne viene che in generale l'unico
controllo che puoi fare a livello di proxy e` sull'indirizzo del
server https che il client cerca di contattare. A livello di firewall,
ci sono poi alcuni trucchetti per rendere la vita un po' piu`
complicata a scocciatori dilettanti: per esempio potresti troncare
connessioni outbound su 443 dove il server si presenti come OpenSSH
piuttosto che con un certificato X509
ciao,
     p1nco
p.s. un paio di riferimenti interessanti:
http://e-zine.nluug.nl/hold.html?cid=196
http://groups.google.com/groups?hl=it&lr=&ie=UTF-8&q=Bretterklieber+dummynet+discourage&btnG=Cerca&meta=

 La domanda che vi pongo e': come faccio a stroncare 'ste stronzate?
in generale, non puoi - l'idea generale dietro https e` stabilire una



Lo fa.
E' un po` macchinoso da configurare ma poi una volta memorizzato ce lo hai li.
Molto + semplice e lineare come al solito il CLI ssh.

 ssh -R ?
non capisco....

 abilitate per il metodo CONNECT.
e come si fa?

 cosa passa per le sue porte e poi stroncarlo.
in questo caso so chi è l'utente e l'ha fatto per prova, tanto che
appena l'ha fatto l'ha detto. non voglio sodomizzarlo, voglio solo pormi
nella condizione di doverne crocifiggere altri.

 e come si fa?
iptables accetta il match per stringa, che e` anche uno dei pochi modi
per becchare i vari software p2p (bloccare porte e` molto meno
fruttuoso, visto che molti ne aprono random qua e la`).
La sintassi tipica e`:
iptables -A INPUT -m string --string 'qualcosa' -j DROP
(ipotetico blocco di stringa "qualcosa", sulla chain di input, droppando
il pacchetto).
Pero` occhio che mi sa che e` nelle patch o quantomeno devi ricompilare
il kernel se gia` inclusa nella tua versione di netfilter.
Altra considerazione: questi lavori, forse, e` meglio farli fare ad un
ids. Con snort dovrebbe essere relativamente piu` semplice da fare, piu`
preciso, e forse, in giro, c'e` gia` qualcosa (o qualcosa da cui
prendere spunto):
http://www.snort.org/snort-db/
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
If work, don't fix it.

 preciso, e forse, in giro, c'e` gia` qualcosa (o qualcosa da cui
alert tcp $HOME_NET any -> $EXTERNAL_NET 443 (
    msg:"Sospetto tunnel SSH su 443/tcp"; 
    flow:to_server,established; 
    content:"SSH-"; 
    offset:0; 
    depth:4; 
    classtype:policy-violation; 
    sid:1000143; 
    rev:2;)
Ma poi bisogna andare dal cattivone e tirargli, a mano, le orecchie.
In alternativa, un colpetto di resp=rst_all; e non ci si pensa piu'.
Non ci dovrebbero essere falsi positivi, ma il falso negativo non si
puo' escludere.
Una terza alternativa agratis e' snort-inline: nessun falso negativo
ma e' sicuramente il piu' complesso da configurare e gestire.
Forse ci sono anche dei proxy http che posson fare content filtering
sulle sessioni CONNECT, non mi sono mai interessato.
Fabio

 sulle sessioni CONNECT, non mi sono mai interessato.
Me neither.
Ps:
Grazie per la rule. E` migliore della mia. :))
-- 
                          Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Just because you're not paranoid, doesn't mean they aren't out to get you.

 Hai qualche esperienza da raccontare?
E' attualmente utilizzato nel progetto honeynet-project nella
configurazione GenII come Intrusion Prevention System (per impedire
all'host compromesso di nuocere). Ottimo, AFAIK. Mai provato, io
personalmente.


 Yep. Ma mai provato. Hai qualche esperienza da raccontare?
No, mi spiace: non l'ho mai usato in produzione. Avevo giocherellato un
po' con hogwash a suo tempo e, non molto tempo fa, con snort-inline, ma 
solo su routerini di prova, per brevi periodi di tempo. 
Ultimamente mi punge vaghezza d'accrocchiare una honeypot e, quindi, ci
tornero' su, probabilmente.
Fabio