solip.de
Intel Channel Partner
Linksys återförsäljare

SMTP Auth med TLS, POP3, IMAP med TLS via kurir för exim4 på debian 5,0 (lenny)

Skapad av Solip tisdagen den 16 Mars 2010

Som en större version för att inrätta Exim4 för att använda SMTP-AUTH och TLS, här är en guide om hur man installerar baserat på Exim4 SMTP Auth med TLS och tillgång till brevlåda via POP3 eller IMAP (båda även med TLS) kan fastställas.

Således stöder följande protokoll: SMTP, ssmtp med autentisering, POP3, pop3s, imap2, IMAPS.

Exim4 som standard Mail Transport Agent (MTA) från Debian kommer i två versioner: lätta och tunga. Heavy variant kan förlängas väl för mer än bara lokal postleveranser. Först av allt kan ha använt lätt tungvikt paket av exim4 från den version som skall ersättas. Detta är möjligt när som helst utan ändringar i konfigurationen.

aptitude install exim4-daemon-heavy

Sedan installera några paket till det totala beloppet för installationen krävs.

aptitude install courier-authdaemon courier-imap courier-imap-ssl courier-pop courier-pop-ssl swaks libnet-ssleay-perl ssl-cert

Processen för autentisering med denna inställning ser ut så här: Anslutning -> exim4 -> Courier -> System (PAM). Användarna är lokala användare, och därmed de står i resurser såsom / etc / passwd, / etc / group och / etc / shadow.

Så framtida användare har också en mappstruktur för e-post, skapar vi en sådan uppsättning nya användarkonton. maildirmake skapade strukturen i / etc / skel.

maildirmake /etc/skel/Maildir

Befintliga användare utan mappstruktur för e-post kan få mappen läggas till:

maildirmake ~/Maildir

Det rekommenderas att användaren kan sortera dem i grupper. T.ex. e-post användare, användare med giltiga skal .. ordern bör göras innan man investerar en hel del användare. Detta exempel förutsätter vår koncern "Solip" för detta ändamål. Alla användare ha någon shell tillgång, men en postbox.

groupadd solip
useradd -g solip -s /bin/false -d /home/demouser demouser

Användare kan även senare fortfarande på någon punkt med kommandot usermod att förändras.

Till inställningarna för Courier finns inget som behöver ändras. Men du behöver en förändring i intyget för IMAPS och POP3S:

