Préparation dʼun disque dur externe USB neuf destiné à stocker les sauvegardes locales.
Avant de relier le disque à lʼordinateur et afin de connaître lʼidentifiant matériel du disque nécessaire par la suite, observer en temps réel les opérations sur le système :
tail -f /var/log/messages
Lorsque le disque sera branché au connecteur USB, une ligne devrait apparaître avec lʼidentifiant du matériel :
sd 11:0:0:0: [sda] Attached SCSI disk
Créer une partition avec lʼoutil Cfdisk :
cfdisk /dev/sda
- Se déplacer sur New
- choisir Primary
- Entrée
- choisir Write
- taper “yes”
- choisir Quit
Formater la partition avec le système de fichier EXT3 (pour des sauvegardes à partir dʼun ordinateur Linux) :
mkfs.ext3 /dev/sda1
Configurer les contrôles dʼintégrité du disque (opération non recommandée par la documentation) :
tune2fs -c 0 /dev/sda1
tune2fs -i 0 /dev/sda1
Autoriser lʼutilisateur à sauvegarder les données sur ce disque :
chown utilisateur:utilisateur -R /media/usb01
La commande df affiche un disque occupé à 100% ainsi qu’un espace disponible de 0 B alors que le volume de données indiqué comme présent sur le disque est inférieur à sa capacité initiale. Ceci qui peut rendre impossible le lancement d’une session utilisateur. Seul le compte root semble pouvoir se connecter au bureau KDE.
L’erreur de calcul des volumes occupés et disponibles est dû à la réservation d’un espace dédié au compte root. Il est possible de limiter cette allocation à un minimum de 1% sur un disque volumineux (1% de 500go représentant par exemple une marge confortable).
tune2fs -m1 /dev/hda1
df devrait maintenant afficher un espace disque libre en accord avec la réalité.
Il reste possible d’accéder au compte root d’une machine Linux dont le mot de passe serait oublié. Il ne s’agit pas ici d’une récupération du passe mais de son remplacement.
Avec Debian :
- relancer l’ordinateur
- à l’étape de chargement de Grub, mettre en surbrillance la seconde option du noyau utilisé habituellement, celle proposant le single-mode
- appuyer sur e pour éditer la ligne correspondante
- sélectionner la commande contenant “vmlinuz” et l’éditer avec e
- vérifier la présence ou ajouter “single init=/bin/bash” en fin de ligne
- valider avec Entrée
- lancer le boot avec b
- ceci devrait poursuivre le chargement du système et aboutir à une invite de commande sous le compte root
- rendre le système accessible avec “mount -o remount, rw /”
- modifier ensuite le passe root avec passwd
- re-démarrer la machine : reboot
Ne pas tenir compte de la casse typographique (caractères majuscules / minuscules) :
grep -i 'aBCdefG'
Rechercher plusieurs termes au choix (condition OU / OR) :
grep -E 'aaaa|bbbb|cccc'
Tous les N démarrages du système, un contrôle de l’intégrité du disque par Fsck est imposé. Ceci a pour effet de rendre le poste de travail ou le serveur inutilisable durant le test du système, de quelques minutes à plusieurs dizaines de minutes selon le volume des disques.
L’alerte affichée correspond à
/dev/sda1 has been mounted 111 times without being checked, check forced
ou
/dev/sda1 has gone 111 days without being checked, check forced
Bien que cela ne soit pas recommandé par la documentation, il est possible de désactiver cette fonctionnalité.
Obtenir la configuration actuelle :
dumpe2fs -h /dev/sda1 | grep -Ei 'mount count|check interval'
dumpe2fs 1.41.3 (12-Oct-2008)
Mount count: 3
Maximum mount count: 34
Check interval: 15552000 (6 months)
3 démarrages ont eu lieu depuis le dernier contrôle qui intervient tous les 34 lancements de la machine ou tous les 6 mois.
Désactiver le contrôle forcé :
tune2fs -c 0 /dev/sda1
tune2fs -i 0 /dev/sda1
Modifier le paramètre -c (compteur) et -i (intervalle de temps) à la valeur 0 aura pour effet de ne plus lancer le test automatique.
Il est aussi possible de choisir une autre valeur afin de réduire ou d’espacer les tests.
Un contrôle régulier de l’état des disques reste possible avec la commande suivante à activer avant le re-démarrage du système :
touch /forcefsck
reboot
L’outil Apticron offre la possibilité de lister quotidiennement les nouveaux paquetages habituellement disponibles avec la commande aptitude upgrade sous forme d’e-mail.
aptitude update
aptitude install apticron
Modifier l’adresse e-mail vers laquelle envoyer les messages d’information :
sed -i 's/EMAIL="root"/EMAIL="contact@example.com"/' /etc/apticron/apticron.conf
Installation de l’outil Nikto :
aptitude install nikto
Mise à jour de ses données de test :
nikto -update
Analyse du serveur Apache correspondant à un domaine :
nikto -h www.example.com
Après quelques instants, le résultat obtenu listera les alertes et informations relatives aux différents tests menés par Nikto sur le serveur :
---------------------------------------------------------------------------
- Nikto 2.02/2.03 - cirt.net
+ Target IP: 111.222.333.444
+ Target Hostname: www.example.com
+ Target Port: 80
+ Start Time: 2009-11-11 11:11:11
---------------------------------------------------------------------------
+ Server: Apache/2.2.9 (Debian) PHP/5.2.11-0.dotdeb.1 with Suhosin-Patch
- Allowed HTTP Methods: GET, HEAD, POST, OPTIONS, TRACE
+ OSVDB-877: HTTP method ('Allow' Header): 'TRACE' is typically only used for debugging and should be disabled. This message does not mean it is vulnerable to XST.
+ OSVDB-877: TRACE / : TRACE option appears to allow XSS or credential theft. See http://www.cgisecurity.com/whitehat-mirror/WhitePaper_screen.pdf for details
+ OSVDB-3268: GET /icons/ : Directory indexing is enabled: /icons
+ OSVDB-3233: GET /icons/README : Apache default file found.
+ 2967 items checked: 5 item(s) reported on remote host
+ End Time: 2009-10-20 9:50:09 (10 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested
Les alertes présentées ici correspondent à celle d’un serveur Apache nouvellement installé et ne représentent pas de faille de sécurité directes.
Lors d’un aptitude update :
W: GPG error: http://www.example.com lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1A2B3C4D5E6F7G8H
W: You may want to run apt-get update to correct these problems
Il manque donc une clé GPG sur la machine qui tente d’accéder au dépôt d’applications.
Afin de l’ajouter aux clés prises en charge par GPG, importer la clé manquante :
gpg --keyserver subkeys.pgp.net --recv 1A2B3C4D5E6F7G8H
gpg --export --armor 1A2B3C4D5E6F7G8H | sudo apt-key add -
Mettre Aptitude à jour :
aptitude update
Lister tous les répertoires mais exclure ceux nommés “config” :
find . -type d ! -iname "config"
Lister tous les répertoires mais exclure ceux nommés “config” et ceux dont le nom débute par un point :
find . -type d ! -iname "config" ! -iname ".*"
Lister tous les répertoires mais exclure ceux dont le nom débute par un point ainsi que tous leurs sous-répertoires (placer le print en fin de commande) :
find . -path '.*/.*' -prune -o -type d -print
Remplacer le texte aaaa par bbbb une fois par ligne dans un fichier :
sed -i s/aaaa/bbbb/ fichier.txt
Remplacer le texte aaaa par bbbb plusieurs fois de façon globale :
sed -i s/aaaa/bbbb/g fichier.txt
Remplacer les caractères spéciaux par des sauts de lignes réels :
sed -i 's/\r\n/rn/g' fichier.txt
Insérer le texte aaaa en première ligne du fichier :
sed -i '1iaaaa' fichier.txt
Remplacer le texte aaaa par plusieurs lignes :
sed -i 's/aaaa/bbbb\
cccc\
dddd\
eeee/g' fichier.txt
Ajouter le texte en fin d’une ligne contenant un motif :
sed -i '/motif/s|$|ajout|' fichier.txt