P. 1
linux-(Tmsir-Ofppt.c.la)

linux-(Tmsir-Ofppt.c.la)

|Views: 3,413|Likes:
Published by kkarroumi
http://tmsir-ofppt.c.la
http://tmsir-ofppt.blogspot.com
http://tmsir-ofppt.c.la
http://tmsir-ofppt.blogspot.com

More info:

Published by: kkarroumi on Jun 21, 2011
Copyright:Traditional Copyright: All rights reserved

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF or read online from Scribd
See more
See less

10/04/2011

Il faut que le fire­wall ouvre le port 25 (comme précédemment) vers l'endroit d'où on envoie le couriel. Ensuite, la
configuration du lecteur de courrier est expliquée dans la rubrique : « Troisième test : lire le courrier de l'extérieur ». Il est
important de bien maîtriser l'« extérieur » choisit. Je vous conseille de le restreindre à votre réseau local. Dans ce cas « ex­
térieur » sera simplement « aux autres PC ». C'est ce que font les FAI afin de contrôler l'origine des mails pour éviter de
servir de relais aux spameurs.

Si notre serveur sert aussi de passerelle (avec une interface vers le réseau local et une autre vers internet, voir cha­
pitre sur le fire­wall), on peut indiquer dans la configuration de postfix, que seul les mails du réseau local seront pris en
compte.

H ) Exemple de fichiers de configuration

1) /etc/postfix/main.cf
Merci à http://www.via.ecp.fr/~alexis/formation­linux/ pour cet exemple et à http://cjovet.free.fr/cours/post­

fix.htm.

# /etc/postfix/main.cf

# Fichier de configuration de Postfix

# Formation Debian GNU/Linux par Alexis de Lattre

# http://www.via.ecp.fr/~alexis/formation-linux/

# Pour plus d'informations, installer le package "postfix-doc"

# et lire /usr/share/doc/postfix/html/index.html

# ou lire la traduction française disponible à l'adresse

# http://cjovet.free.fr/cours/postfix.htm

# Paramètres de fonctionnement de postfix

# NE PAS CHANGER

command_directory = /usr/sbin

daemon_directory = /usr/lib/postfix

program_directory = /usr/lib/postfix

smtpd_banner = $myhostname $mail_name (Mandriva LINUX)

setgid_group = postdrop

biff = no

# Nom du fichier d'alias

alias_maps = hash:/etc/postfix/aliases

#alias_database = hash:/etc/mail/aliases

# Nom du fichier de correspondance pour les adresses virtuelles

#virtual_maps = hash:/etc/postfix/virtual

# Nom de domaine

# Ce paramètre ne sert pas directement, mais peut être utilisé par la suite.

mydomain = lycee.org

# Nom d'hôte

# Ce paramètre ne sert pas directement, mais peut être utilisé par la suite.

myhostname = troumad.$mydomain

# Extension pour les mails envoyés depuis la machine

myorigin = lycee.org

22287750.odt

Page 94 sur 141

20/09/09

# Liste des domaines pour lesquels le serveur accepte le mail

# ET délivre le mail en local

mydestination = $myhostname, localhost.$mydomain,localhost

# le paramètre inet_interfaces doit indiquer d'où on accède au serveur pour l'envoi de courrier

inet_interfaces = $myhostname, localhost.$mydomain, localhost,$mydomain

# Liste des domaines pour lesquels le serveur accepte le mail

# ET le relaie à d'autres serveurs de mail

#relay_domains =

# Dans le cas où on a besoin d'un serveur pour relayer les mails sortants :

#relayhost = smtp.free.fr

# #defer_transports = smtp peut être utile si on n'est pas souvent connecté à internet.

# Il Faut alors faire un sendmail -q pour envoyer les mails lors de la connexion.

#defer_transports = smtp

# Réseaux en lesquels j'ai confiance

# i.e. pour lequel mon serveur mail accepte de relayer du mail

# ATTENTION : il ne faut pas mettre n'importe quoi pour que le serveur

# mail ne devienne pas un relai pour le spam !

mynetworks = 127.0.0.0/8,192.168.1.0/24

# Commande à exécuter pour délivrer les mails en local

mailbox_command = /usr/bin/procmail -Y -a $DOMAIN -d $LOGNAME

# Taille maximale pour les mailbox (0 = pas de limite)

mailbox_size_limit = 0

#Les lignes suivantes sont quelque peu paranos...

#connexion d'un client sur le serveur de mail :

# - rejète le client si son adresse IP n'a pas d'enregistrement PTR dans le DNS.

# - juste pour le réseau internes

# - accepte ou rejète le client selon les régles du fichier spécifie hash:/etc/postfix/access

smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,check_client_access

hash:/etc/postfix/access

# vérifie le champ MAIL FROM du mail

# - rejète la requête si l'adresse de l'émetteur n'a pas d'enregistrement A ou MX dans le DNS.

# - accepte ou rejète la requête selon les règles du fichier /etc/postfix/access

# - la requête est rejetée si l'adresse email n'est pas un nom de domaine complet

smtpd_sender_restrictions = reject_unknown_sender_domain, check_sender_access

hash:/etc/postfix/access,reject_non_fqdn_sender

# Pour /etc/postfix/access : 'man 5 access' et à chaque modification 'postmap

/etc/postfix/access'

#

Afin de vérifier votre configuration, vous pouvez faire « postconf », ceci affichera TOUS les paramètres de postfix,
mêmes ceux choisi par défaut. Pour afficher les différences de votre configuration avec celle par défaut, entrez « postconf -n ».
Pour vérifier la configuration du serveur, lancez « postfix check ».

2)/etc/postfix/access
Le fichier access qui indique à partir d'où on peut poster un mail :

192.168 OK

127 OK

10 NO

22287750.odt

Page 95 sur 141

20/09/09

I ) Petit plus

Pour faire un petit filtre de pièce jointe, dans le fichier main.cf de postfix, il faut ajouter :
header_checks = regexp:/etc/postfix/header_checks

puis créer le fichier /etc/postfix/header_checks qui contient la ligne suivante (sur une seule ligne) :

/^.*name=.*\.(vbe|vbs|shs|vbx|zip|chm|exe|pif|bat|com|scr)/ REJECT "les fichiers : vbe vbs shs

vbx chm exe pif bat com scr zip sont interdits comme piece jointe - message refuse"

J ) Test « open relais »

Vous pouvez, par exemple, tester votre serveur à http://abuse.net/relay.html .

K ) SpamAssassin

http://spamassassin.apache.org/
http://lea-linux.org/cached/index/Reseau-message-postfix.html

« urpmi spamassassin­spamd » installe le logiciel
« /etc/rc.d/init.d/spamd start » le met en route.
thunderbird et mozilla­mail ont cette fonctionnalité directement implémentée dans leur code avec le tri des indési­

rables.

Il en existe des utilitaires, testez : « urpmi spamassassin­ ».

L ) Améliorations possibles

http://mdk.services-virtuavision.com/article.php3?id_article=60 : Fetchmail - postfix - procmail - razor2 - MUA : les Dalton

anti-spam.

M ) Exercices

Créer votre serveur postfix avec une adresse qui fait suivre le courier à une liste d'utilisateur.

22287750.odt

Page 96 sur 141

20/09/09

XIX ) Serveur NIS

A ) Présentation

http://www.ac-creteil.fr/reseaux/systemes/linux/nis-linux.html
Le service NIS (Network Information System), permet de centraliser les connexions sur un réseau local. L'objectif central de
tout serveur de fichiers d'un réseau local est de permettre aux utilisateurs du réseau de se connecter au serveur de fichier
sous un compte centralisé au niveau du réseau, et non pas défini machine par machine et aussi d' accéder à ses fichiers
(répertoire personnel, ...).

Dans un réseau homogène Linux, la connexion et l'authentification sont du ressort du service NIS, tandis que les accès aux
répertoires personnels et partagés sont permis par le service complémentaire NFS, qu'il faut aussi mettre en oeuvre. Pour utiliser des
stations M$-Windows dialoguant avec un serveur Linux, l'alternative à NIS+NFS est la mise en oeuvre du serveur Samba.
NIS maintient une base de données (ou annuaire) centralisée au niveau d'un groupe de machines appelé domaine NIS. Suppo-
sons que le nom NIS attribué soit Maison. Ces informations sont alors stockées dans le répertoire /var/yp/Maison, sous forme
d'un ensemble de fichiers binaires appelés cartes ou maps.
Les types d'informations que les stations "clientes", celles des utilisateurs, viennent chercher sont essentiellement les cor-
respondances entre noms et adresse IP des machines du réseau, les vérifications des noms de login, mots de passe et groupes d'appar-
tenance des comptes utilisateurs existants sur le serveur. Toutes ces informations sont contenues habituellement dans les fichiers
/etc/hosts (annuaire des machines connues), /etc/passwd, (annuaires des utilisateurs qui contient les répertoires à la
connexion) et /etc/group (annuaire des groupes) et /etc/shadow (mots de passe cryptés).
Plus concrètement, soit une station Linux, cliente du serveur NIS. Un utilisateur remplit un formulaire de connexion (de-
mande de login). Le client NIS de cette station cherche à obtenir une réponse du serveur NIS du même domaine, à une question du
genre "me connais-tu comme station autorisée, et l'utilisateur que j'accueille possède t-il un compte chez toi, mon serveur?"
Les réponses sont contenues dans 6 maps usuels, situés dans /var/yp/Maison, et appelés hosts.byname, hosts.byad-
dr
, passwd.byname, passwd.byuid, group.byname et group.bygid.
Les applications NIS utilisent les fonctions RPC =Remote Procedure Calls, fonctionnalités supplémentaires (logées dans la
couche session au dessus de TCP/IP), gérées par un service (ou démon) appelé portmap qu'il faut donc installer.

