Professional Documents
Culture Documents
CE TP ILLUSTRERA
3 Utilisation de l’interface ASDM pour le filtrage des données par l’intermédiaire du CISO PIX
4 Utilisation de IPTABLES pour le filtrage des données par l’intermédiaire d’un routeur logiciel LINUX
Remarques préliminaires
Pour ce TP, chaque binôme travaille sur un îlot isolé et dispose de trois PC Linux et un PC
Windows XP équipés de deux cartes Ethernet. Chaque îlot est doté de deux HUBs Ethernet
ainsi que de deux SWITCHs Ethernet. Un routeur CISCO série 1600 ainsi qu’un routeur
Firewall CISCO PIX sont aussi disponibles.
Pour la partie 1 du TP seuls 2 PCs linux, deux HUBs (ou SWITCHs au choix) réseau et le
routeur Cisco seront nécessaires. Le troisième PC linux n’interviendra que dans les parties 2
et suivantes du TP.
Toutes les commandes réseau (ifconfig, wireshark, iptables, snort…) doivent être exécutées
en tant que ROOT. Le mot de passe vous sera communiqué au début du TP.
Attention !!! en tant que ROOT vous pouvez endommager gravement votre système et
hypothéquer le bon déroulement de votre TP, il est donc nécessaire de réflechir avant
d’exécuter toute commande en tant qu’utilisateur ROOT.
Le compte rendu devra faire apparaître en clair la séquence des commandes que vous aurez
réalisée ainsi que les captures d’écran des situations que vous jugerez utiles de mentionner par
écrit. Toute commande ou capture d’écran devra être justifiée et son fonctionnement explicité
avec soin.
Pour éviter tout problème d’une configuration de firewall existante dans votre îlot, veuillez
exécuter le script de la partie 2 §3.1.3 sur chacune de vos machines avant d’aller plus loin.
Partie 1 : configuration réseau minimale et routage
1. Branchement et découverte du matériel
Connectez chacune de vos machines à un des deux hubs (ou switchs) via une prise RJ45.
Connectez ensuite le routeur Cisco sur chacun des hubs (ou switchs) en prenant soin de
connecter chacune des interfaces du routeur sur un réseau disjoint.
2. Paramétrage IP
La commande ifconfig permet de récupérer les informations sur les interfaces réseaux de votre
machine, utilisez la pour configurer les interfaces de vos deux machines afin de leur attribuer
une adresse réseau valide. Il est vivement conseillé de regarder le man de cette commande.
Attention au choix des adresses réseaux qui doivent faire appartenir chaque machine à des
réseaux différents ! La configuration se fera sur l’interface eth1 (carte réseau située en bas de
votre unité centrale).
Nous allons maintenant utiliser un routeur CISCO de la série 1600 pour interconnecter les
deux réseaux logiques.
4. Routes statiques
On veut maintenant faire en sorte que les deux réseaux, avec les caractéristiques définies
précédemment soient capables de se voir. Pour réaliser cela, on va mettre en place des routes
statiques, par l’intermédiaire de la commande route.
Par exemple sur une des machines linux d’extrémité on exécute la commande : route add –net
192.168.x.0/24 gw 192.168.y.100 eth1
Remarque : si des routes statiques passant par eth0 persistent dans votre configuration,
exécutez la commande ifconfig eth0 down.
Réaliser ces commandes sur vos deux machines d’extrémité et vérifier la connectivité entre
ces deux machines à l’aide de la commande ping.
Les possibilités de filtrage sont donc réelles et très complexes à mettre en œuvre.
Le but de cette partie du TP est d’autoriser le trafic SSH entre vos deux PCs Linux situés de
part et d’autre du routeur CISCO. Pour cela nous nous utiliserons une ACL étendue
(numéro > 99) agissant sur le protocole applicatif transporté uniquement (ici SSH).
Remarque : il est à signaler que la configuration des ACL est assez délicate et qu’il n’est pas
possible de changer l’ordre des autorisations et des interdictions. Il est donc vivement
conseillé de commencer par une réflexion papier avant de se lancer directement sur la
configuration.
Néanmoins, il est possible d’effacer une access-list erronée. Pour cela, il faut utiliser la
commande : no access-list <ACLnumber>
Une fois l’ACL paramétrée, on attache cette ACL à une interface, par la configuration de
l’interface : ip access-group 105 [in/out].
Ce qui suit est un exemple d’une ACL qui peut être positionnée, elle est à adapter en fonction
de vos configuration réseaux (notamment les adresses IP qui apparaissent dans les ACL).
nantes(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC address access list
<1300-1999> IP standard access list (expanded range)
<200-299> Protocol type-code access list
<2000-2699> IP extended access list (expanded range)
<700-799> 48-bit MAC address access list
nantes(config)#access-list 105 ?
deny Specify packets to reject
dynamic Specify a DYNAMIC list of PERMITs or DENYs
permit Specify packets to forward
nantes(config)#interface ethernet 0
nantes(config-if)#ip access-group 105 ?
in inbound packets
out outbound packets
On vérifie la configuration
nantes(config-if)#exit
nantes(config)#exit
nantes#sh
nantes#sh
nantes#show run
nantes#show running-config
Building configuration...
Current configuration:
!
[…/…]
!
interface Ethernet0
ip address 100.0.1.1 255.255.255.0
ip access-group 105 in
no ip directed-broadcast
!
interface Ethernet1
ip address 100.0.2.1 255.255.255.0
no ip directed-broadcast
!
ip classless
!
access-list 105 deny ip host 100.0.1.9 host 100.0.2.10
!
Questions :
Dans cette partie, nous vous proposons de remplacer le routeur CISCO 1605 par un firewall
routeur matériel CISCO PIX afin de profiter de la souplesse et de la puissance d’utilisation de
l’interface CISCO ASDM.
2.1. Exercice 1
A l’aide des annexes A et B configurer le firewall CISCO PIX pour qu’il puisse servir de
routeur entre les deux réseaux logiques précédemment configurés. Vous configurerez dans un
premier temps son interface ethernet 1 en mode commande (laison série).
Ainsi, la configuration du CISCO PIX se fera à partir du poste Windows XP dans un premier
temps avec le programme hyper-terminal puis dans un deuxième temps à l’aide de ASDM.
A l’aide d’une connexion série vous devez réinitialiser la configuration du CISCO PIX en
lançant la commande : write erase. Confirmez puis lancez la commande : reload qui
provoquera un redémarrage du CISCO PIX.
9 L’ « Inside IP address » est l’adresse de l’interface ethernet 1 qui doit être une
adresse réseau appartenant à un des réseaux logiques configurés dans la partie
précédente. Saisir également le masque de réseau, le nom de votre firewall, le nom de
domaine ainsi que l’adresse de votre station de configuration qui est celle de la machine
windows XP
9 Vérifiez votre configuration et validez en répondant affirmativement à la question
« use this configuration and write to flash ».
2.2. Exercice 2
Une fois la configuration réseau mise en place, configurer le CISCO PIX pour qu’il serve
d’outil de filtrage pour permettre uniquement au trafic SSH de passer d’un réseau à l’autre.
Pour cela vous vous inspirerez de l’annexe C qui décrit la mise en place d’une règle de
filtrage pour le protocole FTP.
Nous allons maintenant délaisser l’utilisation du firewall routeur Cisco PIX et le remplacer
par un routeur logiciel Linux, qui va nous permettre de tester les fonctionnalités de filtrage
avancé ainsi que d’audit réseau.
Pour ce faire, vous utiliserez la troisième machine Linux à votre disposition dans l’îlot de TP
et vous configurerez ses deux interfaces pour que chacune d’elle appartienne à un des réseaux
défini au début de ce tp.
Vérifier l’activitation du forwarding IP sur la machine qui vous sert de routeur logiciel
(fichier /proc/sys/net/ipv4/ip_forward à 1).
3.1.1. Description
Iptables est le module noyau de linux gérant le filtrage des paquets. Il peut donc constituer un
bon pare-feu, tant sur une station de travail qu'en tant qu'équipement dédié. Iptables est
constituée de 3 tables. La trame est reçue par la carte réseau, qui décapsule le paquet IP et le
relaie au noyau. Le paquet va ensuite traverser la chaîne INPUT, puis la chaîne FORWARD
et enfin, la chaîne OUTPUT juste avant son envoi à la carte réseau. Par ailleurs, la table
FILTER permet elle de traiter les paquets devant être routés. Elle permet donc de rediriger des
flux à la volée, faire du NAT. . .
Le filtrage est défini sous la forme de règles, aboutissant à une action : DROP, ACCEPT,
LOG, REJECT, MASQUERADE, DNAT, SNAT. . .
iptables -X
iptables –F INPUT
iptables –F OUTPUT
iptables –F FORWARD
Remarque : cette configuration n’est pas celle utilisée par défaut par les administrateurs
réseau qui choisissent plutôt de tout bloquer et d’autoriser uniquement les connexions qu’ils
jugent nécessaire. Néanmoins pour des besoins de simplification des règles nous ne suivront
pas ce type de politique dans un premier temps.
Nous proposons dans cette configuration que vous mettiez en place les règles suivantes :
• Autoriser le ping entre les deux machines d’extrémités.
• Autoriser les flux SSH au sein du réseau.
De la même façon qu’à la question précédente, vous pouvez créer un script regroupant toutes
les règles définies, à lancer en une seule fois et vous inspirer du script disponible sur chacun
des ilôts dans le répertoire /home/eleve/SECRE/ilot1_config_stagiaires_iptables.txt. Il est
impératif de copier ce fichier et de ne pas travailler directement dessus.
Le logiciel WIRESHARK va permettre de voir les trames Ethernet qui transitent sur le réseau
pendant cette phase d’audit. Nous utiliserons ce logiciel pour analyser le trafic Ethernet de la
salle.
Cet outil nous permettra d’analyser le comportement des outils d’audit que nous allons
maintenant utiliser.
Il est nécessaire à cet instant de revenir dans un configuration IPTables qui permette de laisser
passer le trafic NMAP, pour cela exécuter le script de la partie 2 §3.1.3.
Attention : le scan d'un hôte est considéré juridiquement comme une attaque réseau. Seul est
autorisé le scan sur un hôte dont l'auteur est lui même l'administrateur. Un scan doit être
considéré comme un moyen pour réaliser un audit, mais en aucun cas une attaque.
Corréler les informations relevées avec Wireshark pour décortiquer le fonctionnement de cet
outil.
3. Outil NESSUS
Nessus est un outil permettant de détecter les failles d'un serveur. Il est évident que Nessus ne
doit être exécuté que sur un de ses propres serveurs afin de tester sa robustesse et sa protection
aux attaques. Une attaque réseau est passible de peines de prison. Nessus est continuellement
mis à jour et possède actuellement plus de 10 000 plugins différents.
Nessus se compose d'une partie serveur et d'une partie client. Le serveur ne devrait être
démarré qu'à la demande, même s'il n'autorise que des connexions TLS et qu'une
authentification par certificats est possible. En d'autres termes, il est conseillé d'arrêter le
serveur lorsque l'opération souhaitée est terminée, afin d'éviter que tout autre client s'y
connecte, et détecte ainsi les failles du réseau interne. Les versions 2.x sont opensource, les
nouvelles versions 3.x sont maintenant devenues propriétaires.
3.1. Exercice
Réalisez un scan de votre routeur logiciel et de votre machine cliente. Pour cela vous
utiliserez le compte eleve et le mot de passe eleve à spécifier dans le logiciel nessus.
Corréler les informations relevées avec Wireshark pour décortiquer le fonctionnement de cet
outil.
1. Description générale
Snort est un Network IDS. Il peut fonctionner en mode sniffer (capture le traffic et l'affiche),
packet logger (capture le traffic et le stocke, i.e. agit en tant que sonde), NIDS (en temps réel
sur le traffic capturé). Bien entendu, il est conseillé de réfléchir à la localisation la plus
judicieuse d'un NIDS (avant ou après le firewall).
Remarque : pour que snort s’exécute sans erreur il faut le lancer depuis le répertoire
/etc/snort. Vous pourrez observer les différentes règles de snort dans le répertoire
/etc/snort/rules.
Elle détecte un paquet http venant de l'extérieur et destiné à un de nos serveurs webs
contenant le mot cmd.exe (insensible à la casse), classant l'attaque parmi les applications
webs. La règle déclenchera l'inscription de msg dans les logs (fichier /var/log/snort). Par
ailleurs, sid et rev permettent d'identifier la provenant des règles, et définit un numéro de
version. Vous pouvez regarder pour avoir d'autres exemples de règles le fichier
/etc/snort/snort.conf.
2. Exercices
Dans cette partie, vous allez être mis en situation « professionnelle » dans le sens où un des
objectifs pour vous sera d’utiliser tous les moyens d’information à votre disposition (papier et
électronique) pour aller chercher de l’information sur l’utilisation de cet outil nouveau qu’est
Snort.
Remarque : l’autonomie et l’esprit d’initiative dont vous ferez preuve lors de cette dernière
partie seront particulièrement recherchés.
• Testez un scan de ports nmap vers une machine exécutant snort. Observez les fichiers
de logs de snort. Commentez le résultat.
Exec commands:
<1-99> Session number to resume
connect Open a terminal connection
disconnect Disconnect an existing telnet session
enable Turn on privileged commands
exit Exit from the EXEC
.
.
.
where List active telnet connections
x3 Set X.3 parameters on PAD
xremote Enter XRemote mode
Pour passer en mode privileged EXEC, il faut utiliser la commande enable. Le système
demande alors un mot de passe. Tapez la touche entrée (pas de mot de passe)
pix> enable
Password:
Vous devez avoir présent sur votre bureau une nouvelle icône :
9 Double clic sur l’icône d’installation, répondez deux fois next puis install.
Une nouvelle icône est présente sur le bureau
2) Première utilisation
9 Lancer ASDM, saisissez l’adresse IP de votre firewall et laissez le username et le
password vide, si tout va bien, vous devez trouver l’interface de gestion du cisco Pix.
Le menu de pré configuration ne nous a permis d’activer qu’une seule interface sur les trois
physiquement présentes sur l’appareil, vous allez mettre en place l’interface ethernet 0.
Cliquez sur le bouton configuration puis choisir la ligne de l’interface ethernet0 et exécuter un
double clic.
9 Nommez l’interface ethernet0 « mefiance ».
9 Choisissez 0 comme niveau de sécurité.
9 Indiquez l’adresse internet associée à l’interface (2).
9 Ne pas oublier de cocher le bouton « enable interface » et de faire « apply ».
3.2. Renommer ethernet1
9 Editez la configuration de l’interface ethernet1 et renommez l’interface « confiance »
ANNEXE C
Positionnement d’une règle de filtrage avec
le pix en mode graphique
Ex : vous voulez qu’un serveur ftp protégé soit accessible de part et
d’autre du réseau
CE TP ILLUSTRERA
Remarques préliminaires
Ce TP est dans la continuité du TP réalisé en tronc commun dans le cadre de la mise en place
d’un serveur mail SMTP. Vous utiliserez en particulier la même configuration réseau ainsi
que les mêmes environnements (un serveur Linux et un client Windows XP ou Linux en
fonction de votre travée).
Au cours du TP de l’an dernier nous avions configuré un serveur SMTP et récupéré les mails
sur ce serveur à l’aide du protocole IMAP. Nous nous sommes aperçu que les login et mots de
passe transitaient en clair sur le réseau de la salle de TP. Pour remédier à cette grosse faille de
sécurité nous allons authentifier et chiffrer l’échange entre le serveur Linux et le client de mail
XP à l’aide de certificats et de l’utilisation du protocole SSL associé à SMTP et IMAP.
Nous allons travaillé dans un premier temps avec un certificat généré en local. Dans ce cadre,
il n'y a pas besoin d'autorité de certification, et ce certificat ne peut pas être automatiquement
accepté par une application ; puisque qu’aucune autre ne le valide.
Ce certificat va nous servir dans la partie suivante pour autentifier toute communication entre
le serveur Postfix sécurisé et ses clients.
Deux méthodes sont possibles pour faire du SMTP sécurisé. On peut faire passer une nouvelle
connexion SMTP dans un tunnel SSL déjà établis au préalable, souvent sur le port 465
(SMTPS). La seconde méthode suit le protocole indiqué dans la RFC 2487. Dans ce cas, après
s'être connecté au serveur SMTP, le client liste les extensions que celui-ci supporte. Si l'option
STARTTLS est supportée, le client négocie alors une connexion SSL.
Nous allons regarder la seconde méthode, c'est la plus simple à mettre à oeuvre. Vous
reprendrez pour ce faire le cerficat généré dans la partie I du TP.
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.pem
smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom
Rem : ici, les certificats seront placés dans un répertoire « ssl » à créer au préalable dans le
répertoire de configuration de Postfix.
Relancez PostFix.
Après avoir réalisé cette configuration, connectez vous via telnet sur le serveur de mail et
exécutez la commande EHLO. Notez la réponse que vous fait le serveur.
Dans un deuxième temps, désactivez l’option TLS dans le fichier main.cf, relancez postfix
puis relancez une connexion via telnet sur le serveur de mail. Quel est le message manquant
qui indique que la connexion était sécurisée au préalable et plus maintenant ?
Puis effacez les certificats *.pem afin d'en recréer avec les bonnes informations.
Lancez ensuite un dpkg-reconfigure courier-imap-ssl et vérifiez la présence de vos
nouveaux certificats (la commande ls -l vous y aidera).
2- Après avoir réalisé cette configuration, vérifiez que la réception des mails à l’aide du
protocole IMAP est sécurisée (protocole IMAPS) à l’aide de votre client Thunderbird sous
XP ou Linux (en fonction de votre travée) vers le serveur Linux. Que se passe-t-il de différent
par rapport à une connexion non sécurisée ?
4- Retrouvez dans les différents paquets échangés les différentes étapes de la connexion SSL
telle qu’elle a été abordée en cours.
Tous les ordinateurs sous Linux ont besoin d'un serveur de mail pour fonctionner
correctement. Par contre, pour mettre en place un vrai serveur de mail destiné à recevoir des
mails de l'extérieur, il faut des entrées dans la DNS et surtout un machine en état de
fonctionnement 24h/24 et 7j/7.
Ce chapitre explique seulement la configuration d'un serveur mail qui gère le mail en local et
l'envoi des mails. La configuration d'un vrai serveur de mail avec les entrées DNS qui vont
avec est expliquée dans la partie Debian GNU/Linux en réseau de la documentation du
système Debian disponible en ligne sur http://www.debian.org.
Installation de Postfix
Le serveur de mail installé par défaut sur une Debian est Exim. Je vous propose de le
remplacer par Postfix, qui est réputé fiable et facile à configurer :
Configuration de Postfix
Lors de l'installation du package, il vous pose des questions de configuration. A la première
question Type de configuration ? Répondez Pas de configuration.
Une fois qu'il a fini l'installation du package, lancez la commande suivante pour relancer la
procédure de configuration (cette astuce permet d'avoir un assistant de configuration plus
détaillé) :
# dpkg-reconfigure postfix
Au deuxième écran, quand il vous redemande Type de configuration ? Répondez cette fois
Site Internet. Ensuite, acceptez tous les paramètres qu'il vous propose par défaut !
Notez bien les infos apparaissant dans la console à l’issue de cette phase de configuration
initiale.
1. main.cf
La configuration de Postfix se fait dans le fichier /etc/postfix/main.cf.
Dans notre exemple, le serveur s'appelle facteur et son domaine localhost. Une
petite note sur la configuration : la variable mynetworks est cruciale pour le bon
fonctionnement de postfix, autorisant les plages d'adresses mentionnées ci-
dessous.
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix
setgid_group = postdrop
append_dot_mydomain = no
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
delay_warning_time = 4h
smtpd_client_restrictions = permit_mynetworks
virtual_maps = hash:/etc/postfix/virtual_maps
myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = localhost.salletpg17
mydestination = salletpg17, localhost, localhost.salletpg17
relayhost =
mynetworks = 127.0.0.0/8, 192.168.1.0/16
mailbox_command = maildrop
mailbox_size_limit = 0
recipient_delimiter = +
# /etc/init.d/postfix reload
2. Les alias
Les alias permettent de faire des correspondances entre des adresses mails et des
comptes locaux, d'autres adresses mails ou encore des commandes à exécuter. Ils
sont définis dans le fichier /etc/aliases. La syntaxe de ce fichier est très simple :
# /etc/aliases
# Fichier d'alias mail
# NE PAS OUBLIER d'exécuter "newaliases" après chaque modification
Normalement, on définit aussi dans ce fichier à quel compte local (ou à quelle
adresse) le serveur de mail doit faire suivre le mail destiné à l'utilisateur root. En
effet, comme il n'y a pas besoin d'avoir tous les pouvois pour lire le mail du root, il
serait absurde (et même dangereux) de lire les mails du root en tant que root. Il est
préférable de faire suivre le mail du root vers un autre compte ou une autre adresse.
Il faut également faire des alias pour les adresses postmaster et abuse, qui sont deux
adresses standards pour pouvoir joindre les administrateurs du serveur de mails d'un
domaine. Par exemple, si vous utilisez un compte local admin pour lire les logs et
les mails d'administration, ajoutez les lignes suivantes au fichier d'alias :
root: admin
postmaster: admin
abuse: admin
# newaliases
% mailq
% postqueue -f
# postsuper -d mail_ID
Où mail_ID est l'identifiant du mail dans la queue (il apparaît à gauche dans la
sortie de la commande mailq).
1. Le protocole SMTP
Le protocole SMTP (Simple Mail Transfer Protocol, traduisez Protocole Simple de Transfert
de Courrier) est le protocole standard permettant de transférer le courrier d'un serveur à un
autre en connexion point à point.
Il s'agit d'un protocole fonctionnant en mode connecté, encapsulé dans une trame TCP/IP. Le
courrier est remis directement au serveur de courrier du destinataire. Le protocole SMTP
fonctionne grâce à des commandes textuelles envoyées au serveur SMTP (par défaut sur le
port 25). Chacune des commandes envoyées par le client (validée par la chaîne de caractères
ASCII CR/LF, équivalent à un appui sur la touche entrée) est suivi d'une réponse du serveur
SMTP composée d'un numéro et d'un message descriptif.
Les spécifications de base du protocole SMTP veulent que tous les caractères transmis soient
codés en code ASCII sur 7 bits et que le 8ème bit soit explicitement mis à zéro. Ainsi pour
envoyer des caractères accentués il faut faire recours à des algorithmes intégrant les
spécifications MIME :
Il est ainsi possible d'envoyer un courrier grâce à un simple telnet sur le port 25 du serveur
SMTP :
telnet smtp.enac.fr 25
(le serveur indiqué ci-dessus est volontairement inexistant, vous pouvez essayer en
remplaçant commentcamarche.net par le domaine de votre fournisseur d'accès à internet)
L'ensemble des spécifications du protocole SMTP sont définies dans le RFC 821 (depuis avril
2001, les spécifications du protocole SMTP sont définies dans le RFC 2821).
Poster un message
La connexion au serveur se fait sur le port 25 (SMTP) :
On remarque tout de suite le ESMPT avec un "E" comme étendu : le serveur accepte le 8-
bits.
Disons-lui bonjour en lui indiquant que nous aussi nous parlons le 8-bits couramment en
répondant ehlo (s'il nous dit simplement SMTP nous répondrons HELO) suivi de notre nom
de domaine. Le serveur n'est pas trop regardant sur la distinction majuscules / minuscules tant
que l'on n'est pas dans les en-têtes ou dans le corps du message.
ehlo chez.mon.fai
250-smtp.chez.mon.fai Hello toto@ppp136.chez.mon.fai [192.168.1.2], pleased to meet
you
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP
Notons au passage que vous pouvez poster a) chez votre fournisseur à destination de
n'importe qui à partir de chez vous, ou b) parfois sur un serveur smtp quelconque à
destination d'un des clients du dit serveur, mais pas c) sur n'importe quel serveur pour
n'importe qui à partir de n'importe où (message du type 550 titi@hop.la... Relaying denied.
Maintenant passons aux en-têtes - certains champs dont la date et le Message-ID seront
rajoutés par le serveur SMTP - en faisant bien attention à la syntaxe (majuscule initiale,
minuscule, pas d'espace avant ":" mais un espace après) puis au texte du message séparé par
une ligne blanche. Tout ça se finit par une ligne ne comportant qu'un point ".", et l'on quitte
par la commande quit si l'on a fini.
From: toto@chez.mon.fai
To: titi@chez.lui
Subject: test (de veau)
blabla
blabla
.
250 WAA11355 Message accepted for delivery
quit
221 smtp.chez.mon.fai closing connection
Connection closed by foreign host.
Un certain nombre d'en-têtes sont classiquement reconnus par les logiciels de courrier, on
aura par exemple :
Organization: bof
X-Mailer: Linux netkit-telnet 0.14
RETR 1
+OK message 1 (780 octets):
Return-Path: <titi@chez.lui>
Received: from [blabla chemin suivi par le message]
From: titi@chez.lui <Gros Titi>
To: toto@chez.mon.fai
Subject: Bonjour
Date: : Thu, 17 Feb 2000 21:38:05 +0100
Message-ID: <123456789.abcdefgh@mail.chez.lui>
blabla
blabla
top 2 5
[les en-têtes + la ligne blanche + les 5 premières lignes qui suivent]
Si le message est long, faire top 5 puis top 25 puis top 45 etc.
Et l'on quitte proprement (les messages lus restent dans la boîte aux lettres) :
quit
+OK pop3.chez.mon.fai POP3 Server (Version 1.006d) shutdown.
Connection closed by foreign host.
Finissons en disant que l'accès aux serveurs SMTP est encore moins sécurisé que celui aux
serveurs POP3, il n'y a même pas de mot de passe...