{"id":1317,"date":"2016-07-21T11:52:09","date_gmt":"2016-07-21T09:52:09","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=1317"},"modified":"2020-12-17T09:11:42","modified_gmt":"2020-12-17T08:11:42","slug":"fail2ban-2","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=1317","title":{"rendered":"fail2ban"},"content":{"rendered":"<p>Durante un controllo di routine su una macchina che \u00e8 su internet ho trovato un auth.log da 689 MB cosa che mi ha subito messo in allarme ovviamente, analizzando il log ho trovato una quantit\u00e0 esagerata di righe di questo tipo<\/p>\n<pre>Jun 18 11:00:57 aliseo sshd[5657]: Failed password for root from 95.58.255.xxx port 38980 ssh2\r\nJun 18 23:08:26 aliseo sshd[5768]: Failed password for root from 91.205.189.xx port 38156 ssh2\r\nJun 18 23:08:30 aliseo sshd[5770]: Failed password for nobody from 91.205.189.xx port 38556 ssh2\r\n\r\nOK... stanno cercando di sfondare la macchina, per il momento non posso mettere l'autenticazione\r\ncon certificati su SSH ma non posso neanche lasciare tutto cos\u00ec fidandomi della robustezza della password \r\nquel che mi serve \u00e8 fail2ban.\r\n<a href=\"http:\/\/www.fail2ban.org\/wiki\/index.php\/Main_Page\">Fail2ban<\/a> \u00e8 un software per la prevenzione alle intrusioni scritto nel linguaggio di programmazione Python.\r\n\u00c8 in grado di girare su sistemi POSIX che hanno un interfaccia ad un sistema di pacchetti di controllo o firewall installato localmente (per esempio, iptables o TCP Wrapper).\r\nLa funzione principale di Fail2ban \u00e8 quella di bloccare gli indirizzi IP selezionati che possono appartenere a host che sta tentando di violare la sicurezza del sistema.\r\nDetermina i server che devono essere bloccati da un controllo dei file di log (per esempio\u00a0 \/var\/log\/auth.log, ecc) e proibisce l\u2019accesso ad ogni host IP che ha troppi tentativi di accesso o esegue altre azioni indesiderate in un arco di tempo definito da SysAdmin.\r\nIl file che ci interessa \u00e8 \/etc\/fail2ban\/jail.conf, in questo file andiamo ad inserire gli indirizzi da non controllare e attiviamo i servizi da monitorare.\r\nDopo aver installato il software con apt-get install in \/etc\/fail2ban modifico il file jail.conf in modo \r\nche appaia in questo modo \r\n[ssh]\r\n\r\nenabled = true\r\nport = ssh\r\nfilter = sshd\r\nlogpath = \/var\/log\/auth.log\r\nmaxretry = 6\r\nlasciando il default come si trova.\r\nroot@aliseo:\/etc\/fail2ban# \/etc\/init.d\/fail2ban restart\r\n[ ok ] Restarting authentication failure monitor: fail2ban.\r\nroot@aliseo:\/etc\/fail2ban# \r\nCon un iptables -L troveremo una cosa di questo tipo\r\n\r\n<\/pre>\n<pre># iptables -L \r\n\r\nChain fail2ban-ssh (1 references)\r\ntarget     prot opt source               destination\r\nDROP       all  --91.205.189.xx  anywhere\r\nquesto significa che per 10 minuti l'IP e' in ban e quando la regola scadr\u00e0 dopo 6 tentativi sar\u00e0 \r\ndi nuovo messo in condizione di non nuocere.\r\nFail2ban funziona su diverse porte ma ATTENZIONE se un IP viene bloccato sulla porta SSH pu\u00f2 tranquillamente \r\ncontinuare l'attacco su altre porte come la web o la FTP.\r\nN.B.\r\nSe nella sezione [DEFAULT] alla voce bantime si mette il valore -1 il ban sar\u00e0 permanente<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Durante un controllo di routine su una macchina che \u00e8 su internet ho trovato un auth.log da 689 MB cosa che mi ha subito messo in allarme ovviamente, analizzando il log ho trovato una quantit\u00e0 esagerata di righe di questo tipo Jun 18 11:00:57 aliseo sshd[5657]: Failed password for root from 95.58.255.xxx port 38980 ssh2 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[110,8,14,6],"tags":[],"class_list":["post-1317","post","type-post","status-publish","format-standard","hentry","category-ids","category-linux","category-networking","category-work"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1317","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1317"}],"version-history":[{"count":4,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1317\/revisions"}],"predecessor-version":[{"id":1381,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1317\/revisions\/1381"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1317"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1317"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1317"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}