WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et déploiement d?une architecture réseau sécurisée : cas de SUPEMIR

( Télécharger le fichier original )
par Angeline Kone
SUPEMIR - Ingénieur 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy
c. Serveur de fichiers

Le logiciel Samba est un outil permettant de partager des dossiers et des imprimantes à travers un réseau local. Il permet de partager et d'accéder aux ressources d'autres ordinateurs fonctionnant avec des systèmes d'exploitation Microsoft® Windows et Apple Mac OS X, ainsi que des systèmes GNU/Linux, BSD et Solaris dans lesquels une implémentation de Samba est installée. Pour partager de manière simple des ressources entre plusieurs ordinateurs, l'utilisation de Samba est conseillée. Vu les fonctionnalités qu'offrent ce logiciel, nous avons en usé de sa possibilité d'émuler un domaine Windows pour le configurer en contrôleur de domaine principal (PDC). Le contrôleur de domaine principal est un serveur chargé du contrôle de l'authentification des requêtes de connexion et d'accès aux ressources dans un domaine windows qui est quant à lui un groupe d'ordinateurs (techniquement appelé forêt) où l'accès à une variété de ressources hébergée sur un ordinateur est contrôlé par la PDC. Il existe divers outils pour une configuration graphique de samba mais nous avons souhaité utiliser le shell car celui-ci offre la possibilité de configurer tous les paramètres de samba.

Installation

Afin d'installer les paquets minimums nécessaires pour la suite des opérations, nous avons lancé les commandes suivantes :

apt-get update

apt-get update --fix-missing

