Repository 32bit  Forum
Repository 64bit  Wiki

Proteggersi dai bruteforce!

Postate qui per tutte le discussioni legate alla sicurezza di Linux/Slackware

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Proteggersi dai bruteforce!

Messaggioda darkstaring » gio mag 19, 2011 0:55

Ciao a tutti,
oggi ho provato con hydra ad "hackerare" il mio sistema.. volevo trovare la password del mio pc
Personalmente uso password che non stanno in un dizionario
ma ho notato che i login falliti non vengono contati e questa è una falla!..

Vorrei bloccare l'accesso per 15 min ogni volta che viene inserita per 3 volte di fila una passwd errata, ma non saprei da dove cominciare :)
spero di esser stato chiaro...

Sapete aiutarmi?

Ah, ho visto che 2 utenti (operator e gdm) avevano bash come shell di login.. li ho settati su /bin/false...

Fatto bene?
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 408
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Proteggersi dai bruteforce!

Messaggioda darkstaring » gio mag 19, 2011 1:41

ceeessss son 2 ore cercando su internet e alla fine solo ora ho guardato /etc :).. Sembra che il file sia login.defs
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 408
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Proteggersi dai bruteforce!

Messaggioda targzeta » gio mag 19, 2011 9:30

Potresti spiegarti meglio? Io tempo fa ho fatto uno script a questo scopo ma se c'è un modo più semplice tanto meglio.

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Proteggersi dai bruteforce!

Messaggioda masalapianta » gio mag 19, 2011 10:40

vado a memoria ma non mi pare che login.defs ti permetta di impedire il login per n minuti dopo dei tentativi falliti (al massimo ti permette di buttare giu la sessione ssh dopo n tentativi falliti, ma nulla vieta di riprovare a connettersi un nanosecondo dopo); quel che cerchi è pam_tally (la relativa pagina di manuale è chiara ed esaustiva)
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Re: Proteggersi dai bruteforce!

Messaggioda Mario Vanoni » gio mag 19, 2011 16:00

Un programma efficiente (e cattivo) e`
http://denyhosts.sourceforge.net/

funziona in ditta con accesso internet da oltre 10 anni.
Unico problemino, successo a me:

Il mio provider mi da un IP dinamico, a scelta sua,
sgarro una volta la passwd, denyhosts blocca l'IP per sempre,
unicamente il sysadm in loco puo` cancellarlo.

Spegnere/riaccendere il modem per avere un nuovo IP.
Mario Vanoni
Iper Master
Iper Master
 
Messaggi: 3174
Iscritto il: lun set 03, 2007 20:20
Località: Cuasso al Monte (VA)
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey

Re: Proteggersi dai bruteforce!

Messaggioda notsafe » gio mag 19, 2011 16:15

