Vous êtes sur la page 1sur 48

Mise en place dune solution LTSP et Windows Terminal Server

Didier SEGURA, Antoine LABAUD 20 fvrier 2007 e

Table des mati`res e


1 Introduction 1.1 Prsentation du TER . . . . . . . . . . e 1.2 LTSP : quest-ce que cest ? . . . . . . 1.3 Terminal Server : quest ce que cest ? 1.4 Solution . . . . . . . . . . . . . . . . . 3 3 3 3 4 5 6 6 6 6 10 11 12

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

2 Principe de fonctionnement 2.1 Dnir les ressources appropries . . . . . . . . . . . e e 2.1.1 Une quantit de mmoire vive approprie . . e e e 2.1.2 Un rseau bien dimensionn . . . . . . . . . . e e 2.2 Les direntes tapes du dmarrage dun client lger e e e e 2.3 Les mcanismes dauthentication . . . . . . . . . . e 2.3.1 Authentication pour une session Windows . 2.3.2 Authentication pour une session Linux . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

3 Installation des serveurs 13 3.1 Prliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 e 3.2 Installation du serveur LTSP . . . . . . . . . . . . . . . . . . 13 3.3 Installation du serveur Windows 2003 . . . . . . . . . . . . . 14 4 Le serveur Terminal Serveur 15 4.1 Conguration de lActive Directory . . . . . . . . . . . . . . . 15 4.2 Conguration des prols itinrants . . . . . . . . . . . . . . . 17 e 4.3 Conguration du Terminal Server . . . . . . . . . . . . . . . . 18 5 Le serveur LTSP 19 5.1 Conguration du service DHCP . . . . . . . . . . . . . . . . . 19 5.2 Conguration du service LTSP . . . . . . . . . . . . . . . . . 21 5.2.1 Modication du chier lts.conf . . . . . . . . . . . . . 21 6 Intgration du serveur LTSP au domaine Active Directory e 6.1 Quest-ce que Winbind ? . . . . . . . . . . . . . . . . . . . . . 6.2 Conguration du serveur SAMBA . . . . . . . . . . . . . . . 6.2.1 Installation de SAMBA et de Winbind . . . . . . . . . 1 24 24 25 25

6.3 6.4 6.5

6.6

6.2.2 Modication du chier /etc/smb.conf . . . . . . . . . Installation du client Kerberos . . . . . . . . . . . . . . . . . Intgration du serveur LTSP ` lActive Directory . . . . . . . e a Conguration de Winbind . . . . . . . . . . . . . . . . . . . . 6.5.1 Le chier nsswitch.conf . . . . . . . . . . . . . . . . . 6.5.2 Le module PAM . . . . . . . . . . . . . . . . . . . . . 6.5.3 Les 4 groupes de modules . . . . . . . . . . . . . . . . 6.5.4 Les indicateurs de contrle de PAM . . . . . . . . . . o 6.5.5 Conguration du chier /etc/pam.d/login . . . . . . . 6.5.6 Conguration du chier /etc/pam.d/system-auth . . . 6.5.7 Conguration du chier /etc/security/pam mount.conf Gestion des mots de passe des utilisateurs . . . . . . . . . . . 6.6.1 Changement dun mot de passe . . . . . . . . . . . . .

25 26 28 29 29 30 30 31 31 32 32 33 33

7 Supervision du rseau SNMP e 35 7.1 Installation de Cacti . . . . . . . . . . . . . . . . . . . . . . . 35 7.2 Conguration de Cacti . . . . . . . . . . . . . . . . . . . . . . 35 7.2.1 Conguration du serveur MySQL . . . . . . . . . . . . 36 7.2.2 Conguration du chier /usr/share/cacti . . . . . . . 36 7.2.3 Programmation de la rcupration des statistiques : e e Crontab . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.2.4 Administration et supervision des serveurs . . . . . . . 37 8 Installation dun PROXY 41 8.1 Prsentation du service Squid . . . . . . . . . . . . . . . . . . 41 e 8.2 Conguration du service Squid . . . . . . . . . . . . . . . . . 42 8.3 Conguration de SquidGuard . . . . . . . . . . . . . . . . . . 44

Chapitre 1

Introduction
1.1 Prsentation du TER e

Le but du TER est la mise en place dune solution permettant lutilisation de machines obsol`tes au sein dun rseau. Cette mise en oeuvre utilisera e e un serveur Linux LTSP ainsi quun serveur Windows 2003 avec le service Terminal Serveur. Lutilisateur nal devra pouvoir basculer dans lenvironnement de son choix, ` savoir Linux ou Windows, grce ` une simple a a a combinaison de touches, le tout sans redmarrage. Ladministration du parc e doit, pour des raisons de commodit, tre centralise et unique. e e e

1.2

LTSP : quest-ce que cest ?

LTSP est labrviation de Linux Terminal Server Project ou e projet de serveur de terminaux Linux. Cest une suite logicielle qui permet de fournir des environnements identiques ` plusieurs stations de travail. Tous a ces environnements sont xcuts par le serveur, ce qui permet de recycler de e e e vieilles machines en les convertissant en terminaux X. Cela rduit les cots e u et la maintenance, surtout dans un milieu o` chaque station doit avoir le u mme environnement de travail (coles, entreprises,...). e e

1.3

Terminal Server : quest ce que cest ?

Cest un ensemble de logiciels qui permet ` plusieurs membres du rseau a e dexcuter des programmes directement sur le serveur plutt que sur leurs e o propres postes, baptiss ` loccasion clients lgers. En eet, lutilisateur a e a e limpression dutiliser les applications du serveur comme si elles taient sur e son propre poste. En ralit, ces applications sont excutes sur le serveur e e e e et aches sur le poste client par lintermdiaire dune fentre. Tous les e e e traitements lis ` lapplication sont eectus sur le serveur. Le poste client se e a e contente dacher des images transmises par le serveur. Cet outil prsente un e 3

intrt majeur li ` une rduction importante de ladministration. La gestion ee ea e est centralise. A la dirence du syst`me LTSP, le client lger Terminal e e e e serveur ncessite un syst`me dexploitation pour excuter le programme e e e TSE. LTSP, quant ` lui, charge un syst`me dexploitation lger sur le a e e client par le biais du rseau. e

1.4

Solution

La solution que nous avons tudie consiste ` excuter un client lger e e a e e Terminal Serveur sur un terminal X charg par LTSP. Un client lger e e dmarrera par le rseau en PXE 1 si la carte rseau le permet. Le syst`me e e e e dexploitation lui sera envoy par TFTP 2 grce au partage NFS 3 au e a niveau du serveur. Seul le serveur excutera des tches, tous les clients e a lgers ne feront queectuer des requtes dentres (clavier, souris) et des e e e achages. Lorsque lutilisateur dsirera ouvrir une session Windows, il lui e sura dutiliser le client lger Terminal Serveur. Lutilisation telle quelle e de syst`mes Linux et Windows sur le mme rseau ncessite une gestion e e e e spare des comptes utilisateurs. Pour y remdier, les comptes des utilisae e e teurs sous les dirents syst`mes devront tre synchroniss. Nous utiliserons e e e e pour cela lannuaire Active Directory pour la gestion ainsi que loutil Winbind pour la synchronisation.

Le boot PXE est un acronyme pour Preboot Execution Environment (Environnement dExcution Avant le boot). PXE est une technologie qui est utilise pour dmarrer e e e un PC ` distance ` travers un rseau. PXE est support par le syst`me BIOS mais la carte a a e e e rseau doit galement supporter cette fonctionnalit. e e e Lorsquun client lger est dmarr, il ne poss`de aucun syst`me dexploitation. Sil est e e e e e quip dune carte rseau avec PXE, il va pouvoir communiquer avec un serveur LTSP. Le e e e serveur lui fournira une adresse IP grce au service DHCP qui tourne sur linterface eth0 a (LAN). Aprs lobtention dune adresse IP, le client tlchargera le noyau Linux fournit e ee par le TFTP. Une fois le noyau charg. Le client lger va accder ` une arborescence e e e a distante, via le rseau, pour monter le syst`me de base. e e 2 Trivial File Transfert Protocol ou Protocole simpli de transfert de chiers e 3 Network File System, signiant Syst`me de chiers en rseau e e

Chapitre 2

Principe de fonctionnement
Avant de mettre en place une telle solution, il est important de conna tre les ressources dont nous avons besoin pour faire fonctionner le tout de mani`re optimale. e Tout dabord voici larchitecture rseau que nous avons utilise pour raliser e e e le projet :

