solip.de
Intel Channel Partner
Linksys rivenditore

Archive for the 'Debian GNU / Linux' Category

Debian GNU / Linux.

Auth SMTP con TLS, POP3, IMAP con TLS via corriere per exim4 su Debian 5.0 (lenny)

Creato da Solip il 16 Marzo 2010

Come una versione più grande per la creazione di Exim4 utilizzare SMTP-AUTH e TLS, ecco una guida su come installare in base al Exim4 Auth SMTP con TLS e di accesso alle cassette postali tramite POP3 o IMAP (entrambi anche con TLS) può essere stabilita.

Così supporta i seguenti protocolli: SMTP, ssmtp con l'autenticazione, POP3, pop3s, imap2, IMAPS.

Exim4 come agente di trasporto di posta elettronica predefinito (MTA) di debian è disponibile in due versioni: leggeri e pesanti. La variante Heavy può essere esteso ben oltre la consegna della posta solo locale. Prima di tutto può aver usato la luce-heavyweight pacchetto di Exim4 dalla versione da sostituire. Ciò è possibile in qualsiasi momento senza modifiche alla configurazione.

aptitude install exim4-daemon-heavy

Quindi installare alcuni pacchetti per il totale per l'installazione sono necessari.

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

Il processo di autenticazione con questa configurazione è simile al seguente: Connessione -> exim4 -> Corriere -> Sistema (PAM). Gli utenti sono utenti locali, e quindi se ne stanno in risorse come / etc / passwd, / etc / group e / etc / shadow.

Così i futuri utenti hanno anche una struttura di cartelle per la posta elettronica, creiamo una serie di nuovi account utente. maildirmake creato la struttura in / etc / skel.

maildirmake /etc/skel/Maildir

Gli utenti esistenti senza struttura delle cartelle per la posta elettronica può ottenere la cartella si aggiunge:

maildirmake ~/Maildir

Si consiglia all'utente di ordinare in gruppi. Per esempio, e-mail agli utenti, gli utenti con shell valida .. l'ordine deve essere fatta prima si investe un sacco di utenti. Questo esempio presuppone il nostro gruppo di società "Solip" per questo scopo. Tutti gli utenti a non avere accesso alla shell, ma una casella postale.

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

Gli utenti possono anche più tardi ancora in qualsiasi punto con il comando usermod per cambiare.

Per le impostazioni di Courier nulla deve essere cambiato. Tuttavia, hai bisogno di una modifica del certificato di IMAPS e 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

In alternativa, se l'autenticazione non funziona più tardi, deve ancora essere fatta la seguente modifica:

chmod 755 /var/run/courier/authdaemon

Ora controlliamo se i servizi vengono eseguiti:

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

L'output dovrebbe essere simile al seguente:

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

Ora controlliamo il server IMAP, compreso un login interattivo:

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.

Ora per Exim4. Generiamo un certificato X.509 per la crittografia. Exim4 ha un proprio strumento per i passaggi relativi a questa e le istruzioni.

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

Questi sono generati certificato e la chiave in / etc/exim4.

Ora la configurazione di exim4 per TLS deve essere adattato. Quindi includiamo gemma. Documentazione, digitare:

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

Può anche essere determinata ma allo stesso posto, se SMTP-AUTH deve essere criptato o meno. Standard è anche approvato in chiaro.

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

Permette solo connessioni crittografate SMTP-AUTH da utilizzare.

Dal momento che vorremmo per noi cifrato Exim4 SMTP sulla porta 465 per lo standard prevede, inoltre modificare / etc/default/exim4 come segue:

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

Ora sono nella sezione authenticators guardare il Exim4 PLAIN configurazione e LOGIN come segue. Regolare o sostituire è possibile qui.


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 = plaintext
public_name = LOG
server_prompts = Username ::: Password ::
server_condition = \
$ {{Estratto INDIRIZZO} \
{{{$ Socket lettura / var / run / courier / authdaemon / socket} \
{AUTH $ {strlen: exim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n} \ nexim \ nlogin \ n AUTH1 $ \ n $ auth2 \ n}}} \
{Sì} \
fail}
server_set_id = $ AUTH1
. Ifndef AUTH_SERVER_ALLOW_NOTLS_PASSWORDS
server_advertise_condition = $ {if eq {} {} {$ tls_cipher} {*}}
. Endif