Mario Vanoni ha scritto:sgarro una volta la passwd, denyhosts blocca l'IP per sempre,
unicamente il sysadm in loco puo` cancellarlo.


http://denyhosts.sourceforge.net/faq.html#2_20
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 451
Iscritto il: mar mar 21, 2006 11:00

Re: Proteggersi dai bruteforce!

Messaggioda targzeta » gio mag 19, 2011 17:24

What is DenyHosts?

DenyHosts is a Python script that analyzes the sshd server log messages to determine what hosts are attempting to hack into your system. It also determines what user accounts are being targeted. It keeps track of the frequency of attempts from each host.

Additionally, upon discovering a repeated attack host, the /etc/hosts.deny file is updated to prevent future break-in attempts from that host.
Questo è esattamente quello che ho fatto io, ma in bash. C'è da dire, però, che il file hosts.deny viene utilizzato da tcpd, giusto? Cioé, se io ho un server ssh "puro" in ascolto sulla 22 allora questo meccanismo non funziona. La porta 22 dovrebbe essere monitorata da inted o direttamente da tcpd, corretto?

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Proteggersi dai bruteforce!

Messaggioda davide77 » gio mag 19, 2011 19:56

Guarda anche questo, non l'ho mai provato ma non sembra male: http://www.sshguard.net/
Avatar utente
davide77
Linux 2.4
Linux 2.4
 
Messaggi: 358
Iscritto il: lun apr 25, 2005 23:00
Località: Bergamo
Desktop: xfce
Distribuzione: XUbuntu

Re: Proteggersi dai bruteforce!

Messaggioda notsafe » gio mag 19, 2011 20:48

spina ha scritto:
C'è da dire, però, che il file hosts.deny viene utilizzato da tcpd, giusto? Cioé, se io ho un server ssh "puro" in ascolto sulla 22 allora questo meccanismo non funziona. La porta 22 dovrebbe essere monitorata da inted o direttamente da tcpd, corretto?


no.I file "hosts_access" sono accessibili anche da qualsiasi programma con supporto della libreria libwrap (tcp wrapper):uno di questi è proprio sshd (--with-tcp-wrappers).
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 451
Iscritto il: mar mar 21, 2006 11:00

Re: Proteggersi dai bruteforce!

Messaggioda Meskalamdug » gio mag 19, 2011 22:55

http://www.pawelzorzan.eu/infolinux/27- ... force.html

Io personalmente adotto questa politica di sicurezza.
Restringo gli ip che possono accedere a ssh
per sicurezza uso anche tcpwrapper
cambio porta a ssh.
Meskalamdug
Iper Master
Iper Master
 
Messaggi: 3593
Iscritto il: gio mag 13, 2004 23:00

Re: Proteggersi dai bruteforce!

Messaggioda darkstaring » gio mag 19, 2011 23:20

Grazie a tutti :)

masalapianta ha scritto: quel che cerchi è pam_tally (la relativa pagina di manuale è chiara ed esaustiva)

Ho installato pam_tally,
E' questa la pagina da seguire?
http://www.kernel.org/pub/linux/libs/pa ... tally.html
Perchè non è chiarissima come dici tu :)
O meglio, non è chiaro dove e come mettere i dati
In rete ho trovato queste configurazioni:

/etc/pam.d/login:
Codice: Seleziona tutto
    auth         required    pam_tally.so    onerr=fail unlock_time=20       deny=5 per_user
    account     required    pam_tally.so     reset

O questa:
Codice: Seleziona tutto
auth       requisite  pam_securetty.so
auth       required   pam_nologin.so
auth       required   pam_env.so
auth       required   pam_unix.so nullok
account    required   pam_unix.so
session    required   pam_unix.so
session    optional   pam_lastlog.so
session    optional   pam_motd.so
session    optional   pam_mail.so standard noenv
password   required   pam_unix.so nullok obscure min=4 max=8

Nel primo esempio, la voce unlock_time=20 indica la disattivazione per 20 sec o 20 min?
Perchè la guida uffic. diceva secondi mentre la pagina da dove lo preso diceva minuti..

La seconda config è meglio della prima?
Una configurazione ideale?
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 408
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Proteggersi dai bruteforce!

Messaggioda targzeta » gio mag 19, 2011 23:22

Ma siamo sicuri che pam_tally sia eseguibile sulla Slackware? Dal nome sembrerebbe che necessita anche di PAM, che se non sbaglio Slackware non usa ancora. Però oggi mi sono già sbagliato, come dimostrato da notsafe, che ringrazio ;).

Emanuele
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

ssh_blacklilst.sh

Messaggioda targzeta » ven mag 20, 2011 0:08

Vi allego lo script che avevo fatto io l'anno scorso. Basta eseguirlo, ma ovviamente l'utente deve avere i diritti per scrivere nel file /etc/hosts.deny (potete provarlo come utente qualunque, semplicemente modificando il file in cui inserire gli IP). Lo script è molto banale (93 righe tra commenti e configurazione) ed ha almeno un punto debole che, se eseguito su un server che ha frequenti accessi ssh (o tantissimi tentativi di bruteforce) lo rende vano. Attualmente funziona bene su di un server in cui gira ed ha bloccato 717 IP.

Note:
  • Così com'è configurato blocca un IP che sbaglia password per più di 6 volte in 5 minuti.
  • Un'IP bloccato non viene più ripristinato, a meno di non eliminarlo fisicamente dal file /etc/hosts.deny (come diceva Mario).
  • Per come l'avevo pensato io, il server ssh viene eseguito da inetd e tcpd. Però notsafe ci ha mostrato che forse potrebbe funzionare direttamente anche con sshd. C'è da dire che nel mio manuale di sshd, tra l'elenco dei file che usa c'è anche /etc/hosts.deny, e senza bisogno di configurazione.
  • I tentativi di accesso devono avvenire tutti di seguito. Questo vuol dire che se IP_1 sbaglia pass e poi IP_2 tenta (o effettua) una connessione, allora il tentativo fallito di IP_1 viene dimenticato.
Tutto lo script si regge sul fatto che chi prova un bruteforce generalmente fa un sacco di tentativi in un breve tempo. Si può anche mettere un array di IP in modo da risolvere il problema citato all'ultimo punto, ma per quello che ne devo fare io, va bene.

Emanuele

P.S. Prima di allegarlo ho fatto alcune modifiche. Commenti e configurazione (io uso un altro file), quindi se dovesse dare problemi avvisatemi pure.
Allegati
ssh_blacklist.sh
Blocca i tentativi di bruteforce sui server ssh.
(3.43 KiB) Scaricato 67 volte
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 6200
Iscritto il: gio nov 03, 2005 14:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: Proteggersi dai bruteforce!

Messaggioda notsafe » ven mag 20, 2011 8:54

comunque onestamente penso sia meglio usare un DROP in iptables che tcpwrapper: più malleabile (anche "on the fly" ;)) e meno "oneroso" (la sessione TCP non viene elaborata dalla macchina)
notsafe
Linux 2.4
Linux 2.4
 
Messaggi: 451
Iscritto il: mar mar 21, 2006 11:00

Re: Proteggersi dai bruteforce!

Messaggioda masalapianta » ven mag 20, 2011 14:43

darkstaring ha scritto:E' questa la pagina da seguire?
http://www.kernel.org/pub/linux/libs/pa ... tally.html
Perchè non è chiarissima come dici tu :)

quale parte specifica non ti è chiara?
Nel primo esempio, la voce unlock_time=20 indica la disattivazione per 20 sec o 20 min?
Perchè la guida uffic. diceva secondi mentre la pagina da dove lo preso diceva minuti..

sono secondi, come specifica la pagina di manuale
La seconda config è meglio della prima?

che intendi con "meglio"? magari dovresti prima capire come funziona pam_tally e, dopo aver letto la pagina di manuale, fare una tua configurazione in base alle tue esigenze, anzichè cercare di scopiazzare roba fatta da altri, senza capirne il senso.
Una configurazione ideale?

quella che soddisfa le tue necessità
Avatar utente
masalapianta
Iper Master
Iper Master
 
Messaggi: 2775
Iscritto il: dom lug 24, 2005 23:00
Località: Roma
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian

Prossimo

Torna a Sicurezza

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite