5.3. S�curisation de NIS
NIS est l'acronyme de Network Information Service. Il repr�sente un service RPC appel� ypserv qui est utilis� de concert avec portmap et d'autres services connexes pour distribuer des mappes de noms d'utilisateur, mots de passe et autres informations confidentielles � tout ordinateur se disant �tre dans son domaine.
Un serveur NIS se compose de plusieurs applications. Parmi ces derni�res figurent�:
/usr/sbin/rpc.yppasswdd — �galement appel� le service yppasswdd, ce d�mon permet aux utilisateurs de changer leur mots de passe NIS.
/usr/sbin/rpc.ypxfrd — �galement appel� le service ypxfrd, ce d�mon est responsable des transferts de cartes NIS (ou mappes) sur le r�seau.
/usr/sbin/yppush — Cette application propage les bases de donn�es modifi�es aux multiples serveurs NIS.
/usr/sbin/ypserv — Repr�sente le d�mon du serveur NIS.
En fonction des standards actuels, NIS est plut�t vuln�rable au point de vue s�curit�. Il ne dispose d'aucun m�canisme d'authentification des h�tes et transmet toutes ses informations sur le r�seau de mani�re non-crypt�e, y compris les hachages de mots de passe. Dans de telles circonstances, il est important d'�tre tr�s prudent lors de la mise en oeuvre d'un r�seau utilisant NIS. Le fait que la configuration de NIS par d�faut est non-s�curis�e par nature, complique encore plus la situation.
Il est donc recommand� � toute personne envisageant d'impl�menter un serveur NIS, de s�curiser auparavant le service portmap, selon les informations fournies dans la Section 5.2, puis de pr�ter attention aux �l�ments mentionn�s ci-apr�s, comme la planification de r�seau.
5.3.1. Planifier prudemment le r�seau
Puisque NIS transmet des informations confidentielles sur le r�seau de mani�re non-crypt�e, il est important d'ex�cuter le service non seulement derri�re un pare-feu, mais �galement sur un r�seau segment� et s�curis�. Lors de toute transmission d'informations NIS sur un r�seau non-s�curis�, elles risquent d'�tre intercept�es. � cet �gard, une conception prudente du r�seau peut aider � lutter contre des br�ches de s�curit� importantes.
5.3.2. Utilisation d'un nom de domaine NIS et d'un nom d'h�te de type mot de passe
Tout ordinateur au sein d'un domaine NIS peut utiliser des commandes pour extraire des informations du serveur et ce, sans authentification, d�s lors que l'utilisateur conna�t le nom d'h�te DNS du serveur NIS et le nom de domaine NIS.
Par exemple, si une personne connecte un ordinateur portable au r�seau ou fait intrusion dans le r�seau depuis l'ext�rieur (et r�ussit � usurper une adresse IP interne), la commande suivante permettra de r�v�ler la carte /etc/passwd�:
ypcat -d <NIS_domain> -h <DNS_hostname> passwd |
Si un agresseur est le super-utilisateur, il peut obtenir le fichier /etc/shadow en saisissant la commande suivante�:
ypcat -d <NIS_domain> -h <DNS_hostname> shadow |
| Note |
---|
| Si Kerberos est utilis�, le fichier /etc/shadow n'est pas stock� dans une carte NIS. |
Pour rendre plus difficile l'acc�s d'un agresseur aux cartes NIS, cr�ez une cha�ne au hasard pour le nom d'h�te DNS, comme par exemple o7hfawtgmhwg.domain.com. De m�me, cr�ez au hasard un nom de domaine NIS diff�rent. Ce faisant, il sera beaucoup plus difficile pour un agresseur d'avoir acc�s au serveur NIS.
5.3.3. Modification du fichier /var/yp/securenets
NIS attendra des requ�tes de tous les r�seaux si le fichier /var/yp/securenets est vierge ou n'existe pas (comme c'est le cas apr�s une installation par d�faut). L'une des premi�res choses � faire consiste � sp�cifier une paire masque r�seau/r�seau dans le fichier afin que seul ypserv r�ponde aux requ�tes provenant du r�seau appropri�.
Ci-dessous figure un exemple d'entr�e provenant d'un fichier /var/yp/securenets�:
255.255.255.0 192.168.0.0 |
| Avertissement |
---|
| Ne lancez jamais un serveur NIS pour la premi�re fois sans cr�er pr�alablement le fichier /var/yp/securenets. |
Cette technique ne prot�ge certes pas contre une attaque par usurpation d'IP, mais elle permet au moins d'imposer des limites quant aux r�seaux dont le serveur NIS peut satisfaire les requ�tes.
5.3.4. Attribution de ports statiques et utilisation de r�gles IPTables
Tous les serveurs en relation avec NIS peuvent se voir assigner des ports sp�cifiques sauf rpc.yppasswdd — le d�mon permettant aux utilisateurs de changer leurs mots de passe de connexion. L'attribution de ports aux deux autres d�mons du serveur NIS, � savoir rpc.ypxfrd et ypserv, permet de cr�er des r�gles de pare-feu pour prot�ger davantage les d�mons du serveur NIS contre des agresseurs.
Pour ce faire, ajoutez les lignes suivantes au fichier /etc/sysconfig/network�:
YPSERV_ARGS="-p 834"
YPXFRD_ARGS="-p 835" |
Les r�gles IPTables suivantes peuvent �tre cr��es afin de sp�cifier le r�seau que le serveur devra surveiller pour recevoir des requ�tes provenant de ces ports�:
iptables -A INPUT -p ALL -s! 192.168.0.0/24 --dport 834 -j DROP
iptables -A INPUT -p ALL -s! 192.168.0.0/24 --dport 835 -j DROP |
| Astuce |
---|
| Reportez-vous au Chapitre 7 pour obtenir de plus amples informations sur l'impl�mentation de pare-feu � l'aide des commandes IPTables. |
5.3.5. Utilisation de l'authentification Kerberos
Un des principaux inconv�nients associ�s � l'utilisation de NIS pour l'authentification r�side dans le fait que lors de toute connexion � une machine par un utilisateur, un hachage de mot de passe provenant de la carte /etc/shadow est transmis sur le r�seau. Ainsi, si un agresseur s'octroie l'acc�s � un domaine NIS et renifle le trafic r�seau, les hachages de noms d'utilisateur et mots de passe peuvent �tre recueillis en toute discr�tion. Apr�s un certain temps, un programme de craquage de mots de passe peut deviner des mots de passe non-herm�tiques et un agresseur peut alors acc�der � un compte valide sur le r�seau.
Puisque Kerberos utilise un type de cryptographie bas� sur des cl�s secr�tes, aucun hachage de mots de passe n'est jamais transmis sur le r�seau, rendant ainsi le syst�me beaucoup plus s�curis�. Pour obtenir de plus amples informations sur Kerberos, reportez-vous au chapitre intitul� Kerberos du Guide de r�f�rence de Red Hat Enterprise Linux.