{"id":77,"date":"2011-03-13T22:49:53","date_gmt":"2011-03-13T22:49:53","guid":{"rendered":"http:\/\/www.budus.it\/Blog\/?p=77"},"modified":"2017-06-18T08:04:33","modified_gmt":"2017-06-18T08:04:33","slug":"exim4-smarthost-con-account-multipli","status":"publish","type":"post","link":"https:\/\/www.budus.it\/Blog\/exim4-smarthost-con-account-multipli\/","title":{"rendered":"Exim4: Smarthost con Account Multipli"},"content":{"rendered":"<p>Dove lavoro ho una connessione ADSL Telecom e &#8211; come capita ogni tanto &#8211; non si sa bene perch\u00e9 &#8211; quest&#8217;ultima ha deciso di cambiare il sistema relativo alla Posta Elettronica.<\/p>\n<p>In particolare hanno cambiato il server SMTP e quello IMAP che ora sono, rispettivamente, <em><strong>out.impresasemplice.it<\/strong><\/em> e <em><strong>imap.impresasemplice.it<\/strong><\/em> .<\/p>\n<p><!--more--><\/p>\n<p>Io ho un Server Linux, su cui gira una Debian con Exim4 e Fetchmal, usata per scaricare ed inviare la posta al server Telecom.<\/p>\n<p>Uso questo metodo perch\u00e9 mi consente di avere in locale la posta, cos\u00ec che posso condividerla tra i vari PC, farne il controllo antivirus, antispam, Blacklist e quant&#8217;altro, tutto centralizzato e con un accesso pi\u00f9 rapido di quello che avrei lasciando in remoto (per non parlare dello spazio).<\/p>\n<p>Inoltre, il tutto, pu\u00f2 avvenire per i vari account che il contratto ADSL ci fornisce.<\/p>\n<p>Peccato che, a seguito del cambiamento, l&#8217;account secondario usato per l&#8217;ufficio dell&#8217;Amministrazione abbia cessato di funzionare.<\/p>\n<p>Dopo molta tribolazione e ore passate al telefono con il Supporto Tecnico (molto gentile, devo dire) ne sono venuto a capo. Di fatto hanno inasprito i controlli effettuati sui client che inviano posta: <strong>in pratica hanno inibito la possibilit\u00e0 che un account di posta possa inviare mail specificando un indirizzo e-mail &#8220;From&#8221; diverso dal previsto<\/strong>.<\/p>\n<p>Questo inibisce la possibilit\u00e0 che l&#8217;account venga usato per lo spam, falsificando il proprio indirizzo E-Mail.<\/p>\n<p>Peccato che <strong>exim4<\/strong>, di default, prevede che ad un server SMTP &#8211; usato come smarthost &#8211; possa corrispondere una sola accoppiata username\/password.<\/p>\n<p>Per fare in modo che sia possibile, con il medesimo smarthost, associare una password ma soprattutto uno username diverso per ogni utente desiderato &#8211; prima si poteva usare lo username e la password dell&#8217;account principale, anche sugli account secondari &#8211; ho dovuto operare diverse modifiche, che vado di seguito ad elencare:<\/p>\n<ol>\n<li>Modifica del file <strong>exim4.conf.template<\/strong> ; previo backup, bisogna cercare la stringa &#8220;CONFDIR\/passwd.client&#8221; e, laddove sono presenti le righe che contengono la variabile &#8220;<em><strong>$host<\/strong><\/em>&#8220;, sostituire quest&#8217;ultima con &#8220;<em><strong>$sender_address<\/strong><\/em>&#8220;. In pratica bisogna cambiare:<\/li>\n<\/ol>\n<pre>remote_smtp_smarthost:\r\n debug_print = \"T: remote_smtp_smarthost for $local_part@$domain\"\r\n driver = smtp\r\n hosts_try_auth = &lt;; ${if exists{CONFDIR\/passwd.client} \\\r\n {\\\r\n ${lookup{$host}nwildlsearch{CONFDIR\/passwd.client}{$host_address}}\\\r\n }\\\r\n {} \\\r\n }<\/pre>\n<p style=\"padding-left: 60px;\">in:<\/p>\n<pre>remote_smtp_smarthost:\r\n debug_print = \"T: remote_smtp_smarthost for $local_part@$domain\"\r\n driver = smtp\r\n hosts_try_auth = &lt;; ${if exists{CONFDIR\/passwd.client} \\\r\n {\\\r\n ${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$host_address}}\\\r\n }\\\r\n {} \\\r\n }<\/pre>\n<p style=\"padding-left: 60px;\">poi:<\/p>\n<pre>cram_md5:\r\ndriver = cram_md5\r\npublic_name = CRAM-MD5\r\nclient_name = ${extract{1}{:}{${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}}}\r\nclient_secret = ${extract{2}{:}{${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}}}<\/pre>\n<p style=\"padding-left: 60px;\">in:<\/p>\n<pre> public_name = CRAM-MD5\r\n client_name = ${extract{1}{:}{${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}}}\r\n client_secret = ${extract{2}{:}{${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}}}<\/pre>\n<p style=\"padding-left: 60px;\">Infine abbiamo:<\/p>\n<pre># this returns the matching line from passwd.client and doubles all ^\r\nPASSWDLINE=${sg{\\\r\n ${lookup{$host}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}\\\r\n }\\\r\n {\\\\N[\\\\^]\\\\N}\\\r\n {^^}\\\r\n }<\/pre>\n<p style=\"padding-left: 60px;\">che diventa:<\/p>\n<pre># this returns the matching line from passwd.client and doubles all ^\r\nPASSWDLINE=${sg{\\\r\n ${lookup{$sender_address}nwildlsearch{CONFDIR\/passwd.client}{$value}fail}\\\r\n }\\\r\n {\\\\N[\\\\^]\\\\N}\\\r\n {^^}\\\r\n }<\/pre>\n<ul>\n<li>Ora passiamo al file <strong>passwd.client<\/strong> ; previo backup anche di questo, dobbiamo scrivere i record relativi agli account che intendiamo gestire; di seguito propongo un esempio che penso sia chiaro:<\/li>\n<\/ul>\n<pre># password file used when the local exim is authenticating to a remote\r\n# host as a client.\r\n#\r\n# see exim4_passwd_client(5) for more documentation\r\n#\r\n# Example:\r\n### email_address:login:password\r\nutente_principale@dominio.191.it:utente_principale@dominio.191.it:password_utente_principale\r\nalias_A@dominio.191.it:utente_principale@dominio.191.it:password_utente_principale\r\nutente_A@dominio.191.it:utente_A@dominio.191.it:password_utente_A<\/pre>\n<p>Notare che, avendo la possibilit\u00e0 di creare degli Alias per ogni account, bisogna prevedere anch&#8217;essi.<\/p>\n<p>Io penso che il file di configurazione creato dalla procedura automatica di <strong>Debian<\/strong> &#8211; all&#8217;atto dell&#8217;installazione di <strong>exim4<\/strong> &#8211; sia gi\u00e0 ok, tuttavia, vi fornisco il mio in modo che, in caso di problemi, possiate avere un termine di paragone:<\/p>\n<pre># \/etc\/exim4\/update-exim4.conf.conf\r\n#\r\n# Edit this file and \/etc\/mailname by hand and execute update-exim4.conf\r\n# yourself or use 'dpkg-reconfigure exim4-config'\r\n#\r\n# Please note that this is _not_ a dpkg-conffile and that automatic changes\r\n# to this file might happen. The code handling this will honor your local\r\n# changes, so this is usually fine, but will break local schemes that mess\r\n# around with multiple versions of the file.\r\n#\r\n# update-exim4.conf uses this file to determine variable values to replace\r\n# the DEBCONFsomethingDEBCONF strings in the configuration template files.\r\n#\r\n# Most settings found in here do have corresponding questions in the\r\n# Debconf configuration, but not all of them.\r\n#\r\n# This is a Debian specific file \r\n\r\ndc_eximconfig_configtype='smarthost'\r\ndc_other_hostnames='dominio.191.it'\r\ndc_local_interfaces=''\r\ndc_readhost='dominio.191.it'\r\ndc_relay_domains=''\r\ndc_minimaldns='true'\r\ndc_relay_nets='192.168.0.0\/24'\r\ndc_smarthost='out.impresasemplice.it'\r\nCFILEMODE='644'\r\ndc_use_split_config='false'\r\ndc_hide_mailname='true'\r\ndc_mailname_in_oh='true'\r\ndc_localdelivery='mail_spool'<\/pre>\n<p>Cosa molto importante, alla quale bisogna prestare attenzione, sono i permessi, in particolare gli utenti di appartenenza dei files di configurazione. Questo \u00e8 quello che bisognerebbe, grosso modo, avere:<\/p>\n<pre>drwxr-xr-x 9 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1024 2008-05-02 22:03 conf.d\r\n-rw-r--r-- 1 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 59 2010-11-17 18:06 exim4.conf.localmacros\r\n-r--r--r-- 1 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 75933 2011-03-11 16:21 exim4.conf.template\r\n-r--r----- 1 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 83 2011-03-05 12:21 passwd\r\n-r--r----- 1 root Debian-exim\u00a0\u00a0 317 2011-03-11 16:31 passwd.client\r\ndrwxr-xr-x 2 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1024 2011-03-11 16:38 RCS\r\n-rw-r--r-- 1 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 151 2010-11-18 10:23 system.filter\r\n-rw-r--r-- 1 root root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1122 2011-03-05 12:23 update-exim4.conf.conf<\/pre>\n<p>Notare che il file <strong>passwd.client<\/strong> appartiene a <em><strong>root:Debian-exim<\/strong><\/em> .<\/p>\n<p>Infine, <strong>importantissimo<\/strong>, \u00e8 necessario &#8211; se non presente &#8211; creare il file <strong>exim.conf.localmacros<\/strong> il cui contenuto deve essere:<\/p>\n<pre>MAIN_TLS_ENABLE = true\r\nAUTH_CLIENT_ALLOW_NOTLS_PASSWORD=1\r\n<\/pre>\n<p>Se qualcosa non \u00e8 chiaro, scrivetemi pure !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dove lavoro ho una connessione ADSL Telecom e &#8211; come capita ogni tanto &#8211; non si sa bene perch\u00e9 &#8211; quest&#8217;ultima ha deciso di cambiare il sistema relativo alla Posta Elettronica. In particolare hanno cambiato il server SMTP e quello IMAP che ora sono, rispettivamente, out.impresasemplice.it e imap.impresasemplice.it .<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,3,25],"tags":[29,66,71,69,67,70,68],"class_list":["post-77","post","type-post","status-publish","format-standard","hentry","category-internet","category-networking","category-operating-system","tag-debian","tag-exim4","tag-imap","tag-impresasemplice","tag-smarthost","tag-smtp","tag-telecom"],"_links":{"self":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/77","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/comments?post=77"}],"version-history":[{"count":16,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/77\/revisions"}],"predecessor-version":[{"id":961,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/posts\/77\/revisions\/961"}],"wp:attachment":[{"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/media?parent=77"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/categories?post=77"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.budus.it\/Blog\/wp-json\/wp\/v2\/tags?post=77"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}