Se necessario. Exim4 è quello di configurare ancora. Questo può, in qualsiasi momento usando dpkg-reconfigure exim4-config può essere eseguita. Punti chiave sono:

  • Split configurazione in più file: No
  • Name System mail: Stessa certificato e nella configurazione del sistema
  • Metodo di consegna per la posta locale: formato Maildir nella home directory

Ora controlliamo se il servizio SMTP in esecuzione come desiderato.

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

L'output dovrebbe essere simile a questa:

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

Ora si può provare una volta per inviare e ricevere una e-mail e anche un esterno a un indirizzo:

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

Il Exim4 log / var/log/exim4/mainlog ti dice che tutto funziona correttamente.

Ora dobbiamo verificare se TLS è attivo:

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

E se si utilizza l'autenticazione TLS è anche (si prega di inserire la password):

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

Ora, sempre con Exim4 /etc/init.d/exim4 restart per riavviare e controllare i registri e la funzione.

Filed under Debian GNU / Linux | Nessun commento »

SMTP-AUTH e TLS su exim4 su Debian 5.0 (lenny)

Creato da Solip il 10 Marzo 2010

Exim4 come agente di trasporto di posta elettronica predefinito (MTA) di debian è disponibile in due versioni: leggeri e pesanti. La variante Heavy può essere esteso ben oltre la consegna della posta solo locale. Esso prevede, tra gli altri, Casa di autenticazione / etc / passwd ed / etc / shadow.

Introdurre qui una piccola guida per l'autenticazione SMTP e di utilizzare la crittografia TLS trasporto.

Prima di tutto può aver usato la luce-heavyweight pacchetto di Exim4 dalla versione da sostituire. Ciò è possibile in qualsiasi momento senza modifiche alla configurazione.

aptitude install exim4-daemon-heavy

Poi abbiamo generare un certificato X.509 per la crittografia. Exim4 ha un proprio strumento per i passaggi relativi a questa e le istruzioni.

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

Questi sono generati certificato e la chiave in / etc/exim4.

Ora la configurazione di exim4 per TLS deve essere adattato. Quindi includiamo gemma. Documentazione, digitare:

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

Può anche essere determinata ma allo stesso posto, se SMTP-AUTH deve essere criptato o meno. Standard è anche approvato in chiaro.

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

Permette solo connessioni crittografate SMTP-AUTH da utilizzare.

Dal momento che vorremmo per noi cifrato Exim4 SMTP sulla porta 465 per lo standard prevede, inoltre modificare / etc/default/exim4 come segue:

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

Exim4 può autenticare contro l'utente locale e, quindi, il demone ha bisogno di accedere al file / etc / shadow. Questi diritti devono essere modificati in modo che il Exim4, che è come utente Debian-exim e di gruppo Debian-exim è in funzione (ortografia nota), è possibile accedervi.

chgrp Debian-exim /etc/shadow
chmod g+r /etc/shadow

Ora sono nella sezione authenticators guardare il Exim4 PLAIN configurazione e LOGIN come segue. Regolare o sostituire è possibile qui.

plain:
driver = plaintext
public_name = PLAIN
server_prompts = :
server_set_id = $2
server_condition = "${if pam{$2:$3}{1}{0}}"

: Login
driver = plaintext
public_name = LOG
server_prompts = "Username ::: Password ::"
server_set_id = $ 1
server_condition = "$ {if pam {$ 1: $ 2} {1} {0}}"

Ora, sempre con Exim4 /etc/init.d/exim4 restart per riavviare e controllare i registri e la funzione.

Filed under Debian GNU / Linux | 1 Comment »