{"id":247,"date":"2006-11-13T10:39:03","date_gmt":"2006-11-13T09:39:03","guid":{"rendered":"http:\/\/www.alessandropagano.net\/alekoblog\/blog\/?p=247"},"modified":"2021-01-22T19:54:42","modified_gmt":"2021-01-22T18:54:42","slug":"clamavpop3","status":"publish","type":"post","link":"https:\/\/alessandropagano.net\/blog\/clamavpop3\/","title":{"rendered":"ClamavPop3 : Clamav su POP3. Proteggi la tua casella mail in una rete Lan."},"content":{"rendered":"<p>Prendiamo il caso di una lan in cui la posta proveniente dall&#8217;esterno viene scaricata direttamente dal server del provider sui PC dei destinatari. Vorremmo fare in modo da avere un filtraggio antivirus centralizzato di tutta la posta in arrivo invece che affidare questo compito unicamente ai software installati sui singoli PC. <!--more-->Una valida soluzione pu\u00f2 essere quella di implementare un proxy server della posta in modo che sia del tutto trasparente ai pc della lan, ma che svolga un efficace servizio di filtraggio antivirus. In questa guida verr\u00e0 descritto in modo dettagliato come implementare questa soluzione utilizzando come prodotto antivirus Clamav e come server proxy P3scan (ma va benissimo anche pop3vscan). La configurazione proposta assume che il server proxy venga installato sulla stessa macchina che fa da firewall per la lan.<\/p>\n<p class=\"vspace\" style=\"text-align: center\"><strong>CLAMAV <\/strong><\/p>\n<p class=\"vspace\">Come prodotto antivirus \u00e8 stato scelto Clamav, uno scanner <span class=\"wikiword\">OpenSource<\/span> di semplice installazione e configurazione.<\/p>\n<p class=\"vspace\">La prima cosa da fare \u00e8 creare utente e gruppo clamav con i seguenti comandi:<\/p>\n<blockquote>\n<ul>\n<li>groupadd clamav<\/li>\n<li>useradd -g clamav -s \/bin\/false -c &#8220;Clam Antivirus&#8221; clamav<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">scaricare Clamav sul sito <a class=\"urllink\" href=\"http:\/\/www.clamav.net\/\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/www.clamav.net<\/a> e salvarlo in una directory a piacere (nel mio caso \/home\/download). Decomprimerlo con il comando<\/p>\n<blockquote>\n<ul>\n<li>tar xvzfp clamav-x.yz.tar.gz<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">verr\u00e0 creata una nuova directory clamav-x.yz<\/p>\n<p class=\"vspace\">spostarsi nella directory clamav-x.yz<\/p>\n<blockquote>\n<ul>\n<li>cd clamav-x.yz<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">procedere all&#8217;installazione con<\/p>\n<blockquote>\n<ul>\n<li>.\/configure &#8211;sysconfdir=\/etc<\/li>\n<li>make &amp;&amp; make install<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">A questo punto siamo pronti per la configurazione di Clamav.<\/p>\n<p class=\"vspace\">Aprire con un editor il file \/etc\/clamd.conf e commentare la riga<\/p>\n<p class=\"vspace\">Example<\/p>\n<p class=\"vspace\">impostare l&#8217;opzione user con<\/p>\n<p class=\"vspace\">clamav<\/p>\n<p class=\"vspace\">salvare le modifiche e chiudere il file.<\/p>\n<p class=\"vspace\">In Clamav si trova anche il programma Freshclam che si occupa di fare l&#8217;aggiornamento automatico delle definizioni dei virus. Aprire il file di configurazione di Freshclam \/etc\/freshclam.conf<\/p>\n<p class=\"vspace\">anche in questo caso commentare la riga<\/p>\n<p class=\"vspace\">Example<\/p>\n<p class=\"vspace\">per default freshclam esegue 12 controlli al giorno per verificare se ci sono nuove versioni dei database dei virus si pu\u00f2 modificare il numero di queste iterazioni con l&#8217;opzione<\/p>\n<p class=\"vspace\">Checks<\/p>\n<p class=\"vspace\">questa opzione di default \u00e8 impostata a 12, vale a dire che viene effettuato un controllo ogni 2 ore. Per fare in modo che ogni volta che viene aggiornato il database dei virus, Freshclam lo renda disponibile a clamd attivare l&#8217;opzione<\/p>\n<p class=\"vspace\"><span class=\"wikiword\">NotifyClamd<\/span><\/p>\n<p class=\"vspace\">a questo punto salvare le modifiche e chiudere il file. Siamo pronti per avviare e testare il nostro antivirus.<\/p>\n<p class=\"vspace\">avviare il demone clamd con<\/p>\n<blockquote>\n<ul>\n<li>clamd<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">e avviare freshclam in background con<\/p>\n<blockquote>\n<ul>\n<li>freshclam -d<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">per verificare che tutto funzioni provare ad eseguire il comando<\/p>\n<blockquote>\n<ul>\n<li>clamdscan nomefile_con_virustest<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\" style=\"text-align: center\"><strong><span class=\"wikiword\">P3SCAN<\/span> (<span class=\"wikiword\">POP3VSCAN<\/span>)<\/strong><\/p>\n<p class=\"vspace\">Si tratta di un software Open Source che associato ad un software antivirus effettua la scansione dei messaggi di posta elettronica. <span class=\"wikiword\">Pop3Vscan<\/span> \u00e8 invece un programma simile ma non pi\u00f9 mantenuto attivo dagli sviluppatori che sono invece intenti nel mantaining di p3scan.<\/p>\n<p class=\"vspace\">Una volta scaricato e installato p3scan (o pop3vscan) con i normali comandi che abbiamo gi\u00e0 visto in precedenza dobbiamo procedere alla configurazione.<\/p>\n<p class=\"vspace\">IL file di configurazione \u00e8 \/etc\/p3scan\/p3scan.conf. Si pu\u00f2 creare utilizzando la configurazione di default contenuta in \/etc\/p3scan\/p3scan.conf.sample e modificarne alcune opzioni. Le opzioni da impostare per il corretto funzionamento sono:<\/p>\n<p class=\"vspace\">user = clamav<\/p>\n<p class=\"vspace\">cercare la sezione Scanner Type e aggiungere<\/p>\n<p class=\"vspace\">scannertype = basic<\/p>\n<p class=\"vspace\">nella sezione Virusscanner aggiungere<\/p>\n<p class=\"vspace\">scanner = \/usr\/local\/bin\/clamdscan demime<\/p>\n<p class=\"vspace\">quest\u2019ultima per fare in modo che vengano estratti gli allegati delle email.<\/p>\n<p class=\"vspace\">spostarsi alla sezione Regular Expression for Virusname e aggiungere la riga<\/p>\n<p class=\"vspace\">virusregexp = .*: (.*) FOUND<\/p>\n<p class=\"vspace\">Il template del messaggio che viene inviato al destinatario quando viene rilevato un virus si trova in \/etc\/p3scan\/p3scan.mail. Il testo del template pu\u00f2 essere personalizzato. Il resto del file p3scan.conf pu\u00f2 esser lasciato di default. A questo punto bisogna assicurarsi che tutte le directory relative a P3scan siano dell\u2019utente clamav<\/p>\n<blockquote>\n<ul>\n<li>chown clamav.clamav \/etc\/p3scan<\/li>\n<li>chown clamav.clamav \/var\/run\/p3scan<\/li>\n<li>chown clamav.clamav \/var\/spool\/p3scan<\/li>\n<li>chown clamav.clamav \/var\/spool\/p3scan\/children<\/li>\n<li>chown clamav.clamav \/var\/spool\/p3scannotify<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">Non siamo ancora pronti per avviare il servizio, infatti bisogna apportare alcune modifiche al firewall: tutte le richieste provenienti dalla lan e destinate alla porta 110 del provider devono essere redirette alla porta 8110 sulla quale sta in ascolto p3scan. Come prima cosa assicurarsi che il kernel supporti il REDIRECT, che consente di cambiare la porta di destinazione di un pacchetto. In caso negativo \u00e8 necessario abilitare questa opzione. La regola da aggiungere al firewall \u00e8:<\/p>\n<p class=\"vspace\">IPTABLES \u2013t nat \u2013A PREROUTING \u2013p tcp \u2013i eth0 \u2013dport 110 \u2013j REDIRECT \u2013-to 8110<\/p>\n<p class=\"vspace\">Al posto di eth0 \u00e8 possibile mettere l&#8217;interfaccia interessata del firewall<\/p>\n<p class=\"vspace\">Infine bisogna controllare che il firewall non blocchi le connessioni sulla porta 8110.<\/p>\n<p class=\"vspace\">a questo punto possiamo avviare il servizio con<\/p>\n<blockquote>\n<ul>\n<li>service p3scan start<\/li>\n<\/ul>\n<\/blockquote>\n<p class=\"vspace\">oppure facendo partire l&#8217;init creato da p3scan<\/p>\n<p class=\"vspace\">se tutto \u00e8 andato bene provando a inviare in allegato ad uno dei destinatari un virus-test, dopo aver scaricato la nuova posta troveremo il messaggio di p3scan che ci avverte che ha trovato e rimosso il virus allegato al messaggio.<\/p>\n<p class=\"vspace\">riferimenti <a class=\"urllink\" href=\"http:\/\/www.clamav.net\/\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/www.clamav.net<\/a> <a class=\"urllink\" href=\"http:\/\/p3scan.sourceforge.net\/\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/p3scan.sourceforge.net<\/a><\/p>\n<p class=\"vspace\">Articolo presente anche su: <a class=\"urllink\" href=\"http:\/\/www.spazio54.altervista.org\/\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/www.spazio54.altervista.org<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prendiamo il caso di una lan in cui la posta proveniente dall&#8217;esterno viene scaricata direttamente dal server del provider sui PC dei destinatari. Vorremmo fare &#8230; <a title=\"ClamavPop3 : Clamav su POP3. Proteggi la tua casella mail in una rete Lan.\" class=\"read-more\" href=\"https:\/\/alessandropagano.net\/blog\/clamavpop3\/\" aria-label=\"More on ClamavPop3 : Clamav su POP3. Proteggi la tua casella mail in una rete Lan.\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":4556,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[11,6,3],"tags":[8,9,10,12],"class_list":["post-247","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howto","category-linux","category-tecnologia","tag-antivirus","tag-clamav","tag-email","tag-pop3","infinite-scroll-item","masonry-post","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1","uagb_featured_image_src":{"full":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1",460,460,false],"thumbnail":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?resize=150%2C150&ssl=1",150,150,true],"medium":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=300%2C300&ssl=1",300,300,true],"medium_large":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1",460,460,true],"large":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1",460,460,true],"1536x1536":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1",460,460,true],"2048x2048":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=460%2C460&ssl=1",460,460,true],"trp-custom-language-flag":["https:\/\/i0.wp.com\/alessandropagano.net\/blog\/wp-content\/uploads\/sites\/2\/2019\/06\/img2.png?fit=12%2C12&ssl=1",12,12,true]},"uagb_author_info":{"display_name":"aleko","author_link":"https:\/\/alessandropagano.net\/blog\/author\/aleko\/"},"uagb_comment_info":0,"uagb_excerpt":"Prendiamo il caso di una lan in cui la posta proveniente dall&#8217;esterno viene scaricata direttamente dal server del provider sui PC dei destinatari. Vorremmo fare ... Read more","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts\/247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/comments?post=247"}],"version-history":[{"count":0,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/posts\/247\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/media\/4556"}],"wp:attachment":[{"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/media?parent=247"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/categories?post=247"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandropagano.net\/blog\/wp-json\/wp\/v2\/tags?post=247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}