Vous êtes sur la page 1sur 4

Pascal Poncelet , Frédéric Comby

M1101 TD7
Rôle de l'administrateur réseau

L'objectif de ce TD est de voir quelques liens entre les droits, la sécurité et un système client
serveur.

1. Serveur NIS
Rappel : un serveur NIS est un serveur qui exporte une partie de ses tables vers des
utilisateurs réseau : par exemple sa table des utilisateurs (/etc/passwd) ou sa table des mots de
passe (/etc/shadow).
NIS n'a pas très bonne réputation au niveau de la sécurité. En effet il permet à tous les clients
déclarés sur le serveur de se connecter sur ce dernier : le compte existe sur le serveur ! Et
également n'importe quelle machine peut tenter de se connecter sur le serveur NIS
1. Que pourriez vous proposer pour éviter cela ? Limiter l'accès physique à la salle des
serveurs. On ne peut pas bloquer le compte de l'utilisateur sinon il ne pourra plus se
connecter. Limiter l'accès au serveur pour des machines du réseau pour restreindre les
possibilités d'attaques.
2. Une fonctionnalité de sécurité est déjà prévue et peut se configurer dans le fichier
/etc/ypserv.securnets :
root@DebianFred_serv:/home/test# cat /etc/ypserv.securenets
#
# securenets This file defines the access rights to your NIS server
# for NIS clients (and slave servers - ypxfrd uses this
# file too). This file contains netmask/network pairs.
# A clients IP address needs to match with at least one
# of those.
#
# One can use the word "host" instead of a netmask of
# 255.255.255.255. Only IP addresses are allowed in this
# file, not hostnames.
#
# Always allow access for localhost
255.0.0.0 127.0.0.0

# This line gives access to everybody. PLEASE ADJUST!


0.0.0.0 0.0.0.0
3. Que devez vous changer pour que certains clients ne puissent pas se connecter sur le
serveur ? On rajoute un masque 255.255.255.255 et l'adresse de la machine.
4. Que se passe-t-il si on retire purement et simplement la ligne 0.0.0.0, 0.0.0.0 ? Plus
personne n'a d'accès via le NIS
5. N'importe quel utilisateur connecté peut également avoir accès aux bases (cf liste ci-
dessous) que le serveur NIS exporte. La configuration du fichier /etc/ypserv.conf
permet de traiter cela. Expliquer cette configuration à l'aide des infos plus bas.

Liste des tables :


root@DebianFred_serv:/home/test# ypcat -x

Use "ethers" for map "ethers.byname"


Use "aliases" for map "mail.aliases"

19/09/13 1 M1101
Pascal Poncelet , Frédéric Comby

Use "services"for map "services.byname"


Use "protocols" for map "protocols.bynumber"
Use "hosts" for map "hosts.byname"
Use "networks" for map "networks.byaddr"
Use "group" for map "group.byname"
Use "passwd" for map "passwd.byname"
# ypserv.conf In this file you can set certain options for the NIS server,
# and you can deny or restrict access to certain maps based
# on the originating host.
#
# See ypserv.conf(5) for a description of the syntax.
#
# The following, when uncommented, will give you shadow like passwords.
# Note that it will not work if you have slave NIS servers in your
# network that do not run the same server as you.
# Host : Domain : Map : Security
#* :* : passwd.byname : port/mangle
#* :* : passwd.byuid : port/mangle
# This is the default - restrict access to the shadow password file,
# allow access to all others.
* :* : shadow.byname : port
* :* : passwd.adjunct.byname : port
* :* :* : none
DESCRIPTION
ypserv.conf is an ASCII file which contains some options for ypserv. It
also contains a list of rules for special host and map access for
ypserv and rpc.ypxfrd. This file will be read by ypserv and rpc.ypxfrd
at startup, or when receiving a SIGHUP signal.
There is one entry per line. If the line is a option line, the format
is:
option: <argument>
The line for an access rule has the format:
host:domain:map:security
All rules are tried one by one. If no match is found, access to a map
is allowed.
The field descriptions for the access rule lines are:
host IP address. Wildcards are allowed.
Examples:
131.234. = 131.234.0.0/255.255.0.0
131.234.214.0/255.255.254.0
domain specifies the domain, for which this rule should be applied. An
asterix as wildcard is allowed.
map name of the map, or asterisk for all maps.
security
one of none, port, deny:
none always allow access.
port allow access if the client request originates from a priviliged
port (< 1024). Otherwise do not allow access.
deny deny access to this map.
You can add /mangle:field to the none or port security keywords. The

19/09/13 2 M1101
Pascal Poncelet , Frédéric Comby

:field part is optional. It will replace field number field (the


default is 2, the password field of the passwd and shadow maps) with
the value x for client requests from non-priviliged ports (>= 1024) for
the port security keyword and in all cases for the none security key‐
word.
6. A quoi correspond le signe * ? caractère Jocker qui signifie tout : toutes les tables,
tous les hôtes, tous les domaines.
7. Qu'est ce qui sera affiché si l'option none/mangle est utilisée pour la ligne
shadow.byname Un x remplacera le 2eme champs par défaut c'est à dire celui du mot
de passe.
8. Est ce que la configuration donnée interdit complètement l'accès aux bases ? Non la
configuration laisse l'accès à la table passwd qui donne la liste des users
9. Pourquoi est-ce dangereux de pouvoir accéder aux mots de passe cryptés et aux noms
des comptes ? Sécurité : on peu cibler une attaque. Avec certains cryptages faibles de
mots de passe faibles cela peut engendrer des failles de sécurité.
10. Pourquoi est-ce qu'il est recommandé de placer le serveur d'authentification derrière
un NAT ? Généralement le NAT fait de la translation de ports, du coup le numéro de
port à peu de chance de se retrouver dans la liste des ports acceptés pour les requêtes.

2. Problèmes de droits (Philippe Pujas)


1. Rappel
Un fichier appartient à un propriétaire et à un groupe. Il possède des droits de
lecture/écriture/exécution pour le propriétaire, pour le groupe, pour les autres utilisateurs.
• L’utilisateur toto du groupe rt2 ne peut lire un fichier que si :
• le fichier appartient à toto et est en mode lecture pour le propriétaire ;
• ou, le fichier appartient au groupe rt2 et le fichier est en lecture pour le groupe ;
• ou, le fichier est en lecture pour les autres.
• L’utilisateur toto du groupe rt2 ne peut créer un fichier dans un répertoire que si :
• le répertoire appartient à toto et est en mode écriture pour le propriétaire ;
• ou, le répertoire appartient au groupe rt2 et est en mode écriture pour le groupe ;
• ou, le répertoire est en mode écriture pour les autres.
2. Configuration d’un serveur Web
Soit la configuration suivante. L’administrateur du site est l’utilisateur webmaster, son
groupe est www. Le groupe www ne comporte qu’un seul membre : webmaster.
L’arborescence du site appartient à webmaster et au groupe www. Elle est en
lecture/écriture pour webmaster et en lecture seule pour www. Les scripts CGI sont
exécutables par webmaster et par le groupe www.
1. Montrer que les documents locaux du site ne peuvent pas être accédés par les
utilisateurs du serveur (sauf webmaster).
2. Pourquoi le serveur httpd ne doit-il pas avoir les droits suivants : propriétaire root,
groupe root ?
3. Pourquoi le serveur ne peut-il pas avoir les droits : propriétaire : webmaster, groupe
apache?
4. Pourquoi le serveur ne peut-il pas avoir les droits : propriétaire : apache, groupe
apache ?
5. Que se passe-t-il si le serveur a été configuré avec les droits : propriétaire : apache,
groupe www ?
6. Dans ce dernier cas, quels doivent être les droits des pages personnelles des
utilisateurs ? Problème ?

19/09/13 3 M1101
Pascal Poncelet , Frédéric Comby

7. Comment configurer les répertoires recevant, par exemple, les fichiers de session ?
8. Comment configurer le système pour que le site comporte plusieurs parties
administrées par différents webmasters.
a) Montrer que les documents locaux du site ne peuvent pas être accédés par les utilisateurs
du serveur (sauf webmaster).
L’utilisateur toto appartient au groupe rt2. Il ne peut donc lire que les fichiers de toto ou du
groupe rt2 ou les fichiers lisibles par tous. Il ne peut pas lire les fichiers de webmaster ou du
groupe www. Le webmaster est webmaster il peut donc lire et modifier ses pages.
b) Pourquoi le serveur httpd ne doit-il pas avoir les droits suivants : propriétaire root,
groupe root ?
Si le serveur Web est root.root en cas de bug ou de piratage le système Unix sur lequel tourne
le serveur est en danger.
c) Pourquoi le serveur ne peut-il pas avoir les droits : propriétaire : webmaster, groupe
apache?
Si le serveur est webmaster.apache, en cas de bug du serveur un usager malveillant peut
modifier l’arborescence.
d) Pourquoi le serveur ne peut-il pas avoir les droits : propriétaire : apache, groupe
apache ?
Si le serveur est apache.apache il ne pourra pas lire les documents.
e) Que se passe-t-il si le serveur a été configuré avec les droits : propriétaire : apache,
groupe www ?
Grâce aux droits du groupe www il peut lire les documents mais ne peut pas les modifier.
f) Dans ce dernier cas, quels doivent être les droits des pages personnelles des utilisateurs ?
Problème ?
Les pages personnelles de toto.rt2 doivent être en lecture pour tous sinon le serveur n’y
accède pas.
g) Comment configurer les répertoires recevant, par exemple, les fichiers de session ?
Il faut qu’ils appartiennent à webmaster.www et que le groupe puisse écrire.
h) Comment configurer le système pour que le site comporte plusieurs parties administrées
par différents webmasters.
Tous les webmasters appartiennent au groupe www, ex : webmaster1.www,
webmaster2.www etc.

3. La sauvegarde de fichiers
Un des travaux que l'administrateur système doit réaliser, est d'assurer la sécurité des données
de utilisateurs ainsi que des données sensibles.
La commande DD (device to device) copie tous les blocs d'un périphérique vers un autre
périphérique (y compris les blocs défectueux, les blocs vides. Son format est :
dd if=fichier_source of=fichier_dest
1. Quel est le problème de copier les blocs qui sont vides ? Est-ce un problème de taille ?
Non c'est un problème de temps : on va perdre du temps à copier des blocs vides
2. Quelle commande permet de sauvegarder la partition home montée sur le device
/dev/sda1 sur un disque externe /dev/sdb ? Dd if=/dev/sda1 of=/dev/sdb
3. Est-ce que sauvegarder dans un fichier est possible ? Oui sous linux tout est vu comme
un fichier
4. Quelle commande permet de copier un cd-rom sur la partition /mnt/backup ? dd
if=/dev/cd-rom of=/mnt/backup

19/09/13 4 M1101

Vous aimerez peut-être aussi