Outils de maintenance et sécurité IT
Outils de maintenance et sécurité IT
DOCUMENTATIONS TECHNIQUES
Titre :
Outils de maintenances
Stockage : \\chemin DT.nom
Secteur concerné Date Date de livraison souhaitée
d’émission
1 septembre
Direction 1er septembre 2003
2003
1- Présentation de l’application............................................................................................................. 2
2- Contacts............................................................................................................................................ 2
3- Données techniques......................................................................................................................... 2
4- Données de sécurité......................................................................................................................... 3
4 - 1 La solution SSH2........................................................................................................................... 3
4 - 1.1 Installation.............................................................................................................................. 3
4 - 1.2 Utilisation............................................................................................................................... 3
4 - 1.2.1 Configuration rapide du serveur......................................................................................3
4 - 1.2.2 Exemples de commandes............................................................................................... 3
4 - 2 La gestions des logs...................................................................................................................... 4
4 - 2.1 Les logs : syslog..................................................................................................................... 4
4 - 2.2 Création d’une console de logs.............................................................................................. 4
4 - 2.3 Archivage et rotation des logs................................................................................................ 5
4 - 2.4 Les fichiers à surveiller........................................................................................................... 6
5- Schéma d’architecture...................................................................................................................... 6
6- Installation......................................................................................................................................... 6
6 - 1 Le projet GNUwin.......................................................................................................................... 6
6 - 1.1 PuTTY.................................................................................................................................... 6
6 - 1.2 CygWin.................................................................................................................................. 6
6 - 1.2.1 Définition......................................................................................................................... 6
6 - 1.2.2 Installation du produit CygWin........................................................................................7
6 - 1.2.3 Utilisation de CygWin...................................................................................................... 7
6 - 1.3 FileZilla................................................................................................................................... 8
6 - 2 Le projet SAMBA........................................................................................................................... 8
6 - 2.1 Un serveur de fichier : samba................................................................................................ 9
6 - 2.1.1 Généralités...................................................................................................................... 9
6 - 2.1.2 Protocole et services....................................................................................................... 9
6 - 2.1.3 Sécurité et logs............................................................................................................... 9
6 - 2.2 Configuration de Samba...................................................................................................... 10
6 - 2.2.1 Nos besoins.................................................................................................................. 10
6 - 2.2.2 Une solution.................................................................................................................. 10
6 - 2.2.2.1 Déclaration des services........................................................................................... 10
6 - 2.2.2.2 Sécurisation des services : Xinetd............................................................................10
6 - 2.2.2.3 Configuration de samba............................................................................................ 11
6 - 2.2.2.4 Les commandes utiles SMB......................................................................................14
6 - 3 Conseils pratiques....................................................................................................................... 14
6 - 3.1 Activation du pave numérique pour le loggue en console....................................................14
6 - 3.2 Désactivation du raccourci clavier Ctrl-Alt-Suppr.................................................................14
6 - 3.3 Perte du mot de passe root.................................................................................................. 14
6 - 3.3.1 Boot GRUB................................................................................................................... 14
6 - 3.3.2 Boot LILO...................................................................................................................... 15
772725377.doc DSI – AGRICA
1 / 18
Impr. 30/09/2003 01:39:00 PM Département Réseau et Bureautique
CONFIDENTIEL [Informatique]
Documentations Techniques /
6 - 3.3.3 Transfert de Fichiers dans une fenêtre de commande..................................................15
6 - 3.4 Intervention sur les partitions et les file System...................................................................15
7- Troubleshooting.............................................................................................................................. 15
8- Information fonctionnelles (informations sur l'utilisation).................................................................16
9- Référence documentaires............................................................................................................... 16
1 - PRÉSENTATION DE L’APPLICATION
Propriétaire de
l’application
Description succincte de
l'application
Autres dénominations de
l'application
2 - CONTACTS
INTERNE
Nom Fonction Direction Tél Mail
EXTERNE
Société Standard Adresse
3 - DONNÉES TECHNIQUES
CARACTERISTIQUES
Station OS Ram Mémoire
Serveur Ram Mémoire
PARTICULARITES
4 - DONNÉES DE SÉCURITÉ
4 - 1 La solution SSH2.
Ce protocole est déjà abordé dans le document : « Openssh : Outils libre d’administration à
distance sécurisée des serveurs Linux/Unix. » édité par FR.
4 - 1.1 Installation.
Un serveur SSH dispose d’un couple de clés RSA stocké dans le répertoire /etc/ssh/ et généré
lors de l’installation du serveur :
Les fichiers de configurations du client comme du serveur sont présents dans /etc/ssh/ :
~/.ssh/known_hosts : contient les clés publiques des machines contactés depuis ce client.
4 - 1.2 Utilisation.
# vi /etc/ssh/sshd_config
Protocol 2
PermitRootLogin no
X11Forwarding yes
Pour se logger en root, il sera nécessaire de s’authentifier avec un user ayant peu de droit puis
de switcher sous le user root (su - ).
Les fichiers de traces ont tendance à croître fortement et à saturer les disques. Pour prévenir
cela, il y a plusieurs possibilités :
Il peut être intéressant d’avoir une console sur laquelle les logs défilent en direct. Cela permet de
voir en temps réel ce qui se passe au niveau du système, et donc de résoudre les éventuels problèmes
plus rapidement.
Editez le fichier de configuration de syslog.
# vi /etc/syslog.conf
Ajouter la ligne suivante : *.* /dev/tty12
Positonnez vous sur la console n°12, vous devez déjà voir une première ligne de texte qui vous
informe que syslog a redémarré.
logrotate est un script réalisant une permutation circulaire des fichiers de logs ou des répertoires
de log et permet ainsi de les archiver. Le nom des fichiers archives est construit sur le modèle suivant
/archives/2003/ssh/2003-01-01.gz.
Archive
Spécifies le répertoire d’archivage des logs.
Défaut : /archives
Date
Spécifies le répertoire de la commande date.
Exemple : /usr/local/bin/gdate
Défaut : date
Firstly
Exécute une commande avant le lancement.
Exemple : svc -d /service/mysql
Défaut : <nothing>
Finally
Exécute une commande après le lancement.
Exemple : svc -u /service/mysql
Défaut : <nothing>
Verbose
Fixer à « anything » et la permutation est en mode verbeux. Vous pouvez aussi utiliser
l’option -v lors du lancement du script.
La variable « logs » contient les labels qui indiquent les services à logger.
Par exemple :
logs="qmail mysql"
path_qmail=/var/log/qmail
files_qmail="send smtpd pop3d"
/var/log/qmail/send
/var/log/qmail/smtpd
/var/log/qmail/pop3d.
touch_xxx
logrotate créé le fichier après l’archivage et efface l’originale.
772725377.doc DSI – AGRICA
5 / 18
Impr. 30/09/2003 01:39:00 PM Département Réseau et Bureautique
CONFIDENTIEL [Informatique]
Documentations Techniques /
hup_xxx
Exécute une commande avant la permutation des fichiers.
Exemple: hup_apache="killall -1 httpd"
prefix_xxx
Sous répertoire de $archive où les logs sont permutées.
Exemple: prefix_qmail=qmail
Les logs qmail sont archivées sous /archives/year/qmail.
suffix_xxx
Ajoute au nom de fichier l’extension adéquate.
Exemple: suffix_qmail=.log
Les logs qmail sont archivées sous /archives/year/xxx.log.
5 - SCHÉMA D’ARCHITECTURE
6 - INSTALLATION
6 - 1 Le projet GNUwin.
6 - 1.1 PuTTY.
PuTTY est une implémentation libre des protocoles Telnet et SSH pour Windows. Un émulateur
de terminal compatible xterm est aussi inclus. Le paquetage PuTTY contient :
Cet outils sont déjà abordés dans le document : « Openssh : Outils libre d’administration à
distance sécurisée des serveurs Linux/Unix. ».
6 - 1.2 CygWin.
6 - 1.2.1 Définition.
CygWin, développé par Red Hat, (http://www.cygwin.org) est un environnement Unix complet
pour Windows. Il permet de se servir de très nombreux programmes Unix tel qu’un serveur graphique, un
certain nombre d’applications graphiques et la plupart des outils en ligne de commande (comme cvs par
exemple).
Seul l'installateur est fourni et permet de récupérer rapidement les paquetages depuis Internet.
Allez sur http://www.cygwin.com et cliquez sur l’icône Install Cygwin now qui se trouve en haut à
droite de la page. Téléchargez le fichier « setup.exe » et exécutez-le.
Le fichier contient le programme d’installation, mais pas Cygwin en lui-même.
Lancer le serveur X.
# startx
# ssh login@HOST
On obtient le prompt du serveur distant, toutes les commandes seront exécutées sur la machine
distante.
# ssh –X login@HOST
Identique à la commande précédente mais les interfaces graphiques seront affichée sur le client
NT et non plus sur la machine distantes.
6 - 1.3 FileZilla.
FileZilla est un puissant client FTP pour Windows 9x, ME, NT4, 2000 et XP. Il est conçu pour être
facile à utiliser et pour supporter autant de fonctions que possibles, tout en restant rapide et fiable.
Les fonctions principales de FileZilla :
6 - 2 Le projet SAMBA
6 - 2.1.1 Généralités.
SaMBa est un ensemble de programmes qui permettent de connecter à un serveur LINUX des
stations fonctionnant sous des systèmes divers : Windows 3.11, Windows 9x, Windows Nt, OS/2, Mac....
Il s'agit en fait de l'implémentation sur Unix, donc Linux, d'une émulation d'un serveur
LanManager, développé par Microsoft vers 1987, à partir d'une création d'IBM (1985).
Le serveur Linux est en mesure de se conduire comme un serveur de fichiers capables d'offrir les
services habituels sur un réseau :
Le serveur offre ses ressources (système de fichiers, imprimantes ...) aux clients Windows qui s'y
connecteront sous un compte créé par root, après une authentification par mot de passe.
Le travail est partagé pour 2 "deamons" : smbd pour le service serveur et nmbd pour le service
de résolution des noms Netbios.
Chaque demande de connexion par Samba, d'une station au serveur Linux, laisse une trace
stockée dans un fichier log.%m, situé dans le répertoire /var/log/samba (%m désigne le nom de la
station).
Toute connexion pourra donc être identifiée de manière précise puis examinée sur une ligne de
ce fichier :
nom d'utilisateur, nom de la machine, date, heure de début, heure de fin, services utilisés...
Samba peut implémente la sécurité au niveau de l'utilisateur, (ce qui est recommandé) et non au
niveau des ressources comme c'est le cas dans les réseaux de type WorkGroup.
De plus, les services liés à Samba sont contactés au travers de Xinetd ; un outils très puissant
pour le filtrage et la génération de log.
Dans notre cas, il ne s’agit pas de disposer d’un serveur de fichier complet mais de faciliter
l’administration de cette machine par un accès direct au File System depuis l’explorateur de Windows NT.
Il sera donc nécessaire de disposer d’un user avec les droits administrateurs sur le partage
Oracle. En effet l’administration des File System de l’OS sera réalisé par d’autres user tel que admin et
root (non connectable à distance).
Toutes les connections seront filtrées et loguées.
/etc/services
/etc/xinetd.conf
defaults
{
instances = 10
log_type = SYSLOG authpriv
log_on_success = HOST PID USERID DURATION EXIT
log_on_failure = HOST USERID RECORD
no_access = 0.0.0.0/0
cps = 25 30
per_source = 5
access_times = 7:00-19:00
}
includedir /etc/xinetd.d
/etc/xinetd.d/swat
service swat
{
port = 901
socket_type = stream
wait = no
#only_from = 127.0.0.1
#user = root
server = /usr/sbin/smbd
log_on_failure += USERID
disable = no
/etc/xinetd.d/netbios-ssn
service netbios-ssn
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/smbd
disable = no
}
/etc/xinetd.d/netbios-ns
service netbios-ns
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/nmbd
disable = no
}
/etc/samba/smb.conf
[global]
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = WORKGROUP
# Uncomment this if you want a guest account, you must add this to
/etc/passwd
# otherwise the user "nobody" is used
guest account = administrateur
# this tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/%m.log
syslog = 2
# Security mode. Most people will want user level security. See
# You can use PAM's password change control flag for Samba. If
# enabled, then PAM will be used for password changes when
requested
# by an SMB client instead of the program listed in passwd
program.
# It should be possible to enable this without changing your
passwd
# chat parameter for most setups.
# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
getwd cache = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
[cdrom]
comment = Cdrom Linux
path = /mnt/cdrom
public = no
writable = no
volume = "cdrom"
# smbpasswd –a administrateur
Relancer le service.
Réaliser un test de connection depuis un client NT sur les partage « oracle » et « cdrom ».
# smbpasswd –x username
# smbstatus
url : http://parker:901/
6 - 3 Conseils pratiques
# vi /etc/inittab
Supprimer la ligne :
Ajouter à la fin de la commande de lancement du kernel le mot « single » ainsi le lancement sera
de type single user.
# passwd root
# /sbin/shutdown –r now
# passwd root
Relancer le serveur
# /sbin/shutdown –r now
Rq :
Pour LILO graphique, il faut presser les touches ctrl x pour sortir du mode graphique et obtenir le
prompt « boot : »
Lancer « parted ».
# parted /dev/cciss/c0d0
Avant d'installer un système sur son ordinateur, il est nécessaire de faire le point sur l'organisation de ses
disques. On estime alors la taille, le nombre et le système de fichiers de chaque partition.
Malheureusement, ses choix sont souvent définitifs alors qu'on aimerait au bout d'un certain temps
pouvoir faire des changements et ce, sans pour autant tout réinstaller.
Il existait déjà un certain nombre d'utilitaires permettant de changer la taille d'une partition sans
reformater le tout. Partition Magic et Paragon Partition Manager sont les deux logiciels les plus connus.
Bien sûr, il existe aussi FIPS pour Dos. Voici à présent un outil sur lequel on pourra compter : GNU
Parted.
Comme son nom l'indique, il s'agit d'un logiciel libre. La toute récente version 1.0.0 permet de créer,
effacer, redimentionner, vérifier et copier des partitions et le système de fichiers qu'elles possède. Pour
l'heure, les types FAT16, FAT32 et ext2 sont supportés, ce qui permet déjà pas mal de choses.
Préparation
Avant de vous lancer à corps perdu dans les manipulations, il vous faut comprendre un certain nombre
de choses. Dans le cas contraire, vous risquez des pertes de données importantes. Parted est conçu, de
base, dans l'optique selon laquelle le risque d'une perte de données doit être le plus minime possible.
Ainsi, même s'il survient une coupure d'alimentation durant une opération, il doit être possible de
récupérer les données. Bien sûr, cette conception n'empêchera pas les erreurs de manipulation.
La première condition pour pouvoir agir sur un système de fichiers est qu'il ne soit pas monté. Si vous
désirez, par exemple, agir sur votre partition racine, démarrez sur une disquette système GNU / Linux
comprenant l'exécutable parted. N'oubliez pas le chargeur. Il faut bien comprendre qu'en agissant sur
une partition, vous modifiez la table de partition du disque. Il vous faudra donc réinstaller le chargeur
(LILO, Grub, NT-bootloader).
La géométrie des disques doit être correcte. Le BIOS (premier programme à être exécuté au démarrage)
détecte un nombre de cylindres, de têtes et de secteurs pour chaque disque dur. Ces valeurs sont
habituellement correctement détectées par Linux mais il peut arriver qu'on soit obligé de renseigner le
kernel à la main (ligne append="hda=xxx,xxx,xxx" du lilo.conf). Vérifiez plutôt deux fois qu'une que cela
est bien en ordre. Méfiez-vous des partitions FAT compressées. Si vous utilisez DoubleSpace ou
DriveSpace sur certains disques, il faut prendre en compte certaines obligations. Lisez attentivement le
fichier README livré avec Parted.
Utilisation
Parted est un utilitaire fonctionnant en mode console. Son lancement se fait par une ligne comme :
# parted PERIPH
Où PERIPH est le disque sur lequel vous désirez opérer (par exemple, /dev/hdb). Vous entrez alors dans
le mode interactif depuis lequel vous pourrez taper des commandes propres à Parted. Voici les
commandes utilisables (MINEUR désigne le numéro de la partition, 1 pour hdb1, 2 pour hdb2, etc) :
boot MINEUR désigne MINEUR comme étant bootable.
check MINEUR provoque une vérification de la partition.
cp MINEUR1 [PERIPH] MINEUR2 copie le contenu de MINEUR sur une autre partition (MINEUR2) ou
une autre partition sur un autre disque (PERIPH MINEUR2).
hide MINEUR permet de cacher la partition MINEUR.
unhide MINEUR permet de monter (décacher) la partition MINEUR.
mkfs MINEUR TYPE crée un système de fichiers de type TYPE sur MINEUR. TYPE peut être fat, ext2 ou
linux-swap.
mkpart TYPEP TYPEFS DEBUT FIN crée une partition commençant au cylindre DEBUT jusqu'au
cylindre FIN, de type TYPEP (primary, logical ou extended) pour un système de fichiers TYPEFS (fat,
ext2 ou linux-swap).
mkpartfs TYPEP TYPEFS DEBUT FIN combine l'utilisation de mkpart et mkfs en créant une partition et
un système de fichiers.
resize MINEUR DEBUT FIN redimensionne MINEUR pour qu'elle commence au cylindre DEBUT et
s'étende jusqu'à FIN.
rm MINEUR supprime la partition MINEUR.
print affiche les informations courantes sur le disque.
help COMMAND affiche une aide à propos de COMMAND.
quit permet de quitter Parted.
Il faut bien comprendre que Parted va encore s'améliorer au fil du temps. En effet, certaines choses lui
sont encore impossibles ou nécessitent des opérations manuelles. Citons par exemple la copie de
7 - TROUBLESHOOTING
Problèmes Solutions
Le serveur X n’est pas configuré pour le L’outils SETUP est une solution rapide et simple.
périphérique attribué.
9 - RÉFÉRENCE DOCUMENTAIRES
(1) http://gnuwin.epfl.ch/apps/fr/index.html
(2) W:\09_Doc.et.Procédure\linux\formation-linux.pdf
10 - G L O S S A I R E
Chiffrement :
Procédé grâce auquel on peut rendre la compréhension d'un document impossible à toute
personne qui n'a pas la clef d'encodage. Les méthodes les plus connues sont le DES et le RSA. L'usage
de PGP (Pretty Good Privacy), un logiciel de chiffrement disponible sur l'Internet, a longtemps été interdit
en France, car considéré comme une arme de 5ème catégorie.
Un système de chiffrement est dit « Symétrique » quand il utilise des clés privées. Il est «
Asymétrique » quand il utilise des clés publiques.
Rq : Il s’agit du terme correct, cryptage étant un anglicisme.
rlogin :
RSA :
Rsh :
Remote SHell. Programme permettant de faire tourner un shell à distance, via TCP/IP. Il fait
partie des r-utilities et est peu sécurisé. On lui préférera les protocoles de type ssh.
Sécure Shell :
Shell permettant de se connecter de façon sécurisée sur une machine distante et d'y exécuter
des programmes, toujours de façon sécurisée, via l'utilisation de divers algorithme de chiffrement Il est
destiné à remplacer telnet, rsh ou rlogin.
r-utilities :
Ensemble d'utilitaires de communication basés sur le protocole TCP/IP. Leurs noms commencent
en général par « remote » (i.e. à distance) d'où le « r ».
Exemples : rlogin, rcp, rcmd.
Shell :
Littéralement : Coquille. Il s’agit d’un interpréteur de commandes (partie de l’OS utilisé comme
interface avec l'utilisateur (d'où son nom)). Originellement utilisé sous Unix, il s'est répandu un peu
partout depuis. Sa forme la plus simple est sh. Elle a été étendue au fil des années pour donner bash,
csh, ksh, tcsh (et bien d'autres).