{"id":405,"date":"2012-03-05T21:46:41","date_gmt":"2012-03-05T20:46:41","guid":{"rendered":"http:\/\/diablo.craem.net\/wordpress\/?p=405"},"modified":"2012-03-05T21:46:41","modified_gmt":"2012-03-05T20:46:41","slug":"instalar-servidor-anti-spam-parte-3","status":"publish","type":"post","link":"https:\/\/diablo.craem.net\/?p=405","title":{"rendered":"Instalar servidor anti-spam, parte 3"},"content":{"rendered":"<p>Ahora nos toca configurar Postfix.<br \/>\nHacemos una copia del fichero \/etc\/postfix\/main.cf<br \/>\n<code><br \/>\n#cp main.cf main.cf_old<br \/>\n<\/code><br \/>\nY lo dejamos tal que:<br \/>\n<code><br \/>\nmyhostname = antispam.craem.net<br \/>\nmydomain = craem.net<br \/>\nmyorgin = $mydomain<br \/>\nmasquerade_domain = $mydomain<br \/>\nmydestination = $myhostname, localhost.$mydomain, $mydomain<br \/>\nmynetwork_style = host<br \/>\n######################################################<br \/>\nmynetworks = 192.168.2.0\/24<br \/>\nrelay_domains = craem.net, craem.cat, craem.es<br \/>\ntransport_maps = hash:\/etc\/postfix\/transport<br \/>\nappend_at_myorigin = no<br \/>\nlocal_recipient_maps =<br \/>\nheader_checks = regexp:\/etc\/postfix\/header_checks<br \/>\nDisarmed_Modify_Subject = no<br \/>\n# Medidas antispam (anti-UCE)<br \/>\nsmtpd_helo_required = yes<br \/>\ndisable_vrfy_command = yes<br \/>\nstrict_rfc821_envelopes = yes<br \/>\nsmtpd_recipient_restrictions =<br \/>\n        reject_invalid_hostname,<br \/>\n        reject_non_fqdn_sender,<br \/>\n        reject_non_fqdn_recipient,<br \/>\n        reject_unknown_sender_domain,<br \/>\n        reject_unknown_recipient_domain,<br \/>\n        permit_mynetworks,<br \/>\n        permit_sasl_authenticated,<br \/>\n        reject_unauth_destination,<br \/>\n        reject_rbl_client dul.dnsbl.sorbs.net,<br \/>\n        reject_rbl_client dnsbl.sorbs.net,permit<br \/>\nsmtpd_data_restrictions =<br \/>\n        reject_unauth_pipelining,<br \/>\n        permit<br \/>\nbounce_notice_recipient = postmaster@craem.net<br \/>\ndelay_notice_recipient = postmaster@craem.net<br \/>\n2bounce_notice_recipient = postmaster@craem.net<br \/>\nerror_notice_recipient = postmaster@craem.net<br \/>\ndefault_destination_concurrency_limit = 10<br \/>\nsmtpd_recipient_limit = 100<br \/>\nmaximal_queue_lifetime = 2d<br \/>\nfallback_relay =<br \/>\nsmtp_destination_recipient_limit = 200<br \/>\nsmtp_destination_concurrency_limit = 10<br \/>\n<\/code><br \/>\nAhora crearemos el fichero transport, que tendr\u00e1 las ip&#8217;s a las cuales entregaremos el correo despu\u00e9s de filtrarlo:<br \/>\n<code><br \/>\n# nano \/etc\/postfix\/transport<br \/>\n<\/code><br \/>\ny a\u00f1adimos:<br \/>\n<code><br \/>\ncraem.net smtp:[192.168.2.4]<br \/>\ncraem.cat smtp:[192.168.2.4]<br \/>\ncraem.es  smtp:[192.168.2.4]<br \/>\n<\/code><br \/>\nSi nuestro servidor de correo corporativo, tiene m\u00e1s dominios, hemos de tener una entrada con cada una de ellas o, si queremos filtrar el correo para otras personas (servicio de pago :-)), pues eso, a a\u00f1adir m\u00e1s.<br \/>\nUna vez creado el fichero, creamos la DB del transport, para ser consultada por el postfix<br \/>\n<code><br \/>\n#  postmap \/etc\/postfix\/transport<br \/>\n<\/code><br \/>\nCon \u00e9sto, nos crear\u00e1 el fichero transport.db. Reiniciamos postfix<br \/>\n<code><br \/>\n#  \/etc\/init.d\/postfix restart<br \/>\n<\/code><br \/>\nAhora toca descargar mailscanner&#8230;<br \/>\n<code><br \/>\n# cd \/usr\/src<br \/>\n# wget -c https:\/\/www.mailscanner.info\/files\/4\/tar\/MailScanner-install-4.84.5-2.tar.gz<br \/>\n# tar -zxvf MailScanner-install-4.84.5-2.tar.gz<br \/>\n# cd MailScanner-install-4.84.5\/<br \/>\n# .\/install.sh<br \/>\n<\/code><br \/>\nY tras un rato, tendremos instalado (que no configurado) el mailscanner.<br \/>\nAhora, tal y como nos pide MailScanner, creamos las entradas en el Crontab, para las actualizaciones:<br \/>\n<code><br \/>\n# crontab -e<br \/>\n<\/code><br \/>\nY le a\u00f1adimos lo siguiente:<br \/>\n<code><br \/>\n37      5 * * * \/opt\/MailScanner\/bin\/update_phishing_sites<br \/>\n07      * * * * \/opt\/MailScanner\/bin\/update_bad_phishing_sites<br \/>\n58     23 * * * \/opt\/MailScanner\/bin\/clean.quarantine<br \/>\n42      * * * * \/opt\/MailScanner\/bin\/update_virus_scanners<br \/>\n3,23,43 * * * * \/opt\/MailScanner\/bin\/check_mailscanner<br \/>\n<\/code><br \/>\nEditamos el fichero \/etc\/default\/spamassassin  y cambiamos:<br \/>\n<code><br \/>\nENABLED=0 to ENABLED=1<br \/>\nCRON=0 to CRON=1<br \/>\n<\/code><br \/>\nY lo arrancamos;<br \/>\n<code><br \/>\n# \/etc\/init.d\/spamassassin start<br \/>\n<\/code><br \/>\nAhora, editamos el fichero \/opt\/MailScanner\/etc\/MailScanner.conf y cambiamos<br \/>\n<code><br \/>\nRun As User = postfix<br \/>\nRun As Group = postfix<br \/>\nMTA = postfix<br \/>\nIncoming Queue Dir = \/var\/spool\/postfix\/hold<br \/>\nOutgoing Queue Dir = \/var\/spool\/postfix\/incoming<br \/>\nVirus Scanners = clamav<br \/>\nSpam List = SBL+XBL<br \/>\nSpamAssassin User State Dir = \/var\/spool\/MailScanner\/spamassassin<br \/>\n<\/code><br \/>\nAhora, editamos el fichero:<br \/>\n\/etc\/postfix\/header_checks<br \/>\nY a\u00f1adimos lo siguiente:<br \/>\n<code><br \/>\n\/^Received:\/ HOLD<br \/>\n<\/code><br \/>\nReiniciamos el postfix y arrancamos el mailscanner<br \/>\n<code><br \/>\n# \/etc\/init.d\/postfix restart<br \/>\n# cd \/opt\/MailScanner\/bin<br \/>\n# .\/check_mailscanner<br \/>\n<\/code><br \/>\nAhora instalaremos <em>mailwatch<\/em> , que ser\u00e1 la \u00abinterfaz\u00bb gr\u00e1fica del mailscanner.<br \/>\n<code><br \/>\n# cd \/usr\/src\/<br \/>\n# wget -c https:\/\/downloads.sourceforge.net\/project\/mailwatch\/mailwatch\/1.1.5.1\/mailwatch-1.1.5.1.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fmailwatch%2F&ts=1330981577&use_mirror=garr<br \/>\n<\/code><br \/>\nDescomprimes el tar.gz y importamos el *.sql<br \/>\n<code><br \/>\n# mysql -p < create.sql\n<\/code><br \/>\nCreamos el usuario:<br \/>\n<code><br \/>\n # mysql -p<br \/>\n > GRANT ALL ON mailscanner.* TO mailscanner@localhost IDENTIFIED BY 'mailscanner';<br \/>\n<\/code><br \/>\nCreamos el usuario para loguear en la web de mailwatch:<br \/>\n<code><br \/>\nmysql -u root -pPASSWORD<br \/>\n    mysql> INSERT INTO users VALUES ('root',md5('password'),'root','A','0','0','0','0','0');<br \/>\n<\/code><br \/>\nMovemos el directorio mailscanner a la raiz del webServer:<br \/>\n<code><br \/>\n# mv mailscanner \/var\/www\/<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ahora nos toca configurar Postfix. Hacemos una copia del fichero \/etc\/postfix\/main.cf #cp main.cf main.cf_old Y lo dejamos tal que: myhostname = antispam.craem.net mydomain = craem.net myorgin = $mydomain masquerade_domain = $mydomain mydestination = $myhostname, localhost.$mydomain, $mydomain mynetwork_style = host ###################################################### mynetworks = 192.168.2.0\/24 relay_domains = craem.net, craem.cat, craem.es transport_maps = hash:\/etc\/postfix\/transport append_at_myorigin = no local_recipient_maps [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,8],"tags":[21,48,102,105,136,146,147],"class_list":["post-405","post","type-post","status-publish","format-standard","hentry","category-linux","category-varios","tag-antispam","tag-clamav","tag-linux-2","tag-mailscanner","tag-openspf","tag-postfix","tag-postgrey"],"_links":{"self":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/405","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=405"}],"version-history":[{"count":0,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=\/wp\/v2\/posts\/405\/revisions"}],"wp:attachment":[{"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/diablo.craem.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}