bloccare il brute force su SSH (porta 22) banalmente con iptables

8 Oct
2007

quante volte avrete visto i logs dei vostri server occupati da MB e MB di tentativi (da parte di ottimisti) che tentavano di loggarsi al vostro sistema?

beh, se usate Linux come OS potete scrivere un paio di rules molto semplici che vi eviteranno però molti problemi successivi (soprattutto di vista).


iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP

queste regole permetteranno 8 connessioni/min massime su SSH, droppando le altre.

è tutto, banalmente semplice o semplicemente banale.

via: kevin.vanzonneveld.net

9 Responses to bloccare il brute force su SSH (porta 22) banalmente con iptables

Avatar

HexDEF6

October 9th, 2007 at 9:20

Piccolo problema con queste regole:
se sei sotto attacco (il gia da te descritto brute force) molto probabilmente verranno droppate anche le tue leggittime connessioni al tuo server ssh.
E’ meglio droppare le connessioni multiple fatte dallo stesso IP (ma ovviamente in questo caso ti serve qualcosa del tipo denyhost)

Ciao

Avatar

marco

October 9th, 2007 at 9:30

@HexDEF6

si, se ti connetti in SSH proprio nel momento dell’attacco saresti droppato anche tu in quanto le connessioni superano il tetto stabilito. al limite basta far stancare il (l)user che ti sta attaccando e connettersi subito dopo :)

…a mio avviso la soluzione non è comunque da scartare per coloro che vogliono qualcosa che sia affidabile senza installare software aggiuntivo (tipo l’ottimo denyhosts)

ciao, marco

Avatar

HexDEF6

October 9th, 2007 at 9:39

Scusa ho fatto un po di casino… di colpo credevo che usassi limit (e non recent) e infatti la differenza fondamentale tra i 2 e’ che limit non tiene conto dell’ip sorgente, e invece recent si..
quindi queste regole dovrebbero funzionare perfettamente!

Ciao!

Avatar

Bobonov

October 9th, 2007 at 10:43

Solo una breve nota…..
Nell’inserire il codice il tuo cms deve aver convertito il — nel segno meno allungato, quindi il tuo codice non funzione.

Avatar

Henryx

October 9th, 2007 at 10:50

Le regole sono interessanti, ma una buona e sana azione preventiva puo` essere messa in atto cambiando la porta su cui si trova in ascolto il demone SSH (ovviamente non e` LA soluzione, ma assieme alle regole postate e` una buona pratica da mettere in piedi)

Enrico

Avatar

Bobonov

October 9th, 2007 at 11:02

infatti ha convertito anche il mio meno meno

Avatar

khaoss

October 9th, 2007 at 12:01

io avevo fatto uno script banalissimo in bash che mi controllava se c’era un brute da uno stesso ip , e se cosi era lo aggiungeva alla denyhost del firewall .

Se siete interessati contattatemi : khaoss@security-network.it

Avatar

marco

October 9th, 2007 at 13:50

@HexDEF6

si abbiamo fatto un po’ di confusione, le regole tengono conto dell’IP quindi il legittimo utente non verrebbe droppato.

@Bobonov

ora dovrebbe essere a posto, grazie per la segnalazione

ciao, marco

Avatar

lastfeel

March 11th, 2008 at 16:04

devo dire che queste regole sono carine ma propio solo per dire posso dire che il brutte forse non ha senso quando usa ssh con autenticazione tramite le chiavi publice quindi invito a qualunkue lamer di provare a crackare la chiave e puoi dico quello che stato detto prima che sarebbe anche una buona idea cambiare il numero di porta

Comment Form

top