{"id":1826,"date":"2020-09-23T13:16:05","date_gmt":"2020-09-23T11:16:05","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=1826"},"modified":"2021-08-24T15:29:23","modified_gmt":"2021-08-24T13:29:23","slug":"blocklist-with-nftables","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=1826","title":{"rendered":"Blocklist-with-nftables"},"content":{"rendered":"<p>Negli ultimi anni si sono diffusi a macchia d&#8217;olio i vari criptolocker.<br \/>\nInutile rimarcare quanto siano dannosi e che razza di gentaglia sia quella che li produce e li usa, importante invece cercare di capire come funzionano e quindi metterli in condizione di non poter fare danni o almeno non molti.<br \/>\nDalle analisi fatte dai vari studiosi \u00e8 emerso che molti di questi programmi una volta lanciati vanno a prendersi la chiave di criptazione su dei nodi della rete tor, se a ci\u00f2 ci aggiungiamo che in azienda non c&#8217;\u00e8 un solo valido motivo per usare la navigazione anonima, una &#8220;toppa&#8221; al problema \u00e8 negare l&#8217;accesso in\/out a questi nodi, con iptables usavo il <a href=\"http:\/\/doc.norang.ca\/iptables.html#sec-3\">torblock<\/a> purtroppo con nftables questo tipo di soluzione e&#8217; troppo lenta e manda in stallo lo script di firewall.<br \/>\nAl solito quando non sai chiedi a chi sa o presumi possa sapere, infatti ponendo il quesito in ml netfilter mi hanno detto lascia stare bash passa a perl o pyton, se fai una breve ricerca in Internet trovi fior di script belli e pronti perch\u00e9 lo stesso tuo problema lo hanno avuto altri prima di te.<br \/>\nInfatti ho trovato quasi subito <a href=\"https:\/\/github.com\/kubax\/blocklist-with-nftables\">blocklist-whith-nftables<\/a> che in sostanza crea due set di IP uno per ipv4 e uno per ipv6 scaricando una o pi\u00f9 liste dalla rete e quindi crea due chain in input negando la serie di indirizzi.<br \/>\n\u00c8 necessario installare prima ipset e libdata-validate-ip-perl e creare la directory blocklist sotto etc che deve contenere i due file whitelist e blacklist<br \/>\nIo nella mia paranoia ho aggiunto anche 2 chain in output nel dubbio.<\/p>\n<p>ADDENDUM:<br \/>\nParlando con un fornitore che fa parte anche lui del mondo Linux mi ha messo una pulce nell&#8217;orecchio\u00a0 grossa come una pecora, quindi ho aggiunto anche due chain in forward con drop come target, a questo punto non c&#8217;\u00e8 pi\u00f9 nulla da poter aggiungere, su queste liste di indirizzi\u00a0 non si va in nessun modo neanche per sbaglio.<br \/>\nLe liste si trovano all&#8217;inizio dello script blocklist.pl alla voce\u00a0 my @listUrl io ho\u00a0 lasciato il default e ho aggiunto questa https:\/\/lists.fissionrelays.net\/tor\/exits.txt ma probabilmente ne aggiunger\u00f2 una un po pi\u00f9 dinamica visto che a quanto vedo questa viene aggiornata solo una volta a giorno.<\/p>\n<p>Addendum dell&#8217;Addendum<\/p>\n<p>\u00e8 stata rilasciata una nuova versione dello script e l&#8217;ho modificata in questo modo per blindare forward e output<\/p>\n<p># Build tmp_v4 and v4 OR tmp_bridge<br \/>\nif ( $bridgeOption == 0 )<br \/>\n{<br \/>\nprint $tmp_v4 &#8220;table ip $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v4 &#8220;$tmp_ipv4&#8221;;<br \/>\nprint $tmp_v4 &#8220;\\tchain input {<br \/>\n\\t\\ttype filter hook input priority 100; policy accept;<br \/>\n\\t\\tip saddr \\@ipv4 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<br \/>\n}\\n&#8221;;<br \/>\n{<br \/>\nprint $tmp_v4 &#8220;table ip $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v4 &#8220;$tmp_ipv4&#8221;;<br \/>\nprint $tmp_v4 &#8220;\\tchain forward {<br \/>\n\\t\\ttype filter hook forward priority 100; policy accept;<br \/>\n\\t\\tip saddr \\@ipv4 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<br \/>\n}\\n&#8221;;<br \/>\n}<\/p>\n<p>{<br \/>\nprint $tmp_v4 &#8220;table ip $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v4 &#8220;$tmp_ipv4&#8221;;<br \/>\nprint $tmp_v4 &#8220;\\tchain forward {<br \/>\n\\t\\ttype filter hook forward priority 100; policy accept;<br \/>\n\\t\\tip daddr \\@ipv4 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<br \/>\n}\\n&#8221;;<br \/>\n}<\/p>\n<p>{<br \/>\nprint $tmp_v4 &#8220;table ip $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v4 &#8220;$tmp_ipv4&#8221;;<br \/>\nprint $tmp_v4 &#8220;\\tchain output {<br \/>\n\\t\\ttype filter hook output priority 100; policy accept;<br \/>\n\\t\\tip daddr \\@ipv4 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<br \/>\n}\\n&#8221;;<br \/>\n}<br \/>\nprint $tmp_v6 &#8220;table ip6 $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v6 &#8220;$tmp_ipv6&#8221;;<br \/>\nprint $tmp_v6 &#8220;\\tchain input {<br \/>\n\\t\\ttype filter hook input priority 100; policy accept;<br \/>\n\\t\\tip6 saddr \\@ipv6 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<\/p>\n<p>}\\n&#8221;;<br \/>\n### aggiunte forward e output<br \/>\n{<br \/>\nprint $tmp_v6 &#8220;table ip6 $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v6 &#8220;$tmp_ipv6&#8221;;<br \/>\nprint $tmp_v6 &#8220;\\tchain forward {<br \/>\n\\t\\ttype filter hook forward priority 100; policy accept;<br \/>\n\\t\\tip6 saddr \\@ipv6 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<\/p>\n<p>}\\n&#8221;;<br \/>\n}<\/p>\n<p>{<br \/>\nprint $tmp_v6 &#8220;table ip6 $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v6 &#8220;$tmp_ipv6&#8221;;<br \/>\nprint $tmp_v6 &#8220;\\tchain forward {<br \/>\n\\t\\ttype filter hook forward priority 100; policy accept;<br \/>\n\\t\\tip6 daddr \\@ipv6 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<\/p>\n<p>}\\n&#8221;;<br \/>\n}<\/p>\n<p>{<br \/>\nprint $tmp_v6 &#8220;table ip6 $TABLE {\\n&#8221;;<br \/>\nprint $tmp_v6 &#8220;$tmp_ipv6&#8221;;<br \/>\nprint $tmp_v6 &#8220;\\tchain output {<br \/>\n\\t\\ttype filter hook output priority 100; policy accept;<br \/>\n\\t\\tip6 daddr \\@ipv6 log prefix \\&#8221;Blocklist Dropped: \\&#8221; drop<br \/>\n\\t}<\/p>\n<p>}\\n&#8221;;<br \/>\n}<\/p>\n<p>Il file completo in formato zip si trova qui <a href=\"http:\/\/clark.tipistrani.it\/wp-content\/uploads\/2021\/08\/blocklist.zip\">blocklist<\/a><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Negli ultimi anni si sono diffusi a macchia d&#8217;olio i vari criptolocker. Inutile rimarcare quanto siano dannosi e che razza di gentaglia sia quella che li produce e li usa, importante invece cercare di capire come funzionano e quindi metterli in condizione di non poter fare danni o almeno non molti. Dalle analisi fatte dai [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[109,8,14,6],"tags":[180,192,193,105],"class_list":["post-1826","post","type-post","status-publish","format-standard","hentry","category-firewall","category-linux","category-networking","category-work","tag-nftables","tag-perl","tag-set","tag-tor"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1826","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=1826"}],"version-history":[{"count":7,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1826\/revisions"}],"predecessor-version":[{"id":1843,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1826\/revisions\/1843"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1826"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1826"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1826"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}