Fig. 2.1 Architecture de notre rseau e

2.1
2.1.1

Dnir les ressources appropries e e


Une quantit de mmoire vive approprie e e e

Le service LTSP est un gros consommateur de mmoire vive. La quantit e e de mmoire vive ncessaire est variable et dpend du nombre de machines ` e e e a grer. Elle se calcule de la mani`re suivante : e e Mmoire totale = 256Mo + ( 50Mo * nombre de terminaux ) e La mmoire est donc un facteur limitant pour lemploi de ces technologies. e Il faudra prvoir une quantit de RAM en fonction de la taille du parc que e e lon souhaite mettre en place.

2.1.2

Un rseau bien dimensionn e e

Dans notre environnement LTSP, chaque client lger est connect au e e switch, qui est lui mme connect au serveur. Cela signie que tout le trac e e rseau se fait entre le switch et le serveur. Il faut donc mettre en place un e lien le plus rapide possible entre le switch et le serveur pour que le rseau e ne soit pas un facteur limitant. Pour une utilisation en production il sera donc crucial dadapter les performances du rseau en fonction de lutilisation souhaite. Un lien minimum e e de 1Gbit vers le serveur ainsi quun lien ` 100Mbit vers chaque client lger a e est conseill pour une utilisation uide. e

2.2

Les direntes tapes du dmarrage dun client e e e lger e

Nous allons vous prsenter les direntes tapes du chargement du syst`me e e e e a ` partir dun client lger. e Ces tapes dcrites en dtails ci-dessous permettent de mieux assimiler le e e e fonctionnement de lintraction Client/Serveur LTSP. e 1. La premi`re tape est le chargement du noyau Linux en mmoire du e e e client lger. Ceci est ralis par le biais du rseau grce ` un bootrom e e e e a a (ou Etherboot) contenu dans la carte rseau, le PXE. Celui-ci met e e tout dabord une requte DHCP pour congurer son interface rseau, e e puis tlcharge le noyau Linux se trouvant sur le serveur TFTP. ee 2. Une fois le noyau Linux charg dans la mmoire du client lger, il e e e commence ` sexcuter. a e

3. Le noyau va initialiser lensemble du syst`me et de tous les priphriques e e e quil peut reconna tre. 4. Pendant le chargement du noyau, une image de disque virtuel est galement charge en mmoire du client lger. Un argument de la ligne e e e e de commande root=/dev/ram0 du chier de conguration demande au noyau de monter cette image comme racine de son syst`me de e chiers. 5. Le script /linuxrc sexcute alors et commence par un balayage (scan) e du bus PCI du client lger dans le but de rechercher une carte rseau. e e Chaque composant PCI trouv est compar aux descriptions stockes e e e dans le chier /etc/niclist. En cas dgalit, le nom du module-driver e e correspondant ` la carte rseau trouve est renvoy par le script, et ce a e e e module est charg en mmoire. e e 6. Un petit module client DHCP appel dhclient est ensuite lanc. e e Il lance une nouvelle requte au serveur DHCP. Cette requte est e e ncessaire pour rcuprer des informations ncessaires au syst`me Lie e e e e nux que la premi`re requte du bootrom ne pouvait retourner. e e 7. Lorsque le dhclient reoit une rponse du serveur, il excute le script c e e /etc/dhclient-script. Ce script rcup`re les informations renvoyes e e e et congure linterface eth0. 8. Jusqu` cette tape, le syst`me de chiers tait un disque virtuel en a e e e RAM. Le script /linuxrc va maintenant monter un nouveau syst`me e de chiers sur sa racine (root) via NFS. Le rpertoire export par NFS e e depuis le serveur vers le client lger est en principe /opt/ltsp/i386. e Cette opration ne peut tre ralise en montant directement ce rpertoire e e e e e sur /. Il doit dabord tre mont sur /mnt, puis la commande pie e vot root est lance. pivot root va changer la racine courante (le e e disque virtuel) avec le nouveau syst`me de chiers. Lorsque cela est e termin, le rpertoire export par NFS est mont sur / et lancienne e e e e racine est monte sur /oldroot. e 9. Une fois le montage et lchange de racine eectus, le script /linuxrc e e a termin son travail. Le programme /sbin/init sexcute alors. Init e e va lire le chier /etc/inittab et mettre en place lenvironnement du client lger. e 10. Le script rc.sysinit cre un nouveau disque virtuel en mmoire (rame e disk) de 1 Mo, destin ` contenir toutes les donnes et informations deea e 7

vant tre crites ou modies par la suite (disque en lecture/criture). e e e e Ce disque virtuel est mont en tant que /tmp sur le syst`me de e e chiers local du client lger. e 11. Le chier lts.conf est examin, et tous les param`tres en rapport avec e e le client lger en cours dinitialisation sont exports comme variables e e denvironnement. Le script rc.sysinit les utilisera par la suite. 12. Linterface rseau loopback est ensuite congure. Il sagit de lintere e face interne ayant pour adresse IP 127.0.0.1. 13. Si lexcution locale dapplications est active, le rpertoire /home e e e du serveur est export via NFS pour tre mont sur le rpertoire e e e e /home du client lger, an que les applications puissent avoir acc`s e e aux rpertoires personnels des utilisateurs. e 14. Lorsque le script rc.sysinit est termin, le contrle revient au proe o gramme /sbin/init, qui va alors changer le niveau dexcution (rune level) de sysinit ` 5. Ceci aura pour eet de lancer toutes les autres a commandes spcies dans le chier /etc/inittab. e e 15. Par dfaut, le chier inittab contient des lignes demandant lexcution e e du script /etc/screen session sur tty1, tty2 et tty3 (Terminaux internes). Il est donc possible dutiliser trois sessions simultanes sur le e client lger. Le type de ces sessions est contrl par les param`tres e oe e SCREEN 01, SCREEN 02 et SCREEN 03 que lon trouve dans le chier de conguration lts.conf de LTSP. 16. Si le param`tre SCREEN 01 de lts.conf a pour valeur startx, le e script /etc/screen.d/startx est excut, ce qui lancera linterface e e graphique XWindow sur le client lger. e 17. Dans le chier lts.conf, il existe un param`tre appel XSERVER. e e Si ce param`tre est absent, ou a pour valeur auto, le script startx e tente de dtecter automatiquement quelle est la carte vido du client e e lger. e 18. Le chier XF86Cong est cr en fonction des param`tres trouvs ee e e dans le chier de conguration /etc/lts.conf. 19. Une fois le chier XF86Cong cr, le script startx lance le serveur ee X correspondant avec ce nouveau chier de conguration. 8

20. Le serveur X lance alors une requte XDMCP1 au serveur LTSP, e qui ouvre un cran de login. e 21. Arriv ` ce stade, lutilisateur peut sidentier et se connecter (login) ea au serveur. Une fois authenti, lutilisateur a enn acc`s ` une noue e a velle session graphique sur le serveur et ` tous les programmes installs a e sur ce dernier. Une fois lutilisateur authenti, tous les programmes seront excuts sur le e e e serveur, et seule leur sortie sera ache sur lcran du client lger. Toutes e e e les ressources ncessaires ` lutilisation du syst`me seront donc ` la charge e a e a du serveur LTSP. Cest lavantage dune telle solution : la possibilit de recycler un vieux e parc informatique ` moindre cot, ` condition davoir un serveur LTSP a u a susamment puissant et un rseau local robuste. e

X Display Manager Control Protocol (XDMCP) permet daccder ` un ordinateur e a distant en utilisant son environnement graphique

2.3

Les mcanismes dauthentication e

