{"id":1883,"date":"2021-03-01T17:16:27","date_gmt":"2021-03-01T16:16:27","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=1883"},"modified":"2021-10-06T11:38:47","modified_gmt":"2021-10-06T09:38:47","slug":"fail2ban-su-devuan-beowulf-2","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=1883","title":{"rendered":"Fail2ban su Devuan Beowulf  riveduto e corretto"},"content":{"rendered":"<p>Visto che su backports di beowulf e&#8217; arrivato nftables 0.9.6 cambiano un po di cose rispetto a qui<a href=\"http:\/\/clark.tipistrani.it\/?p=1862\"> Fail2ban su Devuan Beowulf<\/a> e non e&#8217; piu&#8217; necessario copiarsi i files dal repository ufficiale, quindi clono pari pari la vecchia pagina e tolgo quel che non serve lasciando la vecchia soluzione come storico.<\/p>\n<p><a href=\"https:\/\/www.fail2ban.org\/wiki\/index.php\/Main_Page\">Fail2ban<\/a> come noto \u00e8 un programma pensato per prevenire gli attacchi brute force.<br \/>\nScansiona i file di log e blocca quegli indirizzi che hanno troppi fallimenti di password, \u00e8 scritto in Python e a mio avviso ricade nella categoria IDS\/IPS.<br \/>\nQuesto articoletto sostituisce tutti i precedenti, per due ragioni principali:<br \/>\na) il framework di packet filtering ora \u00e8 nftables<br \/>\nb) cercher\u00f2 di scriverlo un po meglio<br \/>\nCome detto il nuovo tool che filtra i pacchetti \u00e8 nftables, quindi nello script di configurazione del firewall <a href=\"http:\/\/clark.tipistrani.it\/?p=1808\">ale.nft<\/a> c&#8217;\u00e8 una table con una chain fatta a questa maniera:<br \/>\ntable inet fail2ban {<br \/>\nchain input {<br \/>\ntype filter hook input priority 100;<br \/>\n}<br \/>\n}<br \/>\nFatto questo andiamo ad istruire il nostro fail2ban in modo che faccia quello che sa fare molto bene,\u00a0 nella stessa directory\u00a0 \/etc\/fail2ban\/action.d creo il file nftable-common.local che contiene questo<\/p>\n<p>[Init]<br \/>\nnftables_family = inet<br \/>\nnftables_table = fail2ban<br \/>\nblocktype = drop<br \/>\nnftables_set_prefix =<\/p>\n<p>nella directory superiore cio\u00e8 in \/etc\/fail2ban\/ creo il file jail.local che contiene:<br \/>\n[DEFAULT]<br \/>\ndestmail = clark@myfirm.local<br \/>\nsender = fail2ban@sangiorgio.myfirm.local<br \/>\naction = %(action_mwl)s<br \/>\nbanaction = nftables-multiport<br \/>\nbanaction_allports = nftables-allports<br \/>\nchain = input<br \/>\nCome ultimo passo vado a creare il file recidive.conf in \/etc\/fail2ban\/jail.d che contiene:<\/p>\n<p>[recidive]<br \/>\nenabled = true<br \/>\nlogpath = \/var\/log\/fail2ban.log<br \/>\nbanaction = nftables-allports<br \/>\nbantime = 86400 ; 1 day<br \/>\nfindtime = 86400 ; 1 day<br \/>\nmaxretry = 3<br \/>\nprotocol = 0-255<\/p>\n<p>una volta fatto questo fail2ban \u00e8 pronto per essere lanciato da init.d<\/p>\n<p>reference:<\/p>\n<p><a href=\"https:\/\/wiki.meurisse.org\/wiki\/Fail2Ban\">https:\/\/wiki.meurisse.org\/wiki\/Fail2Ban<\/a><\/p>\n<p><a href=\"https:\/\/www.fail2ban.org\/wiki\/index.php\/Main_Page\">https:\/\/www.fail2ban.org\/wiki\/index.php\/Main_Page<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visto che su backports di beowulf e&#8217; arrivato nftables 0.9.6 cambiano un po di cose rispetto a qui Fail2ban su Devuan Beowulf e non e&#8217; piu&#8217; necessario copiarsi i files dal repository ufficiale, quindi clono pari pari la vecchia pagina e tolgo quel che non serve lasciando la vecchia soluzione come storico. Fail2ban come noto [&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,6],"tags":[194,195,135,180],"class_list":["post-1883","post","type-post","status-publish","format-standard","hentry","category-ids","category-linux","category-work","tag-brute-force","tag-fail2ban","tag-ips","tag-nftables"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1883","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=1883"}],"version-history":[{"count":4,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1883\/revisions"}],"predecessor-version":[{"id":2007,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1883\/revisions\/2007"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1883"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}