rm -rf /etc/courier/*.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/imapd.pem
make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/courier/pop3d.pem

Alternativt, om autentiseringen inte fungerar senare har ännu inte gjort följande ändringar:

chmod 755 /var/run/courier/authdaemon

Nu har vi kontrollera om de tjänster som kör:

netstat -utal | egrep -e 'pop|imap'

Utgången ska se ut så här:

tcp6 0 0 [::]:imaps [::]:* LISTEN
tcp6 0 0 [::]:pop3s [::]:* LISTEN
tcp6 0 0 [::]:pop3 [::]:* LISTEN
tcp6 0 0 [::]:imap2 [::]:* LISTEN

Nu kontrollerar vi IMAP-servern, inklusive en interaktiv inloggning:

telnet localhost imap2
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
AB LOGIN "root" "CHANGE"
AB OK LOGIN Ok.
BC SELECT "Inbox"
* FLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \Draft \Answered \Flagged \Deleted \Seen \Recent)
* OK [PERMANENTFLAGS ($MDNSent NonJunk $Forwarded $label1 $label2 \* \Draft \Answered \Flagged \Deleted \Seen)] Limited
* 190 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1205133440] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
BC OK [READ-WRITE] Ok
ZZZZ LOGOUT
* BYE Courier-IMAP server shutting down
ZZZZ OK LOGOUT completed
Connection closed by foreign host.

Nu till exim4. Vi skapar en X.509-certifikat för kryptering. Exim4 har ett eget verktyg för detta och därmed passager i instruktionerna.

bash /usr/share/doc/exim4-base/examples/exim-gencert

Dessa genereras certifikatet och nyckeln i / etc/exim4.

Nu Exim4 konfigurationen för TLS ska anpassas. Därför inkluderar vi pärla. Dokumentation, typ:

2.1.3. Using Exim Macros to control the configuration" and "2.2.2. Enabling TLS support for Exim as server" from /usr/share/doc/exim4-base/README.Debian.gz, you should create a file with name /etc/exim4/conf.d/main/000_localmacros (split configuration) or /etc/exim4/exim4.conf.localmacros (non-split configuration), and insert lines as following:
#####################################################
### main/03_exim4-config_tlsoptions
#####################################################
MAIN_TLS_ENABLE = true
tls_on_connect_ports = 465

Kan också bestämmas men på samma plats om SMTP-AUTH måste vara krypterad eller inte. Standard är också godkänt i klartext.

auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

Tillåter endast krypterade anslutningar SMTP-AUTH att använda.

Eftersom vi vill vi krypterad Exim4 SMTP på port 465 för standard ger, redigera vi också / etc/default/exim4 enligt följande:

# options for daemon listening on port 25
SMTPLISTENEROPTIONS='-oX 465:25 -oP /var/run/exim4/exim.pid'

Nu har i avsnittet authenticators titta på Exim4 konfigurationen PLAIN och logga in som följer. Justera eller byt är möjligt här.


plain_courier_authdaemon:
driver = plaintext
public_name = PLAIN
server_condition = \
${extract {ADDRESS} \
{${readsocket{/var/run/courier/authdaemon/socket} \
{AUTH ${strlen:exim\nlogin\n$auth2\n$auth3\n}\nexim\nlogin\n$auth2\n$auth3\n} }} \
{yes} \
fail}
server_set_id = $auth2
.ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = ${if eq{$tls_cipher}{}{}{*}}
.endif

: Login_courier_authdaemon
Driver = klartext
public_name = LOG
server_prompts = Användarnamn ::: Lösenord ::
server_condition = \
$ {Extract {ADRESS} \
{{{$ Socket läsa / var / run / budfirma / authdaemon / uttag} \
{AUTH $ {strlen: exim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n} \ nexim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n}}} \
{Ja} \
misslyckas}
server_set_id = $ AUTH1
. Ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = $ {if eq {} {} {$ tls_cipher} {*}}
. Endif

Om så är nödvändigt. Exim4 är att konfigurera ännu. Detta kan när som helst använda dpkg-reconfigure exim4-config kan utföras. Huvudpunkter är:

  • Dela konfigurationen i mindre filer: Nej
  • System postnamn: Samma som i intyget och i System Configuration
  • Leverans metod för lokal post: Maildir format hemkatalog

Nu har vi kontrollera om SMTP-tjänsten körs som önskas.

netstat -utal | egrep -e 'smtp|ssmtp'

Utgången bör se ut ungefär så här:

tcp 0 0 *:ssmtp *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
tcp6 0 0 [::]:ssmtp [::]:* LISTEN
tcp6 0 0 [::]:smtp [::]:* LISTEN

Nu kan du prova en gång att skicka dig en e-post och dessutom en extern till en adress:

echo "test" | mail -s "test" root
echo "test" | mail -s "test" test@domain.de

Den Exim4 log / var/log/exim4/mainlog säger att allt fungerar som den ska.

Nu har vi kontrollera om TLS är aktiv:

swaks -a -tls -q HELO -s localhost -au root -ap '<>'

Och om du använder TLS-autentisering är också (Ange lösenord):

swaks -a -tls -q AUTH -s localhost -au root

Nu använder fortfarande Exim4 /etc/init.d/exim4 restart för att starta och kontrollera loggarna och funktionen.

Lämna en kommentar

XHTML: Du kan använda dessa taggar: <a href="" title="Alma <abbr title="Alma <acronym title="Alma <b> <blockquotecite="",> <kodifiera> < del datetime = ""> <em> <i> <q cite=""> <strike> <strong>