Voici une vue globale du mcanisme dauthentication lorsquun utilisateur e souhaite se connecter ` une session Linux, ou ` une session Windows Tera a minal Server. La seule et unique base de donnes est lActive Directory, e il contient tous les utilisateurs et leurs mots de passe. Ainsi, on peut uniformiser lacc`s ` des ressources partages (dossiers, lecteurs, imprimantes, e a e etc) sous dirents syst`mes dexploitation, grce ` une gestion centralise e e a a e des utilisateurs et des mots de passe.

Fig. 2.2 Principe dauthentication

10

2.3.1

Authentication pour une session Windows

Fig. 2.3 Mcanisme dauthentication pour une session Windows e On voit ici les dirents protocoles qui entrent en jeu lorsquun client lger e e est dmarr. Pour ouvrir une session Windows, il faut donc dj` avoir vae e ea lid la premi`re tape qui est le dmarrage du client lger (chargement du e e e e e noyau Linux)(avec NFS) jusquau chargement complet du syst`me distant e Serveur X compris (XDMCP) . Il sut ensuite de faire CTRL + ALT + F2 pour lancer le script rdesktop2 . On lance alors une communication utilisant le protocole RDP vers le Terminal Server Windows 2003. Le mcanisme dauthentication est donc e simplement celui qui est propre ` Windows, cest ` dire une vrication du a a e compte utilisateur au sein de lActive Directory.

11

2.3.2

Authentication pour une session Linux

Fig. 2.4 Mcanisme dauthentication pour une session Linux e Le mcanisme dauthentication pour une session Linux utilise Wine bind. Nous dtaillerons par la suite le fonctionnement de Winbind. e Sachez pour le moment que le serveur LTSP en utilisant Winbind, rcup`re les comptes des utilisateurs de lActive Directory dans son e e environnement. Il importe en quelque sorte les comptes utilisateurs, tout en laissant la charge de lauthentication ` lActive Directory. Ainsi, a lorsquun utilisateur veut se connecter dans une session Linux, une demande est envoye au serveur LTSP qui la transmet immdiatement e e a ` lActive Directory. Si la rponse est positive, lutilisateur est authenti. e e

12

Chapitre 3

Installation des serveurs


3.1 Prliminaires e

