Come promesso eccovi in questo articolo dove parlo di fail2ban, eccovi la mia regola per bloccare i tentativi di utilizzo imporprio del vostro asterisk per usare i vostri provider SIP.
Per prima cosa, se non vi serve l’accesso dall’esterno al vostro asterisk, non fatelo 😀 che vivrete meglio, dato che degli attacchi sono sempre più comuni.
Category: Italiano
La mia esperienza con WebDAV, NIS, e clients MAC, Linux, Windows 7 e iPhone
Questa settimana ho provato WebDAV server su Linux utilizzando APACHE per poter offrire all’utenza della mia rete la possibilita di condividere file in maniera trasparante e facile anche quando all’esterno della nostra rete. In questo articolo non scendero nei dettagli e daro per scontato che conoscete la conf di APACHE, avete un server NIS almeno per la seconda parte, e sapete installare delle librerie in perl.
Continue reading La mia esperienza con WebDAV, NIS, e clients MAC, Linux, Windows 7 e iPhone
3CX lancia il suo client per Android
3CX ha annunciato il rilascio del suo client anche per Android (versione 1.6 minima), naturalmente gratuito. Con il 3CXPhone si potranno fare chiamate in 3G (sempre se il provider 3G non le blocchi).
Il softphone usa lo standard SIP perciò non dovete utilizzare un server di 3CX, potete usare direttamente il provider SIP che più vi aggrada o un vostro server SIP come il 3CX (che offrono entrambi una versione gratuita per windows) oppure il famoso Asterisk per linux o tanti altri.
La funzionalità più interessante è la possibilità di registrare le chiamate, personalmente è la prima volta che la vedo su un client per mobile phones.
Continue reading 3CX lancia il suo client per Android
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
Numero fisso canadese
L’altro giorno stavo cercando il modo di avere un numero fisso in Canada, e cerca che ti cerca sono incappato in un provider. Mi sono detto: “Finalmente un provider simile ad eutelia che ci fornisce terminazioni gratuite in altre nazioni che non sia l’Italia”.
Ma, e si c’è un ma, questo provider ha delle limitazioni comparato con eutelia. Il numero fisso che offre funziona solo da softphone, ma non disperate, offrono la possibilità d’utilizzarlo anche con apparecchi SIP, per fare questo si deve pagare 50 dollari più tasse per potere avere la password. Anche senza pagare, si possono fare le chiamate da softphone alle principali città canadesi.
Il provider si chiama freephoneline, il nome tutto un programma. Comunque la qualità è più che buona anche se a volte ci sono delle disconnessioni e ritardi sulle connessioni. Comparato con eutelia offre una affidabilità minore.
Offre anche la possibilità di inviare chiamate alla segreteria che possono esservi inoltrate via email. Trasferire le chiamate in cascata a differenti terminazioni canadesi che non siamo freephoneline. Una volta si parlava di trasferirle in peering ad una numerazione SIP, ma per il momento non ho mai visto questa funzione.
L’ho collegato sia sul server SIP (asterisk) che sul fritz!box 7270 senza alcun problema, non ha alcun tipo di compatibilità una volta acquistata la password SIP, anche se per attivarvela vi fanno aspettare alcune settimane, non ne ho mai capito il motivo.
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