Newsgroup: it.comp.os.linux.sys
Titolo: Mi spiegate come riescono a fare questo?

Su un server ho abilitato ssh sulla scheda pubblica.
Il servizio pero' e' configurato con PasswordAuthentication no, quindi 
accetta connessioni solo con chiavi dsa. Infatti se io provo da un pc che 
non ha le chiavi a fare ssh su questo server mi dice subito Permission 
denied (publickey,gssapi-with-mic).
Mi spiegate allora perche' in /var/log/secure trovo ogni giorno "migliaia" 
di tentativi di accesso di questo tipo:
Invalid user oracle from ::ffff:125.251.XXX.X
Cioe' io mi chiedo, come fanno a provare un utente su ssh, se sshd non 
procede con l'autenticazione in mancanza delle chiavi? 

Davide D'Amico ha scritto:

Banale:
ssh pippo@dominio
nel log di dominio:
  sshd[6451]: Illegal user pippo from a.b.c.d
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
- Sapete perche' i generali sono cosi' imbecilli?
- Perche' li scelgono tra i colonnelli.
		-- Anonimo

Davide D'Amico wrote:

Cerca di filtrare gli accessi con iptables o almeno con
hosts.allow/hosts.deny

  sshd[6451]: Illegal user pippo from a.b.c.d
Avevo provato.... ma provavo con un utente esistente quindi nel log non 
compariva nulla.... solo un abbaglio.
Ciao.

 hosts.allow/hosts.deny
Non posso. Ho lasciato ssh aperto proprio perche' ho bisogno di collegarmi 
ovunque mi trovo.
Piuttosto vorrei iniziare a studiarmi il port-knocking sul firewall. 
Qualcuno ha esperienze in merito? 

sono dei robot che bussano sempre con utenti/password precodificate nella
speranza di beccare un utente fesso che abbia messo una password farlocca.
Bye,
Raktzo

 speranza di beccare un utente fesso che abbia messo una password farlocca.
Da me hanno pescato un mio caro utente che aveva creato un account chiamato
guest e con password guest.
In 10 minuti gli hanno piazzato un programmino che spammava mezzo mondo.
Fortuna gli ids che me ne sono accorto subito...

 Invalid user oracle from ::ffff:125.251.XXX.X
Ortogonale al tuo post, ma basta cambiare la porta di sshd per ridurre
praticamente a zero il rompimento di scatole ;)
Luca
-- 
Home: 
http://kronoz.cjb.net
Windows /win'dohz/ n. : thirty-two  bit extension and graphical shell to
a sixteen  bit patch to an  eight bit operating system  originally coded
for a  four bit microprocessor  which was  written by a  two-bit company
that can't stand a bit of competition.

 praticamente a zero il rompimento di scatole ;)
Si, infatti ora risponde alla porta 222 ;-)

 Qualcuno ha esperienze in merito? 
Io ho usato knockd per un periodo, ma poi ho desistito.
Spesso, se sono da clienti, il firewall blocca tutto ciò che non è su 80
e 443, quindi ero fregato perché non sempre riuscivo a bussare (e
ovviamente quando non ci riuscivo era il momento in cui avevo maggior
bisogno).
Alla fine il sistema a mio avviso più vantaggioso, è l'impostazione di
un firewall dinamico controllato via WEB. Per questo scopo basta un
semplicissimo form in cui indicare IP di provenienza e porta da
redirigere e passare questi dati dal CGI via unix socket ad un demone
che configura iptables per redirigere la porta specificata sull'SSH per
il solo IP specificato.
Questo ti consente di avere un ottimo livello di sicurezza (sempre e
comunque maggiore dell'ssh aperta al mondo) e ti consente di bypassare
molti firewall impostandoti come porta da redirigere la 80 o la 443 o
una qualsiasi di quelle aperte direttamente sul FW.
Altrimenti, se vuoi farla ancora più pulita e versatile, al posto di SSH
metti in ascolto, sempre con lo stesso principio, un openvpn su TCP, che
ti consente anche di passare da proxy e anche da proxy autenticati.
Infine, se invece vuoi farla semplice, metti l'SSH in ascolto su una
porta alta (>10000) e vivi benissimo ugualmente
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 e pensi "perche' non funziona?"
Su una rivista avevo letto il trucchetto di mettere sshd in ascolto sulla 23,
sostituendo così telnetd.
Tu che ne pensi?
-- 
Ragazzi, sapete qual e' la citta' piu' pulita al mondo?  E' Berna, in
Svizzera.  Pensate, e' cosi' pulita che i proprietari di cani, quando
vanno per strada con il proprio animale, oltre a raccogliere la sua
popo' con la paletta, raccolgono anche la sua pipi', con la cannuccia.
		-- Panfilo Maria Lippi, "TABLOID TABLOID"@"Mai Dire Gol"

 Si, infatti ora risponde alla porta 222 ;-)