Le rpm à installer est ypserv sur le serveur et yp­tolls et ypbind sur les stations clientes.
Un peu de précision sur le vocabulaire : yp (yellow pages) correspond à l'annuaire, NIS est l'implémentation basée
sur RPC pour les mots de passes partagés, les groupes, les services, ... NIS+ est une implémentation plus sécurisée. NYS
est la version domaine public de NIS.

B ) Le serveur

Les services à lancer sont dans l'ordre /etc/init.d/portmap/etc/init.d/ypserv et  /etc/init.d/yppasswd.
Les fichiers de configuration sont: /etc/ypserv.conf (configuration du serveur) et les fichiers du répertoire /var/yp
comme /var/yp/securenets (machines autorisées à accéder au service NIS), /var/yp/Makefile, mais il y a besoin
d'en modifier d'autres comme /etc/sysconfig/network.
Il faut déclarer le domaine NIS dans le fichier /etc/sysconfig/network en rajoutant la ligne NISDOMAIN=Maison.
Il faut que ce paramettre soit pris en compte, pour le moment, je n'ai trouvé qu'une seule solution : «  domainname Mai-

son ».

Ensuite, il faut déclarer les machines qui ont accès au domaine avec le fichier  /var/yp/securenets et insérer les

lignes suivantes :

# pour permettre l'accès sur le serveur même

255.0.0.0 127.0.0.0

# pour permettre l'accès de toutes les machines du sous-réseau (masque et adresse réseau)

255.255.255.0 192.168.1.0 # le réseau à comme adresse 192.168.1.1, le réseau est 192.168.1.XXX

Préciser les informations que NIS doit gérer en éditant le fichier fichier /var/yp/Makefile et en listant sur la ligne
commençant par all: les données à gérer : all: passwd group hosts (au moins). Il est recommandé de ne rien modi­
fier d'autre sauf "si on sait ce que l'on fait ...", car pour l'essentiel il a été correctement paramétré lors de l'installation de la
distribution.

Ensuite, on doit générer les 3 cartes (maps) correspondant aux 3 fichiers  /etc/passwd, /etc/ group et

/etc/hosts. L'utilitaire /usr/bin/make doit être exécuté par root dans le répertoire du Makefile :

# cd /var/yp

# make

Il y a création d'un sous­répertoire /var/yp/Maison (portant le nom du domaine NIS, qui doit être pris déjà en
compte) contenant les 6 fichiers binaires de permissions 600 :  hosts.byname, hosts.byaddr, passwd.byname,

passwd.byuid, group.byname et group.bygid.

La dernière manipulation à faire est de renseigner le fichier de configuration de NIS : : /etc/ypserv.conf et indi­
quer l'adresse IP du réseau comme ci­dessous :

22287750.odt

Page 97 sur 141

20/09/09

# Host : Domain : Map : Security

#

192.168.1. : Maison : passwd.byname : port

192.168.1. : Maison : passwd.byuid : port

ypxfrd est utile si on a un serveur NIS esclave.

C ) Les clients

Toujours dans /etc/sysconfig/network, il faut mettre NISDOMAIN = "Maison". Attention, il faudra activer ce nom!
Dans /etc/yp.conf, et il faut ajouter les 2 lignes :
domain Maison server 192.168.1.1

ypserver troumad #nom du serveur NIS
Dans /etc/nsswitch.conf, veillez à la présence active des lignes :
passwd: files nis

group: files nis

hosts: files nis dns

En ligne de commande, (re)lancer le service client. On devrait obtenir 2 messages : recherche d'un domaine NIS, puis tenta-

tive de liaison à un serveur NIS.

$ /etc/rc.d/init.d/ypbind start

Binding to the NIS domain: [OK]

Listening for an NIS domain server: fctice.ac-creteil.fr

Pour permettre à un compte qui existe uniquement par NIS, mais pas dans le fichier local /etc/passwrd de se logger
par ssh, dans le fichier /etc/ssh/sshd_config, il faut décommenter la ligne UseLogin et mettre yes comme para­
mètre.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->