apt-get install ssh (pour l'accès au serveur à distance)

apt-get install samba

Création des groupes et des utilisateurs

Afin que tout le monde ne puisse pas accéder à tous les fichiers, il a fallu restreindre l'accès à certains utilisateurs et à certains groupes et pour cela nous les avons créé au préalable. Nous avons crée trois groupes : etudiants, profs et cadre. Chacun de ces groupes contient des utilisateurs et nous avons créé juste ceux donc nous avions besoins.

Figure 7 : Création des groupes et des utilisateurs.

Dans notre cas, nous avons utilisé plusieurs options. L'option -m qui permet de créer directement le répertoire home du nouvel utilisateur. Ce répertoire se situe dans /home/. L'option -g permet à l'utilisateur de rejoindre le groupe spécifié en paramètre. L'option -R de la commande chmod permet d'appliquer le mode d'accès préciser à tous les fichiers dans les sous répertoires de manière récursive.

Après cette manipulation il faut activer ces comptes utilisateurs dans Système> Administration> Utilisateurs et groupes, en saisissant le mot de passe de chaque utilisateur à la demande.

Pour que les utilisateurs aient accès aux ressources de samba, il a fallu que nous les ajoutions à samba grâce à la commande smbpasswd de la manière ci-dessous :

Figure 8 : Ajout des utilisateurs au serveur Samba.

L'option -a permet juste de spécifier le nom de l'utilisateur. Il faut faire pareil pour le compte root à fin de lui permettre d'intégrer des postes clients au domaine.

Ajout des machines sous samba

Pour que chaque machine puisse se connecter au domaine au démarrage, il faut qu'il ait un compte au niveau du contrôleur de domaine samba pour cela nous avons créé un groupe ordinateurs qui contiendra toutes les machines du domaine.

Par exemple pour joindre le poste portant le nom supemirpc3, il faut un compte machines portant ce nom sur le PDC.

Création du groupe ordinateus

Ajoute de l'utilisateur supemirpc3$

Ajout de son mot de passe à /etc/samba/smbpasswd :

Ne pas oublier le $ à la fin du nom, tout se passe comme ci-dessous :

Figure 9 : Ajout du groupe des ordinateurs et d'un compte machine à Samba.

L'option -m permet de préciser que ce compte est un compte machine et de ce fait il n'a pas de mot de passe.

Création des dossiers de partage

Vu que le répertoire public est accessible par tout le monde, nous avons donné le droit de lecture, écriture er exécution des fichiers et répertoires à tout le mode : chmod 777 /home/public.

Figure 10 : Création des répertoires de partage.

Le répertoire profiles permet de stocker les profiles des utilisateurs qui se connectent au domaine à fin de le permettre de garder leur environnement de travail quelque soit le poste sur lequel ils se connecteront, le répertoire netlogon quant à lui permet de stocker les scripts de connexion.

Configuration de smb.conf

Le fichier smb.conf est le fichier de configuration de samba contenu dans le répertoire /etc/samba/. Ce fichier décrit les ressources que l'on désire partager, ainsi que les permissions/restrictions qui leur sont associées.

gedit /etc/samba/smb.conf pour éditer le fichier de configuration et le modifier comme suit :

# smb.conf par A.K

#--------CONFIGURATION GLOBALE---------------------------

[global]

workgroup = labs.supemir.ma

# nom sous lequel appara®tre le serveur dans le voisinage r(c)seau

netbios name = srvsupemir4

# ce qui appara®tra dans la rubrique d(c)tail du voisinage r(c)seau, %v fait appara®tre le n° de version de samba

server string = %h Serveur Samba %v

# les mots de passes transitent chiffr(c)s

encrypt passwords = Yes

# lieux de stockage du journal des (c)v(c)nements

log file = /var/log/samba/log.%m

# taille max du journal

max log size = 50

# param·tre qui permet d'augmenter les performances r(c)seau

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# pas de proxy dns

dns proxy = No

username map = /etc/samba/smbusers

# oblige les utilisateurs   avoir un compte sur le serveur pour se connecter

security = user

# crypter le mot de passe

encrypt passwords = true

# base de donn(c)es des utilisateurs, groupes et mots de passe

passdb backend = tdbsam:/var/lib/samba/pdcpass.tdb

smb passwd file = /etc/samba/smbpasswd

# synchronisation des mots de passe samba avec les mots de passe linux

unix password sync = yes

pam password change = yes

passwd program = /usr/bin/passwd %u

passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

#pour pouvoir synchroniser l'horloge des client sur celle du serveur

time server = yes

# autorise la connection des utilisateurs sur le domaine

domain logons = yes

# ce serveur est le controleur du domaine

domain master = yes

# dans le cas de la pr(c)sence de plusieurs contr'leurs de domaine, c'est le serveur qui est le favori

preferred master = yes

# il fait autorit(c) sur le r(c)seau local

local master = yes

# permet de gagner l'(c)lection contre les autres machines windows

os level = 255

#sp(c)cifie que root et les user du groupe cadre peuvent joindre le domaine sur les clients

#domain admin group = @root,@cadre

# repertoire de connexion

logon home = \\%N\%H

logon path = \\%N\profile\%U

logon script = %U.bat

# administrateur du domain

admin users = root manager

#--------CONFIGURATION DU PARTAGE DES FICHIERS-------------

[netlogon]

comment = R(c)pertoire des scripts de connextion

path = /home/netlogon/

browseable = no

writeable = no

write list = root, manager

#

[profile]

comment = R(c)pertoire des profiles de connextion

path = /home/profile

browseable = no

writeable = yes

create mask = 0700

directory mask = 0700

#

[public]

comment = R(c)pertoire Public

public = yes

path = /home/public

# il est accessible en (c)criture

writeable = yes

valid users = @profs,@cadre,@etudiants

write list = @profs,@cadre,@etudiants

read list = @profs,@cadre,@etudiants

# les fichiers cr(c)(c)s sont en lecture seule, sauf pour le propri(c)taire

create mode = 0755

#

[cours]

comment = Repertoire des cours acc(c)ssibles par les profs

path = /home/cours

browsable=no

#valid users = @profs

valid users = @profs

write list = @profs

read list = @profs

#

[direction]

comment = Repertoire des cours acc(c)ssibles par les profs

path = /home/direction

browsable=no

valid users = @cadre

write list = @cadre

read list = @cadre

#

[amine]

comment = Repertoire amine

path = /home/amine

browsable=no

valid users = amine

#

[achraf]

comment = Repertoire achraf

path = /home/achraf

browsable=no

valid users = achraf

#

[mounir]

comment = Repertoire mounir

path = /home/mounir

browsable=no

valid users = mounir

#

[khalid]

comment = Repertoire khalid

path = /home/khalid

browsable=no

valid users = khalid

#

[niveau1]

comment = Repertoire des cours niveau1

path = /home/niveau1

#browseable = no

valid users = @profs,niveau1

write list = @profs

read list = niveau1

#

[niveau2]

comment = Repertoire des cours niveau2

path = /home/niveau2

#browseable = no

valid users = @profs,niveau2

write list = @profs

read list = niveau2

#

[niveau3]

comment = Repertoire des cours niveau3

path = /home/niveau3

#browseable = no

valid users = @profs,niveau3

write list = @profs

read list = niveau3

#

[niveau4]

comment = Repertoire des cours niveau4

path = /home/niveau4

#browseable = no

valid users = @profs,niveau4

write list = @profs

read list = niveau4

#

[niveau5]

comment = Repertoire des cours niveau5

path = /home/niveau5

#browseable = no

valid users = @profs,niveau5

write list = @profs

read list = niveau5

#

# partarge supervision

[manager]

comment = Repertoire de supervision

browseable = no

path = /home/

valid users = manager

write list = manager

read list = manager

# fin de fichier

Scripts de connexion

Etant donnée que les utilisateurs ne son pas nombreux, nous avons créé un script pour chacun d'eux, ainsi ne seront montés à la connexion au domaine uniquement les partages auxquels l'utilisateur a droit.

gedit /home/netlogon/achraf.bat

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\direction

NET USE S: \\srvsupemir4\public

NET USE X: \\srvsupemir4\achraf

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

gedit /home/netlogon/amine.bat

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\direction

NET USE S: \\srvsupemir4\public

NET USE X: \\srvsupemir4\amine

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

gedit /home/netlogon/mounir.bat

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\direction

NET USE S: \\srvsupemir4\public

NET USE X: \\srvsupemir4\mounir

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

gedit /home/netlogon/khalid.bat

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\direction

NET USE S: \\srvsupemir4\public

NET USE X: \\srvsupemir4\khalid

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

gedit /home/netlogon/prof1.bat

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\niveau1

NET USE S: \\srvsupemir4\niveau2

NET USE X: \\srvsupemir4\niveau3

NET USE Y: \\srvsupemir4\niveau4

NET USE W: \\srvsupemir4\niveau5

NET USE Y: \\srvsupemir4\niveau4

NET USE W: \\srvsupemir4\public

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

gedit /home/netlogon/niveau1

REM montage du répertoire de l'utilisateur

NET USE R: \\srvsupemir4\niveau1

NET USE S: \\srvsupemir4\public

REM réglage de l'heure du client par arpport à celle du serveur

NET TIME \\srvsupemir4\ /SET /YES

Ceci a été fait pour les 4 autres niveaux.

Test de la configuration

Avant le démarrage du serveur, nous avons procédé à une examination de la syntaxe du fichier de configuration grâce à la commande testparm. Pour cela nous avons du installé le package samba-common-bin (apt-get install samba-common-bin). Cette commande vérifie la syntaxe du fichier de configuration par contre elle ne garantit pas le bon fonctionnement du serveur. Elle inspecte toutes les sections du fichier de configuration, il n'y pas d'erreur dans la syntaxe, nous avons un aperçu comme ci-dessous.

Figure 11 : Résultat du test de la syntaxe du fichier de configuration.

Connexion au serveur

Le serveur configuré, il est nécessaire de le relancer pour que les modifications soient prises en compte : service smbd stop / service smbd start. Le service smbd est celui qui gère le partage de fichiers et d'imprimantes.

Pour vérifier que les répertoires ont été correctement partagés nous avons utilisé la commande smbclient de la manière suivante : smbclient -L //127.0.0.1/ (le 127.0.0.1 car nous sommes toujours sur le serveur, sur un machine linux à distance on doit préciser l'adresse IP du serveur), puis saisir le mot de passe root ; nous obtenons cet aperçu :

Figure 12 : Aperçu des répertoires partagés sur le serveur.

L'option -L permet de spécifier l'hôte en renseignant son adresse IP.

La commande smbclient permet aussi à un utilisateur d'accéder au partage sur linux.

Figure 13 : Utilisation du serveur.

L'option -U permet de préciser l'utilisateur qui veut se connecter au partage. Le console nous demande le mot de passe de l'utilisateur et autorise l'accès si ce dernier est correct et si l'utilisateur possède les droits pour accéder à ce partage.

Connexion au partage : smbclient

Affiche des fichiers présents dans le répertoire de partage : ls

Quitter le partage : exit

Intégration d'un client windows dans samba

L'intégration au domaine samba permet à l'utilisateur de monter directement ses répertoires de partage sur son poste de travail et là il verra des lecteurs réseaux identifiants les partages auxquels il a accès au niveau du serveur. Là c'est plus sécurisant parce que l'utilisateur ne voit que les partages auxquels il a droit. La procédure est la suivante :

Démarrer > clic droit sur poste de travail > Propriétés > Nom de l ordinateur > Modifier

Figure 14 : Intégration d'un client windows au domaine.

Il est nécessaire de s'authentifier avec un compte Administrateur de domaine sur notre poste client.

Notre ordinateur est désormais intégré au domaine.

A l'ouverture de session, le client doit choisir de se connecter au domaine afin de monter les répertoires de partage auxquels il a accès dans l'explorateur. Voici l'aperçu de ces lecteurs dans l'explorateur.

Figure 15 : Lecteurs réseau associées au partage de l'utilisateur achraf.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo