relecture et tests sous Debian (donc ajout d'infos)

This commit is contained in:
Gregory Colpart 2017-09-13 19:25:56 +02:00
parent 3bc390f9a0
commit f936fc6fa0

View file

@ -4,36 +4,50 @@ title: Howto OpenSMTPD
...
* Documentation : <https://www.opensmtpd.org/>
* Rôle Ansible : <https://forge.evolix.org/projects/ansible-roles/repository/show/foo>
* Man pages : <https://man.openbsd.org/smtpd>
OpenSMTPD est un serveur mail intégré dans OpenBSD. Il est toutefois
[OpenSMTPD](https://www.opensmtpd.org/) est un serveur mail intégré dans OpenBSD. Il est aussi
disponible aussi sur Debian. Il comporte un nombre de fonctionnalités
réduites qui ne le permettent pas de tout faire mais il convient dans
la très grande majorité des cas. Sa syntaxe se veut similaire à celle
de pf.
de [pf](HowtoOpenBSD/PacketFilter).
## Installation sous Debian
## Installation
Sous OpenBSD, OpenSMTPD est intégré au système de base.
Sous Debian :
~~~
# apt install opensmtpd
# apt install opensmtpd opensmtpd-extras
# systemctl status opensmtpd
● opensmtpd.service - LSB: opensmtpd Mail Transport Agent
Loaded: loaded (/etc/init.d/opensmtpd; generated; vendor preset: enabled)
Docs: man:systemd-sysv-generator(8)
Process: 24739 ExecStop=/etc/init.d/opensmtpd stop (code=exited, status=0/SUCCESS)
Process: 24747 ExecStart=/etc/init.d/opensmtpd start (code=exited, status=0/SUCCESS)
Tasks: 7 (limit: 4915)
Memory: 9.1M
CPU: 50ms
CGroup: /system.slice/opensmtpd.service
├─24754 /usr/sbin/smtpd
├─24755 smtpd: klondike
├─24756 smtpd: control
├─24757 smtpd: lookup
├─24758 smtpd: pony express
├─24759 smtpd: queue
└─24760 smtpd: scheduler
~~~
## Configuration de base
Sous OpenBSD, la configuration se trouve dans `/etc/mail/smtpd.conf`.
### OpenBSD
Cette configuration permet de relayer juste les mails qui viennent de
la machine elle-même. Il n'y a donc pas de risque d'être un relais
ouvert.
Sous OpenBSD, la configuration se trouve dans `/etc/mail/smtpd.conf` :
~~~
# $OpenBSD: smtpd.conf,v 1.9 2016/05/03 18:43:45 jung Exp $
# This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.
table aliases file:/etc/mail/aliases
# To accept external mail, replace with: listen on all
@ -45,8 +59,33 @@ listen on lo0
# accept from any for domain "example.org" alias <aliases> deliver to mbox
accept for local alias <aliases> deliver to mbox
accept from local for any relay
~~~
Cette configuration permet de relayer juste les mails qui viennent de
la machine elle-même. Il n'y a donc pas de risque d'être un relai
ouvert.
### Debian
Sous Debian, la configuration se trouve dans `/etc/smtpd.conf` :
~~~
# To accept external mail, replace with: listen on all
listen on localhost
# If you edit the file, you have to run "smtpctl update table aliases"
table aliases file:/etc/aliases
# Uncomment the following to accept external mail for domain "example.org"
#accept from any for domain "example.org" alias <aliases> deliver to mbox
accept for local alias <aliases> deliver to mbox
accept for any relay
~~~
C'est une configuration similaire à OpenBSD.
## Configurations spécifiques
@ -59,19 +98,24 @@ nom de domaine que le hostname.
accept from local for any relay as "root@example.com"
~~~
### Bypasser un blocage du port 25
Attention, dans ce cas cas cela ré-écrit même les messages envoyés avec un autre utilisateur.
Il suffit de préciser dans la configuration de base le serveur par
lequel les mais vont passer avec le mot clé `via`.
### Utiliser un relai SMTP
On peut utiliser un relai en modifiant la règle `accept for any relay` et en ajoutant le mot clé `via` :
~~~
accept from local for any relay via 192.0.2.25
~~~
On peut notamment utiliser cela pour contourner un blocage du port 25
et renvoyer sur un port différent (il faut évidemment que sur le relai
SMTP réponde sur ce port). Par exemple sur le port 2525 :
~~~
accept from local for any relay via 192.0.2.25:2525
~~~
Bien sûr il faut que sur cette machine, le serveur mail écoute sur le
port donné et soit configurer pour relayer les mails depuis notre
machine. Il faudra aussi doute ouvrir le port dans le firewall.
## Commandes smtpctl pratiques
@ -79,12 +123,15 @@ machine. Il faudra aussi doute ouvrir le port dans le firewall.
~~~
# smtpctl show stats
control.session=1
uptime=297
uptime.human=4m57s
~~~
### Obtenir rapidement la taille de la mailq
### Obtenir rapidement la taille de la queue
~~~
# smtpctl show stats | grep scheduler.envelope
# smtpctl show stats | grep scheduler.envelope
~~~
### Voir la queue (équivalent de la commande `mailq`)