Veramente sino alla 1024 le porte sarebbero riservate.
-- 
Internet?  Ma perche' devo andare a cercare qualcuno che abita all'altro
capo del mondo, quando non sopporto il mio vicino di casa?
		-- Prof. Fontecedro (Daniele Luttazzi), "Mai Dire Gol"

Era il Friday 01 September 2006 10:52 e cosi` parlo` Davide D'Amico ...

Come ti hanno gia` detto, loro ci provano ...
Io mi sono fatto uno scrippettino che esamina i log, prende nota degli
indirizzi da dove parte l'attacco, e modifica le regole del fw in modo da
chiudere gli accessi a quegli indirizzi.
Devo dire che dopo qualche mese il numero di attacchi registrati e` calato
di molto.
-- 
--> x3m <--

 il solo IP specificato.
Furbo!
Usando https e una interfaccia a iptables scritta bene (casomai un piccolo
daemon che controlla un file periodicamente) è proprio una gra bella idea.
Grazie per la dritta!

 Tu che ne pensi?
Utile solo per ingannare gli script, ma totalmente inutile per le scansioni.
Se si deve spostare, si sposta su una porta *alta* e non assegnata.
Metterlo su una delle porte comunemente utilizzate da altri servizi non
serve un granché e non è molto intelligente.
Parti da 20000 e aggiungi 4 numeri casuali e hai una porta libera da
usare come vuoi, anche se il range corretto in cui pescare sarebbe
quello da 49152 in poi (
http://www.iana.org/assignments/port-numbers
"The Dynamic and/or Private Ports are those from 49152 through 65535")


 modo da chiudere gli accessi a quegli indirizzi.
Direi che e' un po' pericoloso, in quanto rischi di cadere in un falso
positivo proprio nel momento peggiore (e Murphy queste cose le attende
con devozione)
Enrico

Era il Saturday 02 September 2006 19:14 e cosi` parlo` Enrico Henryx
Bianchi ...

Ci avevo pensato, ma per il momento non e` capitato ed'e` difficile che
capiti. Chi entra con ssh in modo lecito, non fa n tentativi con n login
diverse ...
-- 
--> x3m <--

 di molto.
Non e' che lo posteresti?
Sono curioso di vedere se e' possibile applicarlo ad una mia macchina.
Grazie
EmJey
-- 
Non prendere la vita troppo sul serio... non ne uscirai mai vivo
http://www.joram.it/servizi/consulente.htm

 Sono curioso di vedere se e' possibile applicarlo ad una mia macchina.
Stavo pensando di scriverne uno anch'io. Ma se qualcuno l'ha già
fatto... ben venga: in fin dei conti sono pigro :-)
-- 
Massimo Bacilieri AKA Crononauta 
ICQ:4005815

Crononauta wrote:

Vi segnalo questo:
http://www.aczoom.com/cms/blockhosts/
Non l'ho provato personalmente però.
Ciao,
-- 
Sandro.

 Sono curioso di vedere se e' possibile applicarlo ad una mia macchina.
