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.
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...
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à
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)
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.
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à
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).
Io personalmente adotto questa politica di sicurezza.
Restringo gli ip che possono accedere a ssh
per sicurezza uso anche tcpwrapper
cambio porta a ssh.
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:
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?
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à
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.
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à
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)
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.