{"id":1487,"date":"2018-10-08T11:12:32","date_gmt":"2018-10-08T09:12:32","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=1487"},"modified":"2019-03-28T08:46:38","modified_gmt":"2019-03-28T07:46:38","slug":"loggare-iptables-in-un-file-diverso-da-syslog","status":"publish","type":"post","link":"https:\/\/clark.tipistrani.it\/?p=1487","title":{"rendered":"Loggare iptables in un file diverso da syslog"},"content":{"rendered":"<p>I log di iptables sono notoriamente tanto utili quanto invasivi, ci sono diversi modi di raccogliere i log e anche un demone apposta che si chiama ulogd, sino ad arrivare a un DB mysq per la raccolta,personalmente preferisco usare il vecchio metodo del file nella directory \/var\/log.<br \/>\nSi tratta di istruire il sistema a salvare in un file diverso da syslog, e in questo ci viene incontro il flag &#8211;log-prefix di iptables, i pasi da compiere sono tre, il primo \u00e8 appunto istruire il nostro sistema a mettere un identificativo dei log di ipatbles e questo lo fa lo script di firewall che diventa una cosa del genere nella sezione di log,<br \/>\n$IPT -A FORWARD -p tcp -j LOG &#8211;log-level info &#8211;log-prefix &#8220;tcp forward &#8221;<br \/>\n$IPT -A FORWARD -p udp -j LOG &#8211;log-level info &#8211;log-prefix &#8220;udp forward &#8221;<br \/>\n$IPT -A OUTPUT -o $INTIF -p tcp -j LOG &#8211;log-level info &#8211;log-prefix &#8220;tcp output &#8221;<br \/>\n$IPT -A OUTPUT -o $INTIF -p udp -j LOG &#8211;log-level info &#8211;log-prefix &#8220;udp output &#8221;<br \/>\n$IPT -A INPUT -i $EXTIF -p tcp -m limit &#8211;limit 1\/s &#8211;dport 0:65535 -j LOG &#8211;log-level \\ info &#8211;log-prefix &#8220;tcp connection: &#8221;<br \/>\n$IPT -A INPUT -i $EXTIF -p udp -m limit &#8211;limit 1\/s &#8211;dport 0:65535 -j LOG &#8211;log-level \\ info &#8211;log-prefix &#8220;udp connection: &#8221;<br \/>\ne a seguire andiamo a dire al demone di loggin cosa fare con quegli identificativi, quindi si crea nella directory \/etc\/rsyslog.d un file iptables.conf che contiene queste righe:<br \/>\n:msg, startswith, &#8220;tcp connection: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\n:msg, startswith, &#8220;udp connection: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\n:msg, startswith, &#8220;tcp forward: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\n:msg, startswith, &#8220;udp forward: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\n:msg, startswith, &#8220;tcp output: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\n:msg, startswith, &#8220;udp output: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<\/p>\n<p>Al fine di evitare di avere un file di dimensioni esagerate istruiamo logrotate a creare un file per giorno e a tenere i log di una settimana, nella directory logrotate.d creiamo uno script iptables che contiene:<\/p>\n<pre>\/var\/log\/iptables.log\r\n{\r\n\trotate 7\r\n\tdaily\r\n\tmissingok\r\n\tnotifempty\r\n\tdelaycompress\r\n\tcompress\r\n\tpostrotate\r\n\t\tinvoke-rc.d rsyslog rotate &gt; \/dev\/null\r\n\tendscript\r\n}<\/pre>\n<p>e con questo abbiamo finito, restartiamo rsyslog e lo script di firewall e nella directory \/var\/log si genera il file iptables.log.<\/p>\n<p>&nbsp;<\/p>\n<p>Addendum:<\/p>\n<p>Visto che come al solito su una macchina funziona in un modo e sulla gemella non c&#8217;\u00e8 verso di farla andare neanche piangendo in cinese mandarino antico,\u00a0 la dizione:<br \/>\n:msg, startswith, &#8220;tcp connection: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<br \/>\npu\u00f2 diventare (deve se volete che funzioni)<\/p>\n<p>:msg, contains, &#8220;tcp connection: &#8221; -\/var\/log\/iptables.log<br \/>\n&amp; STOP<\/p>\n<p>e di conseguenza anche le altre righe.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I log di iptables sono notoriamente tanto utili quanto invasivi, ci sono diversi modi di raccogliere i log e anche un demone apposta che si chiama ulogd, sino ad arrivare a un DB mysq per la raccolta,personalmente preferisco usare il vecchio metodo del file nella directory \/var\/log. Si tratta di istruire il sistema a salvare [&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":[103,133,132],"class_list":["post-1487","post","type-post","status-publish","format-standard","hentry","category-firewall","category-linux","category-networking","category-work","tag-iptables","tag-logrotate","tag-rsyslog"],"_links":{"self":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1487"}],"version-history":[{"count":5,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1487\/revisions"}],"predecessor-version":[{"id":1603,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1487\/revisions\/1603"}],"wp:attachment":[{"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}