ftps
Générer une clef, une demande de certificat et la faire signer par l'autorité de certification. Générer la clef:
mkdir -p /etc/proftpd/ssl/ cd /etc/proftpd/ssl/ openssl genrsa -out deblab-secure.key
Générer la demande de certificat:
openssl req -new -key deblab-secure.key -out deblab-secure.csr
Signer la demande:
cd /etc/apache2/sites-enabled/ openssl ca -policy policy_anything -out /etc/proftpd/ssl/deblab-sercure.crt -infiles /etc/proftpd/ssl/deblab-sercure.csr ln -s /etc/apache2/sites-enabled/demoCA/cacert.pem /etc/proftpd/ssl/cacert.pem
Remarque: proftpd ne fonctionne pas si on utilise un certificat auto-signé.
Ajouter à /etc/proftpd.conf sous
# Uncomment this if you would use TLS module: #TLSEngine on
ceci:
<IfModule mod_tls.co> TLSEngine on TLSLog /var/ftpd/tls.log TLSProtocol TLSv1 TLSRequired off TLSRSACertificateFile /etc/proftpd/ssl/deblab-secure.crt TLSRSACertificateKeyFile /etc/proftpd/ssl/deblab-secure.key TLSCACertificateFile /etc/proftpd/ssl/cacert.pem TLSVerifyClient off </IfModule>
TSLRequired:
- off: accepte les connections ftp et ftps
- on: que ftps comme connection (pas ftp)
TLSVerifiyClient: si on, demande un certificat du client pour pouvoir établir la connexion
Finalement, créer le répertoire de logs et redémarrer le serveur:
mkdir /var/ftpd/ /etc/init.d/proftpd restart
Pour tester, installer un client:
aptitude install ftp-ssl
Et ensuite se connecter:
ftp-ssl localhost Connected to 403-15.deb.lab. 220 ProFTPD 1.2.10 Server (Debian) [127.0.0.1] Name (localhost:linux): linux 234 AUTH SSL successful [SSL Cipher DHE-RSA-AES256-SHA] 331 Password required for linux. Password: 230 User linux logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp>
Si ça ne marche pas, on a:
ftp-ssl localhost Connected to 403-15.deb.lab. 220 ProFTPD 1.2.10 Server (Debian) [127.0.0.1] Name (localhost:linux): linux 500 AUTH not understood SSL not available 331 Password required for linux. Password: 230 User linux logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp>
smtps
Il faut d'abord avoir un serveur mail qui tourne :) (cf. module 2: administration). Nous travaillerons avec Postfix. Il faut donc que bind tourne.
Postfix ne gère pas TLS par défaut, il faut installer un package:
aptitude install postfix-tls
Dans /etc/postfix/master.cf: changer les lignes en bas de fichier:
#tlsmgr fifo - - n 300 1 tlsmgr #smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes #587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
en (décommenter et changer smtpd_sasl_auth_enable=no):
tlsmgr fifo - - n 300 1 tlsmgr smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=no 587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
Ensuite, ajouter au fichier /etc/postfix/main.cf les lignes suivantes à la fin:
smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_tls_cert_file = /etc/postfix/postfix.pem smtp_tls_key_file = /etc/postfix/postfix.pem smtp_tls_session_cache_database = btree:/var/run/smtp_tls_session_cache smtp_use_tls = yes smtpd_tls_CAfile = /etc/postfix/cacert.pem smtpd_tls_cert_file = /etc/postfix/postfix.pem smtpd_tls_key_file = /etc/postfix/postfix.pem smtpd_tls_received_header = yes smtpd_tls_session_cache_database = btree:/var/run/smtpd_tls_session_cache smtpd_use_tls = yes tls_random_source = dev:/dev/urandom smtpd_sasl_auth_enable = no smtpd_tls_auth_only = no
Générer le certificat et la clef:
openssl req -new -x509 -nodes -out /etc/postifx/postfix.pem -keyout /etc/postfix/postfix.pem
Redémarrer postfix:
/etc/init.d/postfix restart
Pour tester, dans évolution, menu: Edit → Preferences → edit user toto → onglet Sending Email → Security → Use secure connexion: Always
Puis envoyer un email avec le profil toto.
pop3s - imaps
Installer les packages suivants, respectivement:
aptitude install dovecot-pop3d aptitude install dovecot-imapd
Configurer /etc/dovecot/dovecot.conf Changer la ligne:
protocols=
en
protocols=imap imaps pop3 pop3s
En fonction des protocoles qu'on accepte, retirer ceux qu'on laisse tomber.
et décommenter (=enlever les #) les 2 lignes suivantes:
#imap_listen = * #pop3_listen = *
et ajouter un path pour les logs:
log_path = /var/log/dovecot
Créer le répertoire pour les logs:
mkdir /var/log/dovecot/
Démarrer dovecot:
/etc/init.d/dovecot start
Tester en configurant le client mail Evolution: menu Edit → Preferences → edit user toto → onglet Receving Email.