Se vuoi te lo posto, ma e` cucito su misura per il mio firewall. Forse fai
prima a scriverne uno nuovo che a modificare il mio. Oltretutto e`
abbastanza grezzo: era nato come test, poi l'ho tenuto.
Saranno poco piu` di una decina di righe in tutto, con grep, sort, uniq e
sed che la fanno da padrone.
-- 
--> x3m <--

 un firewall dinamico controllato via WEB
Sì pero la web come la proteggi? E se l'hai fatta tu a mano magari c'hai
lasciato qualche bug...a sto punto tanto vale lasciare l'ssh aperto a tutti
gli IP no?
-- 
Vide

 gli IP no?
E' ben difficile lasciare bug in 30 righe di codice per il CGI e 20
righe nel demone che gira come root, soprattutto quando puoi usare
moduli già fatti e testati come CGI e Net::Server. La comunicazione su
socket unix serve apposta per impedire qualsiasi compromissione con
privilegi di root attraverso l'applicazione.
L'unico punto critico è la validazione dei dati che attraversano la
socket unix, cosa abbastanza semplice dato che si tratta di un IP ed una
Porta.


Crononauta ha scritto:

Io uso sshblacklist e funziona bene
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Un uomo sulla luna non sara' mai interessante quanto una donna sotto il
sole.
		-- Leopold Fechtner

 
Puoi bloccare gli host che fanno più di n connessioni contemporanee
verso ssh tramite il modulo iplimit di patch-o-matic.
 Gio'
-- 
/*
 * SnB - Qualità informatica - 
http://www.snb.it
 */

 verso ssh tramite il modulo iplimit di patch-o-matic.
Per sicurezza preferisco bloccare tutto il traffico proveniente da quegli
ip. Inoltre lo script non controlla solo ssh.
Comunque grazie per la segnalazione, provvedero` a documentarmi.
-- 
--> x3m <--

 
puoi specificare quale porta controllare come una normale regola di
iptables


 fatto... ben venga: in fin dei conti sono pigro :-)
Portsentry è ciò che fa per te.
Alessio

Era il Monday 04 September 2006 12:34 e cosi` parlo` Giovanni Bechis ...
[cut-all]
Ho controllato iplimit, ma a quanto ho capito limita solo le connessioni
parallele provenienti da un certo indirizzo.
Quindi se un robot cerca di entrare ripetutamente sulla ssh, effettuando una
connessione alla volta, non viene filtrato.
Correggimi se sbaglio. :-)
-- 
--> x3m <--

Mandi! Davide D'Amico
  In chel d? si favelave...
DDA> Qualcuno ha esperienze in merito? 
Io per ssh ho messo in sshd_config
	LoginGraceTime 15
	MaxStartups 2
e aggiunto la regola di iptables:
       $IPT -A INPUT -p $p -i $IFP -m multiport --dports ${ACCEPT[$p]} \
                -m state --state NEW \
                -m limit --limit $LIMIT --limit-burst $BURST -j ACCEPT
in questa maniera non riescono a fare più di 5-10 tentativi...
-- 
  Stanno arrivando da lontano con il futuro nella mano
  sotto la pioggia					(A. Venditti)

 Correggimi se sbaglio. :-)
Puoi usare il match *recent* di iptables.
man iptables
/recent
e trovi un esempio che fa al caso tuo.


 di molto.
Io uso una tecnica ancora più scema: ho messo un banner pseudocausuale
da 100kB, così chi prova usarname in sequenza viene rallentato
tantissimo; a me che, mi collego alla grande 10 volte al giorno, non da
nessun fastidio.
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Grandissima mi par l'inezia di coloro che vorrebbero che Iddio avesse
fatto l'universo più proporzionato alla piccola capacità del lor discorso.''
     --Galileo Galilei (Opere VII)

 nessun fastidio.
Questo mi piace assai! Non ci avevo pensato ma quasi quasi... :-P


 
http://www.aczoom.com/cms/blockhosts/
Lo sto provando..... funziona perfettamente.
Praticamente in hosts.allow aggiungi una riga che fa lo spawn di uno script 
python che non fa altro che cercare con delle regex determinate righe in var 
log secure, ne ricava l'ip e lo mette come deny in hosts.deny.
Le righe da cercare insieme ad altre cosette, ad esempio dopo quanti match 
deve considerare l'ip bloccato, oppure dopo quanto tempo sbloccarlo, sono 
comodamente scritte in un file di configurazione modificabile a piacere.
Insomma comodo ed efficace.