Ladresse IP globale de notre rseau est 192.168.0.0/24. Le serveur e LTSP se verra attribuer ladresse 192.168.0.1 pour le rseau local et une e adresse attribue dynamiquement pour linterface WAN (ex : DHCP par e fournisseur dacc`s Internet). Nous avons choisi um2.local comme nom de e domaine et le contrleur de domaine sera le serveur Windows 2003. Son o adresse IP sera 192.168.0.2. Le matriel utilis nous a t prt par le LIRMM. Les deux serveurs sont e e ee ee des Pentiums IV 2,8 Ghz, avec 512 Mo de DDR, et 80 Go pour le disque dur. Ces machines sont susantes pour la mise en place dune maquette, mais nous verrons que les services sont gourmands en ressources, et que pour un parc informatique important, lemploi de serveurs plus puissants est requis.

3.2

Installation du serveur LTSP

Apr`s avoir test direntes distributions, dont notamment la promteuse e e e e Edubuntu (base sur un syst`me Debian) nous nous sommes aperus que e e c les scripts nous permettant dutiliser le service Terminal Server ` para tir des clients lgers ne fonctionnaient pas. Nous avons donc cherch une e e distribution intgrant un environnement LTSP prcongur et permettant e e e dexploiter lutilitaire rdesktop en natif. Notre choix sest nalement port e sur une distribution Redhat ` savoir la Fedora Core 5, intgrant dj` lena e ea vironnement LTSP et loutil rdesktop pour les connexions vers les serveurs Terminal Server. Nous ne dtaillerons pas linstallation proprement dite dune Fedora Core e 5. Elle est tout ce quil y a de plus classique, et de plus largement documente sur Internet. Nous noterons seulement que, lors de linstallation, il e est ncessaire de slectionner loption Installer un serveur LTSP. La e e conguration des interfaces rseaux se fait en accord avec la conguration e 13

du rseau que nous avons nonce plus haut dans les prliminaires. e e e e Pour que notre serveur LTSP fonctionne, il nous faut galement mettre e en place dirents services notamment : e XDMCP : XDMCP permet daccder ` un ordinateur distant utilie a sant son environnement graphique comme si vous tiez connect die e rectement dessus. DHCP : DHCP est un protocole de conguration automatique pour les ordinateurs utilisant TCP/IP, utilis par LTSP pour assigner les e adresses IP aux stations. NFS : NFS est un protocole permettant lacc`s ` un disque dur distant e a via le rseau qui est utilis par LTSP pour monter un syst`me de base e e e sur les stations. TFTP : TFTP est un protocole simple de transfert de chiers qui est utilis par LTSP pour transfrer le noyau de dmarrage aux stations. e e e Nous dtaillerons ces services un peu plus bas. e

3.3

Installation du serveur Windows 2003

Pour assurer les fonctionnalits Terminal Server, il est ncessaire dinse e taller un Windows serveur, dans notre cas Windows 2003 en version Entreprise. Nous avons ensuite paramtr le serveur pour quil soit Contrleur e e o du domaine UM2.local. Nous avons ensuite rajout le rle Terminal e o Server. Ci-dessous se trouvent les dtails importants de linstallation. e

14

Chapitre 4

Le serveur Terminal Serveur


4.1 Conguration de lActive Directory

Fig. 4.1 Installation de lActive Directory

Linstallation du rle Active Directory commence en cliquant sur o Dmarrer Outils dAdministration Grer votre serveur. Cela lance lase e sistant de gestion du serveur. Il faut ensuite suivre lassistant comme indiqu ci-dessous : e

15

Ajouter ou Supprimer un rle et cliquer sur Suivant. o Slectionner Conguration Personnalise et cliquer sur Suivant. e e Slectionner Controleur de Domaine (Active Directory) et e cliquer sur Suivant. Cliquer sur Suivant jusqu` temps darriver sur lAssistant dInsa tallation Active Directory. Sassurer que Contrleur de doo maine pour un nouveau domaine soit slectionn et cliquer sur e e Suivant. Cliquer sur Suivant pour crer un nouveau Domaine dans une e fort. e Choisissez UM2.local comme nouveau domaine et cliquer sur Suivant. Garder UM2 comme nom de domaine netbios et cliquer sur Suivant jusqu` DNS Registration Diagnostics. a Choisissez Installer et congurer un serveur DNS sur cet ordinateur, et congurer cet ordinateur pour utiliser ce serveur DNS comme serveur DNS prfer et cliquer sur Suivant. e e Garder les param`tres par dfaut pour Permissions et cliquer sur e e Suivant. Donner un mot de passe ` utiliser pour le Mode de Restauration Aca tive Directory et cliquer sur Suivant jusqu` ce que linstallation a commence. Cliquer sur Terminer et redmarrer votre ordinateur. e Apr`s le redmarrage, lassistant vous informe que votre serveur est e e maintenant contrleur de domaine. Cliquer sur Terminer o .

16

4.2

Conguration des prols itinrants e

Fig. 4.2 Conguration des prols itinrants e

Pour pouvoir utiliser un syst`me de prols itinrants, nous avons tout e e dabord cr un rpertoire destin au stockage des comptes de nos utilisaee e e teurs. Celui ci est nomm ltsp et il est partag entre tous les utilisateurs qui e e ont un accs total. Ces utilisateurs font tous partie du groupe Utilisateurs e du Domaine. Attention, ils ont un accs total sur le rpertoire, mais pas e e sur son contenu ! On place ensuite le chier logon.bat dans le rpertoire netlogon en pare tage sur le serveur Windows 2003. Ce chier va nous permettre de monter le rpertoire personel Linux propre e a ` chaque utilisateur, et lacc`s ` un espace commun ` tous les utilisateurs e a a pour autoriser lchange de chiers par exemple. e logon.bat : @echo o net use y : \\ltsp\UM2\%USERNAME% net use h : \\exchange-um2\commun

On peut ensuite crer autant dutilisateurs que lon veut en cliquant sur e Dmarrer Outil dAdministration Utilisateurs et ordinateurs e Active Directory. Voici la procdure de cration dun nouvel utilisateur avec un prol itinrant : e e e

17

Developper um2.local et faire un clic droit sur Utilisateur puis Nouveau Utilisateur Une fois que lutilisateur est cr, faire un clic droit dessus et Proprits ee e e Dans longlet Prol , assurez-vous que vous avez ce qui suit : Chemin du Prol : \\nom ou IP du serveur AD\ltsp\%USERNAME% Script douverture de session : logon Connecter en Z : To : \\nom ou IP du serveur AD\ltsp\%USERNAME% Cliquer sur OK et si vous avez un message qui vous dit de crer le e dossier manuellement, alors cliquer sur OK

4.3

Conguration du Terminal Server

An dutiliser le service Terminal Serveur, il est ncessaire de linse taller. Cela seectue grce ` lassistant de gestion du serveur (cliquer sur a a Dmarrer Outils dAdministration Grer votre Serveur). e e Il faut ensuite suivre lassistant comme prcis ci-dessous : e e Ajouter ou Supprimer un rle et cliquer sur Suivant o Slectionner Conguration personnalise et cliquer sur Suivant e e Slectionner Terminal server et cliquer sur Suivant e Cliquer sur Suivant pour commencer linstallation du service terminal. Si lassistant vous demande de fermer les programmes ouverts, faites-le et cliquez sur OK

Par dfaut lutilisation de Terminal Serveur est limite ` 120 jours. Pour e e a une utilisation prolonge, il est ncessaire dacqurir des licences tscal. e e e En eet, apr`s le redmarrage, lassistant vous avertit quil arrtera dace e e cepter les connexions des clients non licencis au bout de 120 jours. Chaque e client devra alors poss`der sa licence tscal pour pouvoir se connecter au e Terminal Server. Pour une utilisation en production, il sera ncessaire e dinstaller un serveur de licence et dacheter ces tscal.

18

Chapitre 5

Le serveur LTSP
5.1 Conguration du service DHCP

LTSP ncessite pour le dmarrage dun serveur DHCP. Celui-ci va e e fournir une adresse IP aux clients mais va galement les renseigner sur les e adresses du routeur, du serveur DNS, du serveur TFTP et le chemin du rpertoire ` tlcharger. Fichier de conguration du DHCP e a ee /etc/dhcp/dhcpd.conf : default-lease-time 21600 ; max-lease-time 21600 ; ddns-update-style none ; allow booting ; allow bootp ; option subnet-mask 255.255.255.0 ; option broadcast-address 192.168.0.255 ; option routers 192.168.0.1 ; option domain-name-servers 192.168.0.1 ; next-server 192.168.0.1 ; option domain-name um2.local ; option root-path 192.168.0.1 :/opt/ltsp/i386 ; option option-128 code 128 = string ; option option-129 code 129 = text ; option option-221 code 221 = text ; authoritative ; shared-network WORKSTATIONS { subnet 192.168.0.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.0.100 192.168.0.150 ;

19

use-host-decl-names on ; option log-servers 192.168.0.1 ; if substring (option vendor-class-identier, 0, 9) = AAPLBSDPC { lename yaboot ; option vendor-class-identier AAPLBSDPC ; } elsif substring (option option-221, 0, 5) = Apple { lename yaboot ; option vendor-class-identier AAPLBSDPC ; } # Intel PXE elsif substring (option vendor-class-identier, 0, 9) =PXEClient { # NOTE : kernels are specied in /tftpboot/lts/pxe/pxelinux.cfg/ lename /lts/pxe/pxelinux.0 ; } # default to an i386 BOOTP image else { lename /lts/vmlinuz.ltsp ; } if substring (option vendor-class-identier, 20, 3) = ppc { option root-path 192.168.0.1 :/opt/ltsp/ppc ; } else { option root-path 192.168.0.1 :/opt/ltsp/i386 ; } } } On a dni ici une plage dadresses IP pour les clients lgers comprise e e entre 192.168.0.100 et 192.168.0.150. La passerelle par dfaut pour les e clients lgers sera 192.168.0.1, et le domaine sera um2.local. Le serveur e DHCP est capable de dtecter ` quel type de poste client il a aaire, PC e a 20

ou Power PC. Selon le mod`le de la carte rseau, par le biais de ladresse e e MAC, il est en eet capable de dterminer quel est le type darchitecture e du client. En consquence, il indiquera au client le chemin des chiers ` e a tlcharger sur le serveur TFTP. ee Notre serveur LTSP est donc multi-plateformes, on pourra faire dmarrer e une machine MAC (ancien iMac par exemple) par le rseau. Le syst`me e e Linux sera bas sur larchitecture PPC, et non larchitecture i386 rserve e e e a ` des processeurs type Intel.

5.2

Conguration du service LTSP

Maintenant, nous devons congurer le service LTSP pour que les machines clientes puissent obtenir un cran de connexion Windows (en faie sant CTRL + ALT + F2) ainsi quun cran de connexion Linux (en faisant e CTRL + ALT + F1). Cela seectue au travers du chier /opt/ltsp/i386/etc/lts.conf sur le serveur LTSP.

5.2.1

Modication du chier lts.conf

La conguration des param`tres des clients LTSP se fait dans les chiers e lts.conf. Il y a un chier de conguration par architecture (PC ou PPC). Il existe beaucoup doptions pour congurer les clients lgers. Ici nous avons e dni de mani`re gnrique une liste doptions que nous expliquerons. Le e e e e chier lts.conf se trouve dans le rpertoire /opt/ltsp/i386/etc/ pour lare chitecture Intel. Il faudra aussi le modier dans le rpertoire /opt/ltsp/ppc/etc/ e pour larchitecture PPC (iMac). Pour larchitecture i386, il faudra modier le chier de cette faon : c [Default] SERVER = 192.168.0.1 XRAMPERC = 90 XSERVER = vesa X4 MODULE 01 = glx X4 MODULE 02 = vnc MODULE 01 = usb-uhci MODULE 02 = mousedev MODULE 03 = usbmouse X MOUSE PROTOCOL = auto X USBMOUSE PROTOCOL = auto X MOUSE DEVICE = /dev/psaux X USBMOUSE DEVICE = /dev/input/mice 21

X MOUSE RESOLUTION = 400 X USBMOUSE RESOLUTION = 400 X MOUSE BUTTONS = 3 X USBMOUSE BUTTONS = 3 USBEMULATE 3 BUTTONS = o XkbSymbols = fr(pc105) XkbModel = pc105 XkbLayout = fr USE XFS = N LOCAL APPS = N SCREEN 01 = startx SCREEN 02 = rdesktop RDP SERVER = 192.168.0.2 RDP OPTIONS = -f -k fr -a 16 -d UM2 LOCAL STORAGE = Y LTSPFSD OPTIONS= SNMPD = N SOUND = Y SOUND DAEMON = nasd VOLUME = 75 Pour larchitecture ppc, il faudra modier le chier de cette faon : c [Default] SERVER = 192.168.0.1 XSERVER = nv MODULE 01 = usb-uhci MODULE 02 = mousedev MODULE 03 = usbmouse X MOUSE PROTOCOL = auto X USBMOUSE PROTOCOL = auto X MOUSE DEVICE = /dev/psaux X USBMOUSE DEVICE = /dev/input/mice X MOUSE RESOLUTION = 400 X USBMOUSE RESOLUTION = 400 X MOUSE BUTTONS = 3 X USBMOUSE BUTTONS = 3 USBEMULATE 3 BUTTONS = o XkbSymbols = fr(pc105) XkbModel = pc105 XkbLayout = fr USE XFS = N LOCAL APPS = N SCREEN 01 = startx 22

LOCAL STORAGE = Y LTSPFSD OPTIONS= SNMPD = N SOUND = Y SOUND DAEMON = nasd VOLUME = 75 Le param`tre SERVER indique le serveur LTSP que lon va utiliser pour e le chargement du serveur X. Le param`tre XSERVER permet de dnir e e le pilote de la carte graphique de la machine cliente que lon va charger en mmoire. Nous lavons forc ` VESA pour des raisons de compatibilit e ea e avec toutes les machines clientes, mais il est possible de xer sa valeur ` a AUTO. Des modules graphiques peuvent tre galement chargs, comme GLX, e e e ou VNC dans les champs X4 MODULE 0X. GLX permet par exemple dexploiter lacclration 3D dans certaines applications. ee On peut spcier le type de clavier quon va utiliser. Ceci se fait en dnissant e e les param`tres XkbSymbols = fr(pc105),XkbModel = pc105 et e XkbLayout = fr. Les param`tres SCREEN 0X permettent de spcier des scripts sur e e chaque touche FX (o` X est le numro de la touche). Ainsi pour se connecu e ter sur une session Windows en Terminal Server, il sut de faire CTRL + ALT + F2 pour basculer sous Windows. Et pour revenir dans une session Linux, il sut de faire CTRL + ALT + F1. Les param`tres RDP permettent de spcier quel serveur TSE nous allons e e utiliser. Ici, nous utilisons le serveur 192.168.0.2. Le param`tre RDP OPTIONS e spcie les options ` passer comme arguments au script rdesktop. Ici, nous e a lui spcions que nous voulons un achage plein cran (-f ), un clavier en e e franais (-k fr), que nous souhaitons un achage en seize millions de couc leurs (-a 16) et que le domaine est UM2. Il est possible dactiver lagent SNMP sur tous les clients lgers pour supere viser lensemble du rseau, pour cela il sut dactiver le param`tre SNMPD e e a ` Y. Pour larchitecture PPC, le script rdesktop ne fonctionne pas, et il devient impossible de basculer directement dans une session Windows. Le probl`me vient dune incompatibilit du serveur graphique X11. Il est cee e pendant possible de se connecter ` une session Terminal Serveur sous son a environnement Linux avec le logiciel tsclient.

23

Chapitre 6

Intgration du serveur LTSP e au domaine Active Directory


Active Directory est au coeur des syst`mes Microsoft Windows, e cest lui qui est en charge de la gestion des comptes utilisateurs, des authentications, mais aussi dun grand nombre de ressources. Active Directory repose sur dirents protocoles rseaux : e e DNS (rsolution de noms) e LDAP (interrogation de lannuaire) Kerberos V (authentication, distribution de tickets) NTP (synchronisation date et heure des machines) SMB/CIFS (partage des ressources)

Pour se connecter ` un contrleur de domaine Windows 2003 Service a o Pack 1 depuis un poste UNIX, une version 3.0.14a de Winbind est ncessaire. e

6.1

Quest-ce que Winbind ?

Winbind est une fonctionnalit de Samba permettant aux utilisateurs e dont le compte est enregistr dans une base de donnes dun domaine Wine e dows (Active Directory) de sauthentier sous un syst`me UNIX. e Ceci conduit ` un environnement uni dans lequel un compte utilisateur a e peut tre conserv soit sur un syst`me UNIX, soit sur un contrleur de e e e o domaine Windows NT/2000/XP. Il en rsulte une plus grande facilit de gestion des comptes car les adminise e trateurs ne doivent plus faire attention ` la synchronisation et ` la cohrences a a e des syst`mes. e Grce ` ce syst`me, les utilisateurs ont la possibilit davoir acc`s ` des a a e e e a ressources partages Linux ou Windows. Cela est rendu possible grce ` e a a cette authentication et au fait que le serveur Linux est intgr au domaine. e e 24

6.2

Conguration du serveur SAMBA

Voici un petit rcapitulatif de la conguration que nous avons utilise : e e nom nom nom nom nom du domaine court : UM2 du domaine long : UM2.local du contrleur de domaine : echange-um2 o de la machine ` intgrer : ltsp a e du compte administrateur : Administrateur

6.2.1

Installation de SAMBA et de Winbind

On va installer, si ce nest pas dj` fait par dfaut, les paquetages samba ea e et winbind sur le serveur LTSP.

yum install samba yum install webmin

6.2.2

Modication du chier /etc/smb.conf

Il faut savoir que pour raliser cette opration, le respect des majuscules e e et des minuscules est important. La premi`re tape consiste ` modier la section [global] du chier /etc/samba/smb.conf e e a

[global] security = ads idmap gid = 16777216-33554431 idmap uid = 16777216-33554431 workgroup = UM2 netbios name = LTSP server string = LTSP domain master = No encrypt passwords = true realm = UM2.LOCAL password server = exchange-um2.um2.local template homedir = /home/UM2/%U template shell = /bin/bash winbind enum users = Yes winbind enum groups = Yes 25

winbind use default domain = Yes winbind nested groups = Yes winbind separator = + pam password change = yes obey pam restrictions = yes socket options = TCP NODELAY SO RCVBUF=8192 SO SNDBUF=8192 client signing = Yes dns proxy = No os level = 20 max log size = 50 log level = 3 log le = /var/log/samba3/log.%m load printers = yes wins proxy = no wins support = true preferred master = no

Quelques explications concernant les param`tres spcis dans le chier e e e smb.conf. Lidmap uid assure les correspondances des UIDs entre le serveur Linux et Active Directory Lidmap gid assure les correspondances des GIDs entre le serveur Linux et Active Directory Le param`tre winbind enum user = yes permet de lister les utilisateurs e au dmarrage de Winbind e Le param`tre winbind enum groups = yes permet de lister les groupes e au dmarrage de Winbind e Le param`tre winbind separator = + sert ` spcier le caract`re de e a e e sparation domaine/nom dutilisateur (ex : DOMAINE+utilisateur) e Le param`tre winbind use default domain = yes permet dviter de e e saisir le nom de domaine ` chaque connexion dun utilisateur. Ainsi, ` la a a place de saisir : UM2\didier, il sura de saisir comme login : toto car on utilisera le nom de domaine par dfaut. e Le param`tre template shell = /bin/bash permet de dnir le shell par e e dfaut pour chaque utilisateur. e Le param`tre template homedir = /home/UM2/%U dnit le rpertoire e e e home par dfaut dun utilisateur provenant dun Active Directory. e Le home est ici /home/UM2/%U, %U sera remplac automatiquement e par le nom de login de lutilisateur.

26

6.3

Installation du client Kerberos

Le protocole Kerberos est le protocole de scurit principal par dfaut e e e pour les authentications ralises dans un domaine de type Windows e e 2000/2003. Il permet aux utilisateurs daccder aux ressources rseau ` partir de la e e a mme ouverture de session. Le service Kerberos se trouve dans chaque e contrleur de domaine et les clients Kerberos sur les autres ordinateurs o Windows. Lorsquun utilisateur veut accder ` un partage rseau, le service Kerbee a e ros va vrier lidentit du client. Le client ne pourra conrmer son identit e e e quen demandant au service Kerberos un ticket qui lui permettra de conrmer son identit. e Une fois le ticket reu, lutilisateur pourra alors accder au service rseau c e e voulu. Le service Kerberos sappelle le KDC (Key Distribution Center) et se trouve comme nous lavons dit prcdemment dans chaque contrleur de e e o domaine qui stocke les informations relatives aux comptes. Le ticket mis au client par un KDC sappelle un TGT (Ticket Granting e Ticket). Le TGT permet au syst`me client daccder au TGS (Ticket e e Granting Service) se trouvant dans le contrleur de domaine. Ce TGS o permettra lmission dun ticket de service au client. Cest ce ticket de sere vice que le client prsentera au service rseau demand. e e e Pour fonctionner avec notre contrleur de domaine Active Directory, il o nous faut donc installer un client Kerberos sur le serveur LTSP. Il est donc ncessaire de congurer un client Kerberos an de valider lidene tit du serveur LTSP dans le rseau Microsoft. Celui-ci dialoguera avec le e e serveur AD pour eectuer des demandes de tickets au KDC qui seront utilises pour assurer lauthenticit et la scurit des communications. e e e e La conguration du client Kerberos du client Linux se fait dans le chier /etc/krb5.conf. On obtient ceci : [libdefaults] default realm = UM2.LOCAL ticket lifetime = 24h clockskew = 300 dns lookup realm = true dns lookup kdc = true forwardable = yes [realms] 27

UM2.LOCAL = { kdc = 192.168.0.2 :88 admin server = 192.168.0.2 :749 default domain = 192.168.0.2 } [domain realm] .um2.local = UM2.LOCAL um2.local = UM2.LOCAL [logging] kdc = FILE :/var/log/krb5kdc.log admin server = FILE :/var/log/kadmin.log default = FILE :/var/log/krb5lib.log La modication du chier /etc/hosts est galement essentielle an de faire e fonctionner Kerberos : 127.0.0.1 ltsp.um2.local ltsp Il faut ensuite redmarrer les services Samba et Winbind pour prendre e en compte les modications. samba : /etc/init.d/smb restart winbind : /etc/init.d/winbind restart Pour crer le compte machine et faire partie de Active Directory de e Windows 2000/2003, Kerberos doit tout dabord tre initialis pour e e le serveur membre souhaitant faire partie du domaine Active Directory. Pour crer un ticket administratif pour Kerberos, nous allons excuter e e kinit an dobtenir un ticket et de le stocker dans un chier cache de certicats didentit : e kinit Administrateur Password for Administrateur@UM2.LOCAL : **** Puis nous allons utiliser klist an de visualiser la liste des certicats didentit dans le cache : e klist Ticket cache : FILE :/tmp/krb5cc 0 Default principal : Administrateur@UM2.LOCAL Valid starting Expires Service principal 01/05/07 18 :08 :43 01/06/07 18 :08 :43 krbtgt/UM2.LOCAL@UM2.LOCAL

28

On peut ensuite utiliser kdestroy pour dtruire le cache ainsi que les e certicats quil contient.

6.4

Intgration du serveur LTSP ` lActive Direce a tory

Nous allons pouvoir maintenant rattacher le serveur LTSP au domaine Active Directory. Pour cela, il faut taper les commandes suivantes : net ads join -U Administrateur Administrateurs password : ******* Using short domain name UM2 Joined LTSP to realm UM2.LOCAL Nous allons ensuite vrier que lintgration sur serveur LTSP a bien fonce e tionn. Voici quelques commandes que lon peut utiliser apr`s intgration e e e dun domaine : - liste des utilisateurs du domaine : wbinfo -u administrateur invit e krbtgt didier antoine - liste des groupes du domaine : wbinfo -g BUILTIN+administrators BUILTIN+users ... - vrier quun utilisateur en particulier soit correctement reconnu : e wbinfo -a didier%SonMotDePasse plaintext password authentication succeeded challenge/response password authentication succeeded Maintenant que notre serveur LTSP est rattach ` notre domaine UM2, e a nous devons diter quelques chiers pour que winbind fonctionne correce tement. Winbind permet de mapper les utilisateurs dun domaine pour quils soient accessibles par Samba, sans que les utilisateurs UNIX existent rellement. e

29

6.5
6.5.1

Conguration de Winbind
Le chier nsswitch.conf

Lintrt de WinBind est de pouvoir importer des comptes Active ee Directory au sein dun environnement Linux. Il faut alors, dans le chier /etc/nsswitch.conf , qui g`re la base des utilisateurs du serveur LTSP e sur des chiers ou des bases de donnes locales, indiquer lutilitaire Winbind e qui va grer la transition de lauthentication avec lActive Directory. e /etc/nsswitch.conf : # Partie concernant la gestion des comptes passwd : les winbind shadow : les winbind groups : les winbind Une fois la modication eectue, nous allons relancer le service winbind. e /etc/init.d/winbind restart

6.5.2

Le module PAM

PAM ` quoi a sert ? a c Le syst`me PAM est un ensemble de modules permettant de grer e e direntes authentications sur un syst`me Linux. Chaque module core e respond ` un mode dauthentication, ou permet des manipulations sur des a comptes. Cela permet de rendre les dirents programmes ncessitant une authene e tication particuli`re(login, su, ssh, kdm) indpendants de la base de e e donnes grant les comptes utilisateurs (passwd, LDAP, MySQL, Doe e maine Windows avec Winbind).

6.5.3

Les 4 groupes de modules

Dans un chier de conguration de PAM, nous allons retrouver les dirents modules rpartis en quatre groupes (auth, account,password,session). e e Un module (par exemple : pam unix.so) pouvant tre utilis dans plusieurs e e groupes. Le groupe auth sert ` lauthentication, il tablit en gnral la corresa e e e pondance entre lutilisateur et le mot de passe.

30

Le groupe account sert ` la vrication du compte utilisateur. Est-ce que a e le mot de passe est encore valide ? Cet utilisateur a-t-il le droit daccder au e service demand ? e Le groupe password permet par exemple dautoriser le changement de mot de passe. Le groupe session est utilis apr`s lauthentication pour ouvrir la sese e sion, monter les rpertoires personnels, activer sa bo mail, etc. e te

6.5.4

Les indicateurs de contrle de PAM o

Lors dune demande dopration, dauthentication, de vrication, chaque e e module retourne un rsultat avec un indicateur de contrle et en fonction e o de celui-ci, PAM sait ce quil doit faire. Il existe plusieurs indicateurs de contrle : o Lindicateur required : Si le rsultat du test choue, les autres modules e e sont quand mme analyss avant de prendre une dcision nale. e e e Lindicateur sucient : Si le rsultat est positif, le rsultat global sera e e positif mme si les modules prcdents de type required ont chou. e e e e e Lindicateur requisite : Si le rsultat du test choue, lanalyse est intere e rompue et lutilisateur est immdiatement averti de lchec. e e Lindicateur optional : Dans tous les cas, que le rsultat soit positif ou e ngatif, cela naura aucune importance dans lauthentication globale sauf e si ce module est le seul test. e

6.5.5

Conguration du chier /etc/pam.d/login

Nous allons modier le chier /etc/pam.d/login pour prendre en compte lauthentication avec Winbind. Nous allons galement ajouter dans ce e chier et dans le chier /etc/pam.d/gdm le module pam mkhomedir.so qui permet de crer le rpertoire home de lutilisateur automatiquement ` e e a sa premi`re connexion : e auth sucient pam winbind.so auth required pam securetty.so auth required pam stack.so service=system-auth auth required pam nologin.so account sucient pam winbind.so account required pam stack.so service=system-auth password required pam stack.so service=system-auth session required pam mkhomedir.so skel=/etc/skel/ umask=0022 session required pam stack.so service=system-auth session optional pam console.so

31

Le rpertoire /etc/skel sert ` dnir un prol utilisateur par dfaut. e a e e Ce dossier contient le squelette (skel pour skeleton en anglais) dun environnement par dfaut pour tous les utilisateurs. Nous avons cr un rpertoire e ee e windows dans /etc/skel ce qui nous permettra par la suite de monter le rpertoire windows dun utilisateur au moment du login. e Ainsi, chaque utilisateur qui sauthentiera pour la premi`re fois crra son e e rpertoire home Linux avec le rpertoire windows. e e

6.5.6

Conguration du chier /etc/pam.d/system-auth

Nous faisons ici la mme chose pour le module pam winbind, et le moe dule pam mkhomedir.so. auth sucient pam winbind.so auth required /lib/security/pam env.so auth optional /lib/security/pam mount.so use rst pass auth sucient /lib/security/pam unix.so likeauth nullok use rst pass auth required /lib/security/pam deny.so account sucient pam winbind.so account required /lib/security/pam unix.so password required /lib/security/pam cracklib.so retry=3 type= password required /lib/security/pam smbpass.so nullok use authtok try rst pass password sucient /lib/security/pam unix.so nullok use authtok md5 shadow password required /lib/security/pam deny.so session session session session required pam mkhomedir.so umask=0022 skel=/etc/skel required /lib/security/pam limits.so required /lib/security/pam unix.so optional /lib/security/pam mount.so use rst pass

6.5.7

Conguration du chier /etc/security/pam mount.conf

Le chier pam mount.conf permet de monter des volumes lorsque lutilisateur va sauthentier. Nous allons ici monter le prol windows de lutilisateur dans le rpertoire e Windows, ainsi quun rpertoire commun ` tous les utilisateurs. e a Pour cela, il faut modier le chier pam mount.conf en rajoutant ` a la n du chier les volumes ` monter : a

32

volume * cifs 192.168.0.2 ltsp/=$ /home/UM2/&/windows username=&,uid=&,guid=&,le mod=0777,dir mod=0777,workgroup=UM2,rw -volume * local - /home/UM2/&/windows/& /home/UM2/&/windows bind - volume * cifs 192.168.0.2 commun /home/UM2/&/commun uid=&,guid=&,le mod=0777,dir mod=0777,workgroup=UM2,rw -IMPORTANT : Il est important de noter que pour se connecter ` un partage a windows 2003, il faut utiliser le protocole CIFS1 .

6.6

Gestion des mots de passe des utilisateurs

Nous avons utilis lannuaire Active Directory comme seule base de e donnes pour les utilisateurs. Cela veut dire quun utilisateur du domaine e UM2.local pourra se connecter indiremment sous une session Linux e ou sous une session Windows. Le mot de passe dun compte utilisateur est le mme pour les deux environnements. e

6.6.1

Changement dun mot de passe

Lorsquun utilisateur veut changer son mot de passe, il faut quil change le mot de passe stock dans lannuaire Active Directory. Nous allons voir e comment lutilisateur peut changer de mot de passe sous ces deux environnements. Dans un environnement Windows Sous Windows, lutilisateur na rien de plus ` faire quun simple CTRL a + ALT + SUP. Il pourra cliquer sur le bouton Changer de mot de passe. Une fentre souvrira alors lui demandant de spcier son ancien mot de e e passe, ainsi que son nouveau. Nous avons d lever les restrictions au niveau des stratgies de scurit qui u e e e sont mises par dfaut. En eet, les mots de passe devaient contenir des cae ract`res spciaux, ainsi quune longueur prcise. Nous navions pas besoin, e e e dans le cadre de ce projet, dune telle stratgie. e Lorsquun utilisateur modie son mot de passe, celui-ci est donc modi e
CIFS : Common Internet File System. Cest la derni`re volution de SMB, plus exe e tensible.
1

33

directement dans lActive Directory. Nous allons voir que sous Linux, cest un peu plus dlicat. e Dans un environnement Linux Lorsquun utilisateur sauthentie dans une session Linux, Winbind se charge de vrier lidentit de lutilisateur avec les donnes quil a rcupres e e e e ee de lActive Directory. Winbind ne fait que mapper les utilisateurs dun Active Directory et les importe en quelque sorte dans son environnement. Lorsquun utilisateur veut modier son mot de passe, il eectue gnralement la commande passwd. Cette commande est valable dans e e la mesure o` le compte qui sest authenti est un compte UNIX. Ici, le u e compte utilisateur provient dun Active Directory. Il va donc falloir changer le mot de passe directement au niveau de lActive Directory. Pour cela, nous avons cr un script qui autorise la modication dun mot ee de passe pour un utilisateur sous une session UNIX, sans rebasculer sous une session TSE. Ce script nomm changepass est stock dans le rpertoire /usr/bin e e e # !/bin/bash smbpasswd -r 192.168.0.2 Le script utilise le programme smbpasswd pour aller modier le mot de passe contenu dans lActive Directory ` ladresse 192.168.0.2. Lorsquun a utilisateur dsire changer son mot de passe, il lui sut donc de taper chane gepass. Son ancien mot de passe lui sera demand, et il pourra en saisir un nouveau. e La prise en compte de la modication est immdiate. e

34

Chapitre 7

Supervision du rseau SNMP e


Nous avons dcid de mettre en place un syst`me de supervision du e e e rseau. Pour cela nous avons utilis le logiciel Cacti. e e Cacti est une solution de modlisation graphique compl`te des rseaux, e e e base sur la puissance de stockage de donnes et de gnration de courbes e e e e de RRDTool1 . Cacti fournit une publication rapide, un syst`me de template avanc, e e des mthodes multiples dacquisition de donnes, et des dispositifs de gestion e e dutilisateurs extrieurs. Tout ceci est intgr dans une interface intuitive et e e e facile demploi adapte ` toute installation du LAN personnel jusquaux e a rseaux complexes avec des centaines de syst`mes. e e

7.1

Installation de Cacti

Avant dinstaller Cacti, il faut sassurer davoir install au pralable les e e services Apache (pour le serveur HTTP), et la base de donnes MySQL. e En eet Cacti se prsente sous la forme dun site Internet et sa base de e donnes RDD ncessite linstallation du service mySQL e e Cacti sinstalle ensuite facilement sous la Fedora Core 5. yum install cacti yum install net-snmp-utils

7.2

Conguration de Cacti

La conguration du service Cacti est simple. Il faut cependant congurer le service Apache, et la base de donnes MySQL avant de pouvoir se e
1 RRDtool est un outil libre de gestion de base de donnes RRD. Cet outil a t cr e e e ee pour superviser des donnes serveur, telles que la bande passante, la temprature dun e e processeur.

35

servir de Cacti. Lors de linstallation nous avons t confronts ` un probl`me inattendu. ee e a e En eet, le service SELinux qui est activ par dfaut dans la fedora SEe e Linux, pour Security-Enhanced Linux, est un LSM (Linux security module), qui permet de dnir une politique dacc`s MAC (mandatory e e access control) aux lments dun syst`me bas sur Linux. Ceci a eu pour ee e e eet de bloquer les ux HTTP et autres en provenance dApache. La conguration complexe de ce service ne nous a pas sembl cruciale au projet, nous e avons donc simplement dsactiv ce service. e e

7.2.1

Conguration du serveur MySQL

Pour faire fonctionner Cacti, nous avons besoin de congurer certains param`tres dans la base MySQL. e /usr/bin/mysql -p -u root mysql> create database cactidb ; mysql> grant all on cactidb.* to root ; mysql> grant all on cactidb.* to root@localhost ; mysql> grant all on cactidb.* to cactiuser ; mysql> grant all on cactidb.* to cactiuser@localhost ; mysql> set password for cactiuser@localhost=password(cacti) ; mysql> exit ; On autorise de cette faon lutilisateur cactiuser ` intragir avec la base c a e cactidb (ajout/suppression/modication), et on lui dnit un mot de e passe pour se connecter ` la base de donnes. a e

7.2.2

Conguration du chier /usr/share/cacti

Il faut maintenant diter le chier de conguration pour ladapter ` notre e a installation. Voici les lignes importantes ` modier : a Fichier : /usr/share/cacti/include/cong.php $database $database $database $database $database $database type = mysql ; default = cactidb ; hostname = localhost ; username = cactiuser ; password = cacti ; port = 3306 ;

Ensuite, nous allons donner les droits susants ` Cacti pour gnrer ses a e e graphiques et ses logs. Dans le rpertoire de Cacti : e chown -R cactiuser rra/ log/

36

7.2.3

Programmation de la rcupration des statistiques : e e Crontab

Nous allons utiliser Crontab2 pour aller rcuprer, toutes les cinq mie e nutes, les donnes sur les quipements que nous voulons superviser. Pour e e cela, nous allons ajouter la ligne suivante au chier /etc/crontab : */5 * * * * cactiuser php /usr/share/cacti/poller.php > /dev/null 2>&1 Lors de la premi`re connection, il faut utiliser le compte admin/admin. e

7.2.4

Administration et supervision des serveurs

Nous allons pouvoir nous connecter au service Cacti : http ://ltsp.um2.local/cacti/

Fig. 7.1 Administration de Cacti

Crontab est un programme Unix qui permet dditer la table de conguration du e programme cron et donc de lancer des tches ` horaires xes. a a

37

Supervision du serveur Windows

Fig. 7.2 Statistiques sur linterface eth0

Fig. 7.3 Statistiques de ping du serveur

38

Supervision du serveur Linux

Fig. 7.4 Statistiques sur la charge du serveur

Fig. 7.5 Statistiques sur linterface eth0

39

Fig. 7.6 Statistiques sur linterface eth1

40

Chapitre 8

Installation dun PROXY


Nous avons mis en place un serveur PROXY dans le but dacclrer les ee consultations des sites web et de contrler lacc`s ` Internet. o e a

8.1

Prsentation du service Squid e

Squid est un Proxy capable dutiliser les protocoles FTP, HTTP, Gopher, et HTTPS. Il permet de mettre en cache des pages web les plus frquemment utilises e e et ainsi de diminuer le temps de chargement de ces pages. Squidguard est un outil permettant de ltrer les sites en se servant des URLs, cest une surcouche de Squid qui lui ne g`re que le cache. e SquidGuard utilise, pour le ltrage, des URLs regroupes en listes blanches e ou en listes noires : Une liste noire est une liste de sites interdits. Lorsque le navigateur dun poste informatique essaie de se connecter ` lun de ces sites, le a proxy se charge de regarder si le site gure dans la fameuse liste noire et, si cest le cas, il va renvoyer un message derreur au navigateur . Une liste blanche est une liste qui fonctionne sur un mod`le inverse, e cest-`-dire que lon va autoriser un certain nombre dadresses pralablement a e valides et dont on est sr quelles ne prsentent pas de risques. e u e Evidemment chaque type de liste a ses avantages et ses inconvnients : la e liste noire permet davoir acc`s ` tous les sites qui ne sont pas interdits, ce e a qui veut dire quon a quand mme potentiellement acc`s ` une grande varit e e a ee de sites et que, dans la mesure o` la liste noire est gre par des humains, u ee on va laisser passer des sites que la machine pourrait considrer comme ame

41

bigus. Il est donc impratif de mettre ` jour ces listes frquemment puisque e a e des URLs se crent chaque jour. e

Le schma suivant permet de voir plus prcisement comment va fonce e tionner le serveur PROXY.

Fig. 8.1 Serveur proxy

8.2

Conguration du service Squid

Linstallation du service Squid est intgre dans la distribution Fedora e e Core 5 (K12LTSP) que nous avons utilise. Cependant, linstallation naue rait pas t plus complique : ee e yum install squid Nous avons tout dabord initialis le rpertoire de cache (celui dans lequel e e les pages des sites web les plus consults seront stockes). Il faut taper dans e e une console : squid -z Nous allons maintenant nous interesser au chier /etc/squid/squid.conf :

42

#port dcoute du service e http port 3128 hierarchy stoplist cgi-bin ? acl QUERY urlpath regex cgi-bin ? redirect program /usr/sbin/squidGuard -c /etc/squid/squidguard.conf auth param basic children 5 auth param basic realm Squid proxy-caching web server auth param basic credentialsttl 2 hours auth param basic casesensitive o #Suggested default : refresh pattern : 1440 20% 10080 ftp refresh pattern opher : 1440 0% 1440 g refresh pattern . 0 20% 4320 #Recommended minimum conguration : acl all src 0.0.0.0/0.0.0.0 acl manager proto cache object acl localhost src 127.0.0.1/255.255.255.255 acl to localhost dst 127.0.0.0/8 acl SSL ports port 443 563 acl Safe ports port 80 # http acl Safe ports port 21 # ftp acl Safe ports port 443 563 # https, snews acl Safe ports port 70 # gopher acl Safe ports port 210 # wais acl Safe ports port 1025-65535 # unregistered ports acl Safe ports port 280 # http-mgmt acl Safe ports port 488 # gss-http acl Safe ports port 591 # lemaker acl Safe ports port 777 # multiling http acl CONNECT method CONNECT no cache deny QUERY http access allow manager localhost http access deny manager # Deny requests to unknown ports http access deny !Safe ports # Deny CONNECT to other than SSL ports http access deny CONNECT !SSL ports #On denit le rseau authoris ` utiliser le service SQUID e ea acl our networks src 192.168.0.0/24 http access allow our networks # And nally deny all other access to this proxy http access allow localhost #On refuse tout le reste 43

http access deny all Avec ce chier de conguration, on dnit que le service PROXY sera e disponible sur le port 3128 pour tout le rseau 192.168.0.0/24. Seul le e poste localhost pourra administrer la conguration du serveur. Un certain nombre de ports correspondant ` des services sont dclars comme safe. a e e Toute connection vers dautres ports (services) ne sera pas autorise. e

8.3

Conguration de SquidGuard

Le ltrage du contenu et la restriction daccs se congurent au travers e du chier /etc/squid/squidGuard.conf. Il est possible dy dclarer des e priodes pendant lesquelles laccs est autoris, mais cest galement l` que e e e e a les listes blanches et noires sont prcises. e e

Fichier /etc/squid/squidGuard.conf :

dbhome /var/squidGuard/blacklists logdir /var/log/squidGuard # TIME RULES : # abbrev for weekdays : # s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat #les horaires autorises pour lutilisation du proxy e time horaires { weekly a 07 :30 - 13 :30 weekly mtwhf 07 :30 - 21 :30 } # SOURCE ADDRESSES : src lansource { ip 192.168.0.0/24 iplist lansource/lan } # DESTINATION CLASSES : #les Groupes de destination qui ltre vos clients dest local-ok{ domainlist local-ok/domains urllist local-ok/urls

44

} dest local-block{ log local-block domainlist local-block/domains urllist local-block/urls } dest porn{ log porn domainlist porn/domains urllist porn/urls } dest warez{ log warez domainlist warez/domains urllist warez/urls } rewrite google { s@(google.com/search.*q=.*)@\1&safe=active@i s@(google.com/images.*q=.*)@\1&safe=active@i s@(google.com/groups.*q=.*)@\1&safe=active@i s@(google.com/news.*q=.*)@\1&safe=active@i # log google }

# ACLs #les ! Devant les groupes veulent dire tous se qui nest pas acl { lansource within horaires { rewrite google pass local-ok !porn !warez all } default { pass none redirect http ://ltsp.um2.local/cgi-bin/squidGuard.cgi ?clientaddr=%a&clientname=%n&clienti } } Les chiers prciss par les direntes catgories sont des bases de donnes e e e e e contenant les URLs et/ou adresses IP de sites contenant des contenus illgaux, e ou non dsirs sur notre rseau. e e e Par exemple, pour le genre hacking le chier domain contient des donnes e 45

du genre : 63.71.76.111 66.28.56.113 astalavista.box.sk neworder.box.sk warez.com ... Les contraintes de rcriture (rewrite google) permettent de modier les ee adresses tapes par lutilisateur dans son navigateur. Ces contraintes pere mettent par exemple de forcer lactivation du mode recherche SafeSearch propos par le moteur de recherche Google et qui ltre les rsultats ayant e e un contenu illicite. Nous dnissons aussi des ACL1 qui sont en fait des r`gles de ltrage e e constitues entre autres de listes blanches et de listes noires. LACL lane source, par exemple, nautorise lacc`s ` Internet que pendant les horaires e a prdnis (Section lansource within horaires dans le script ci-dessus). e e Dans cette ACL nous prcisons quels sont les groupes de sites que nous aue torisons. Ici, les sites pornographiques et les sites de Warez seront interdits. Tout le reste sera autoris : e pass local-ok !porn !warez all

Acc`s Lists ou listes daccs e e

46

Conclusion Le rsultat obtenu par toute cette mise en oeuvre est surprenant. En eet e lors de nos dirents tests, nous avons pu constater la ractivit des syst`mes e e e e distants et leur utilisation compl`tement transparente. Cela sexplique de e part les conditions de mise en oeuvre. Il serait intressant de pouvoir tester e cette implmentation dans des conditions relles, sur un rseau tendu et e e e e utilis pour dautres applications, ainsi quavec de nombreux clients LSTP. e Cela permettrait de savoir si une telle solution est viable pour une application industrielle, et pas seulement dans le cadre dun TER.

47

Vous aimerez peut-être aussi