Ieri un mio amico mi ha chiesto come poter effetture dei backup incrementali del suo NAS su un altro sistema.
Esistono diversi metodi, per esempio creare dei tar incrementali e poi trasferirli, oppure usare direttamente rsync.
La mia soluzione è stata quella di utilizzare rsync con un piccolo script ed ecco fatto il backup incrementale. Continue reading Rsync per un backup incrementale
Tag: ssh
Autenticarsi in SSH senza l’uso di password
Non tutti conoscono come connettersi in SSH ad una macchina linux senza utilizzare la password ed alle volte è utile farlo per procedure automatizzate, tipo un tunelling rsync.
Per prima cosa dobbiamo creare un set di chiavi, una pubblica ed una privata, per fare questo usiamo il comando ssh-keygen. Continue reading Autenticarsi in SSH senza l’uso di password
Fail2Ban Guida all’uso
Fail2ban è nato per bloccare i tentativi di connessione SSH degli host che tentano di connettersi continuamente per provare user e password differenti (di solito basati su dizionari) per connettersi (BRUTE FORCE). Con gli anni sono stati aggiunte la possibilità di verificare connessione ad altri servizi che vengono attaccati con lo stesso procedimento. Il funzionamento é semplice ed efficace allo stesso tempo. Analizzando i files di logs si riesce a capire i tentavi di brute force e li blocca per un periodo predeterminato, bloccando gli IP incriminati utilizzando dei comandi IPTABLES.
Cominciamo con lo specificare che fail2ban è composto da due programmi, il server che monitorizza i log e usa un socket unix per parlare con il client e passargli le informazioni in tempo reale, ed il client che è il frontend ed interroga il server.
Il server può essere fatto partire in modalità daemon con l’opzione -b per background ed in debug modo con l’opzione -f foreground e -s per dire che file usare per il socket unix.
Con il client possiamo variare il dettaglio del log, leggere la configurazione, ricaricala, ed altro.
Ora passiamo al divertimento e cominciamo ad installare l’applicativo. Personbalmente uso CentOS e di conseguenza illustrerò il procedimento su CentOS, su Ubunto o altre distribuzioni, le modalità ed i percorsi potrebbero essere differenti ma la configurazione è identica.
yum install fail2ban
Ora che l’abbiamo installato, editiamo il file di configurazione
vim /etc/fail2ban/jail.conf
I parametri più importanti
PARAMETRO | DESCRIZIONE |
---|---|
ignoreip | Lista di IP da ignorare, IP possono essere inseriti con il netmask /24 per esempio |
bantime | Tempo in secondi per il quale non accettiamo piu connessioni dal HOST |
findtime | Tempo di reset dei tentativi, dopo X secondi il contatore del retry è resettato |
maxretry | Numero di tentativi massimo in un intervallo findtime |
action | Cosa fare quando si raggiunge il maxretry, normalmente si blocca la porta a quel IP |
port | Il servizio o meglio la porta che usa quel servizio che vogliamo controllare |
filter | La regola di filtro che applichiamo ai log in /etc/fail2ban/filter.d |
logpath | Naturalmente il log da monitorare e ricordiamoci di attivare il daemon per scrivere le info necessarie |
Ora che abbiamo dato alcuni parametri, partiamo con una sezione
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] logpath = /var/log/auth.log maxretry = 5
Per apache
[apache] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache*/*error.log maxretry = 6
E cosi per tutti gli altri
Il parametro che dobbiamo commentare è action, qui diciamo di bloccare la porta ssh, nello specifico con il protocollo tcp, usando lo script iptables.conf che si trova in /etc/fail2ban/action.d.
Possiamo accodare più azioni, per esempio mail-whois-lines che permette di inviare per email delle informazioni supplementari come sapere chi ha tentato la connessione e la linea del log interessata.
Di default vengono forniti differenti filti come apache, webmin, postfix ed altri, e possiamo sempre crearne di nuovi, lo stesso vale per le azioni.
Ora passiamo a dei comandi interessanti
per vedere tutta la configurazione con eventuali warning usiamo il comando
fail2ban-client -d
Possiamo testare le espressioni regolari di un filtro
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd.conf
Per vedere chi è stato bannato
iptables -L
Se vogliamo eliminare un IP bannato e renderlo riutilizzabile, senza attendere il tempo settato in bantime. Possiamo dare il seguente comando
iptables -D
Il nome della catena potrebbe essere fail2ban-ssh nel caso che l’action sia avvenuta per un filtro ssh.
Per ora ho finito, come vedente niente di difficile, come avevo detto all’inizio, semplice ma efficace. Quest’articolo vuole parlare di questo software, non nel dettaglio, per farvi conoscere che esiste uno strumento utile ed interessante. Inoltre, arriva già preconfigurato e pronto all’uso. Quello che dovete fare e capire i parametri e personalizzarli.
Per il momento è tutto, nelle prossime settimane cercherò di fare un filtro per asterisk e di postarlo.
SSH e ascolto su più porte
Vi siete già domandati come fare per aprire due porte in SSH cosi magari autorizzare una porta per il traffico interno ed una per il traffico esterno? O limitare l’accesso SSH solamente a certi utilizzatori. Tutto allo scopo di rendere il vostro servizio SSH più sicuro protegendolo da eventuali attacchi esterni. Se si e non avete trovato una risposta eccovi alcune informazioni.
Cominciamo con editare il file sshd_config che sarebbe la configurazione del deamon ssh e che si trova in /etc Continue reading SSH e ascolto su più porte