Postfix & Telnet : Créer un serveur de mail local sous Linux

book
date_range
comment0 commentaire
remove_red_eye3980 vues

Postfix serveur email Debian 

En cours, on nous a demandé de créer un serveur de mail basique sans authentification. J'ai utilisé PostFix sous Debian Jessie pour ce que je vais vous montrer après. Je vous déconseille fortement de laisser un serveur de mail par défaut sans authentification sur un serveur connecté à internet, des bots tournent sur le net pour repérer les serveurs SMTP sans auth pour envoyer du spam.

Pour ce cours tutoriel, nous allons juste voir comment mettre en place un serveur de mail en local, comment consulter ses e-mails et comment se connecter à un serveur de mail en telnet.

Installation du serveur mail Postfix

J'ai donc installé le paquet postfix directement depuis les dépôts officiels.

aptitude install postfix

Connexion au serveur de mail Postfix via telnet

A noter que j'ai simplement virtualisé une station Debian avec Virtualbox. Un pont sur la carte réseau m'a permis de faire communiquer le pc hôte et la station virtuelle.

Récupérer l'adresse ip du serveur Postfix

ifconfig

Connaître le nom du domaine de la station Debian

cat /etc/hostname

Connexion Telnet

Voici le résultat de mon interraction avec le serveur de mail :

sacha@debian:~$ telnet 192.168.1.82 25

Trying 192.168.1.82...
Connected to 192.168.1.82.
Escape character is '^]'.
220 debian ESMTP Postfix (Debian/GNU)
helo debian
250 debian
mail from: <contact@security-helpzone.com>
250 2.1.0 Ok
rcpt to: <sacha@mail.fr>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: SHZ <contact@security-helpzone.com>
To: Sacha <sacha@mail.fr>     
Subject: Testing message from anonymous mail server
#SHZ
.
250 2.0.0 Ok: queued as E8A4C521
quit
221 2.0.0 Bye
Connection closed by foreign host.

Pour de nombreuses raisons, ce mail atteri dans mes spams. Par exemple si j'essaye d'envoyer un e-mail avec ce serveur sur l'adresse de contact du site :


Oct 21 13:42:57 debian postfix/smtp[581]: E8A4C521: 
to=<contact@security-helpzone.com>, 
relay=plesk.cubis-helios.com[91.121.49.59]:25, 
delay=0.46, delays=0/0/0.33/0.13, dsn=4.0.0, 
status=deferred (host plesk.cubis-helios.com[91.121.49.59] said: 
451 http://www.spamhaus.org/query/bl?ip=109.12.169.90 
(in reply to RCPT TO command))

Le serveur mail de Cubis-Helios joue bien son rôle et détecte le courriel en tant que spam. Ce peut être la même chose avec Hotmail, Gmail... Car si vous êtes chez vous, vous avez de forte chance d'avoir une adresse IP dynamique.

Envoyer un mail à un utilisateur sur le domaine

Il ne vous reste plus qu'à envoyer un email à un utilisateur du domaine (pour créer un utilisateur : man adduser).


sacha@debian:~$ telnet 192.168.1.82 25

Trying 192.168.1.82...
Connected to 192.168.1.82.
Escape character is '^]'.
220 debian ESMTP Postfix (Debian/GNU)
mail from: <sacha@debian>
250 2.1.0 Ok
rcpt to: <root@debian>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
test
.
250 2.0.0 Ok: queued as 0549D26F

Dans les logs, on voit que si on essaye d'envoyer un message sur le domaine.

Oct 21 13:50:47 debian postfix/cleanup[1405]: 0549D26F: message-id=<20151021125047.0549D26F@debian>
Oct 21 13:50:47 debian postfix/qmgr[554]: 0549D26F: from=<root@debian>, size=2498, nrcpt=1 (queue active)
Oct 21 13:50:47 debian postfix/local[1411]: 0549D26F: to=<sacha@debian>, relay=local, delay=0.02, delays=0/0.01/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
Oct 21 13:50:47 debian postfix/qmgr[554]: 0549D26F: removed

Pour rappel les logs e-mails se trouvent dans : 

tail /var/log/mail.log

Récupérer ses e-mails en ligne de commande

On récupère ses e-mails avec la commande suivante : 

cat /var/mail/${USER}

On peut voir que l'e-mail a été reçu : 

From sacha@debian  Wed Oct 21 13:56:46 2015
Return-Path: <sacha@debian>
X-Original-To: root@debian
Delivered-To: root@debian
Received: from unknown (unknown [192.168.1.89])
    by debian (Postfix) with SMTP id 71EDE26A
    for <root@debian>; Wed, 21 Oct 2015 13:56:26 +0100 (BST)
test

Changer les informations de l'email

Vous pouvez changer les informations affichées dans le corps de l'e-mail (c'est ainsi que les spammeurs procèdent). Ainsi avec le code suivant :

sacha@debian:~$ telnet 192.168.1.82 25

Trying 192.168.1.82...
Connected to 192.168.1.82.
Escape character is '^]'.
220 debian ESMTP Postfix (Debian/GNU)
mail from: <sacha@debian>
250 2.1.0 Ok
rcpt to: <root@debian>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
From: Sacha <sacha@mail.fr>
To: You <you@mail.fr>
Subject: Test
test
.
250 2.0.0 Ok: queued as D84EA26F
quit
221 2.0.0 Bye
Connection closed by foreign host.

On reçoit ce message : 

From sacha@debian  Wed Oct 21 14:15:13 2015
Return-Path: <sacha@debian>
X-Original-To: root@debian
Delivered-To: root@debian
Received: from unknown (unknown [192.168.1.89])
    by debian (Postfix) with SMTP id D84EA26F
    for <root@debian>; Wed, 21 Oct 2015 14:14:20 +0100 (BST)

From: Sacha <sacha@mail.fr>
To: You <you@mail.fr>
Subject: Test

test

Liste des commandes telnet

On utilise la commande telnet sur le port 25 de la machine cible pour accéder à son serveur de mail.

sacha@debian:~$ telnet 192.168.1.82 25

Les commandes suivantes se tapent dans le terminal telnet.

mail from: <sacha@debian>

Permet de savoir d'où vient le mail (ce champs peut être falsifié).

rcpt to: <root@debian>

L'adresse e-mail de notre destinataire.

data

Permet de taper le corps du message.

From: Sacha <sacha@mail.fr>

De qui vient le message.

To: You <you@mail.fr>

A qui va le message.

Notez que ces informations peuvent ne pas être valides, tout ce qui est dans le corps du message peut être faux. 

Subject: Test

Le sujet de l'e-mail.

test

Le corps de l'e-mail

.

Le point sert pour sortir de la saisie du corps et envoyer le mail.

Articles similaires

Commentaires

Aucun commentaire

Ajouter un commentaire

Vous ne disposez pas les autorisations nécessaires pour poster un commentaire.