FPLinux.com

Reprenez le contrôle de votre liberté

Suite de la sécurisation

Nous n'en avons pas fini avec la sécurisation. En effet, pour l'instant nous n'avons qu'un pare-feu pour nous protéger. Bien que cette protection, en soit est déjà très efficace, il y a moyen de mieux faire.

Mises à jour

En effet, les mises à jours sous GNU/Linux sont vitales. Si jusque là vous n'étiez pas connecté, il est grand temps de les faire. Dans le système de base, seul "root" est habilité à cette opération:

$ su
# apt-get update
# apt-get upgrade

Il se peut qu'à l'issu de la première mise-à-jour le système vous suggère de re-démarrer la machine. Cela vient du fait que le noyau ou la librairie "glibc" a bénéficié d'une correction. En effet dans tous les autres cas le système gère les mises-à-jour en totale transparence. Pour redémarrer, c'est toujours en tant que "root" que l'opération doit s'effectuer:

# reboot

Installation sudo

je ne sais pas si vous avez remarqué mais, jusque là, à chaque fois que nous effectuer une opération d'administration, il nous fallait auparavant devenir "root" à l'aide de la commande "su".  Cette façon de procéder provoque malheureusement une faille: en effet, un hacker peut parfaitement profiter du moment ou l'utilisateur est logué en tant que "root" sur la machine pour profiter des droits étendus qui sont accordés à ce dernier.

Il existe une méthode qui permet de palier à cette faille. Elle consiste tout simplement à permettre à certains utilisateurs de lancer les commandes d'administration à travers un utilitaire spécial appelé "sudo". Pour comprendre la différence c'est relativement simple:

  • par la méthode "su": on devient "root" pendant un moment et donc durant ce temps la machine est désécurisée puisque "root" a tous les droits. Un hacker éventuel se retrouve donc avec les mêmes droits que "root" et peut faire ce qu'il veut.
  • par la méthode "sudo": on est toujours connecté en tant que l'utilisateur standart mais on demande à "sudo" de faire exécuter par "root" une commande précise. Seule cette commande bénéficie donc des droits "root" et le hacker ne bénéficiera pendant ce temps-là que des droits de l'utilisateur.

La question pourrait se poser de savoir pourquoi nous n'avons pas mis en place une telle sécurisation au moment de l'installation. En effet, rappelez-vous que la procédure d'installation proposait de le faire. La réponse est simple: il se trouve que "sudo" ne permet pas toutes les opérations. Aussi est-il conseillé d'opter pour un mixe des deux méthodes: on utilise "sudo" préférentiellement mais on garde sous le coude gauche la possibilité d'une véritable connexion en tant que "root" pour les cas extrêmes.

Pour installer "sudo" c'est assez simple:

$ su
# apt-get install sudo

Une fois l'installation de "sudo" terminé, il reste une dernière opération à faire: inscrire les utilisateurs agréés à l'administration du système dans le groupe "sudo". Par exemple, rajoutons l'utilisateur "franck":

# adduser franck sudo

Pour que la modification soit prise en compte il nous faut opérer à un reboot du système:

# reboot

Une fois la machine re-démarrée, "franck" aura la possibilité d'opérer au opérations d'administrations avec "sudo":

$ apt-get update
Lecture des listes de paquets... Fait
W: chmod 0700 of directory /var/lib/apt/lists/partial failed - SetupAPTPartialDirectory (1: Opération non permise)
E: Impossible d'ouvrir le fichier verrou /var/lib/apt/lists/lock - open (13: Permission non accordée)
E: Impossible de verrouiller le répertoire /var/lib/apt/lists/
W: Problème de suppression du lien /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission non accordée)
W: Problème de suppression du lien /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission non accordée)
$ sudo apt-get update
[sudo] Mot de passe de franck:
Ign:1 http://ftp.fr.debian.org/debian stretch InRelease
Ign:2 http://dl.google.com/linux/chrome/deb stable InRelease
Réception de:3 http://security.debian.org/debian-security stretch/updates InRelease [63,0 kB]
Atteint:4 http://ftp.fr.debian.org/debian stretch-updates InRelease
Atteint:7 http://ftp.fr.debian.org/debian stretch-backports InRelease
Atteint:10 http://ftp.fr.debian.org/debian stretch Release
63,0 ko réceptionnés en 1s (33,2 ko/s)
Lecture des listes de paquets... Fait

Notez dans la sortie ci-dessus que lorsque "franck" a tapé la commande avec "sudo", son mot de passe lui a été demandé. Par la suite, "sudo" ne demandera le mot de passe que seulement si aucune commande "sudo" n'aura été exécuté depuis un certain temps. Il est possible de réduire ce temps ou de le rallonger. pour cela, il faut éditer le fichier "/etc/sudoers". ATTENTION, celui-ci ne peut s'éditer qu'avec un éditeur spéciale, "visudo":

$ sudo visudo

Recherchez dans le fichier la ligne:

Defaults        env_reset

Rajoutez à cette chaîne, après un caractère "," une instruction "timestamp_timeout=XX" ou "XX" représente le délais entre deux demandes de mots de passes en minutes. Par exemple, pour un délais de 10 mn, la ligne deviendra:

Defaults        env_reset,timestamp_timeout=10

Sauvegardez ensuite votre fichier (combinaison touches <Ctrl>+<X>) puis relancez le système.

NOTA: il est également possible de supprimer la demande de mot de passe. Je ne donnerai pas ici la marche à suivre car ce n'est pas du tout conseillé. Les masochistes devront donc se référer à la doc officielle. 

Mise en place d'une console de log

Un système GNU/Linux permet de lancer plusieurs consoles en même temps, accessibles chacune à l'aide d'une combinaison de touches <Alt>+<touche fonction>: par exemple la troisième console (denommé "tty3") est acccessible à l'aide de <Alt>+<F3>. La console "tty7" est spéciale car elle est réservée par défaut à l'utilisation du bureau.

Il est possible de réserver l'une des console (dans notre exemple la console "tty8") à une surveillance des journaux de logs afin d'avoir une idée précise de ce qu'il se passe sur la machine en temps réel. Pour cela, nous utilisons l'outil de gestion des log "rsyslog". Celui-ci est en principe déjà installé sur la machine. Vous devriez donc avoir déjà,, dans le répertoire "/etc", un dossier "rsyslog.d". Allez dans ce dossier et créez-y un fichier "conf_tty8.conf":

$ sudo nano /etc/rsyslog.d/conf_tty8.conf

Rajoutez dans ce fichier les lignes suivantes:

daemon,mail.*;\
       news.=crit;news.=err;news.=notice;\
       *.=debug;*.=info;\
       *.=notice,*.=warn       /dev/tty8

Sauvegardez le fichier à l'aide de la combinaison <Ctrl>+<X> puis relancez le service rsyslog:

$ sudo service rsyslog restart

En basculant sur la console "tty8" (à l'aide de la combinaison <Alt>+<F8>) vous constaterez que chaque événement enregistré par "rsyslog" s'y inscrit. Pour revenir sur la console de départ, c'est le même principe: <Alt>+<F1>. A tout moment vous pourrez donc venir sur cette console pour aller voir ce qu'il se passe sur votre machine.

Il est encore possible d'améliorer la sécurisation de votre machine. Pour l'instant nous allons nous contenter de cela. 

 

 

Fanch33

 

 

Précédent: Connexion au réseau Suivant: Un peu de configuration

 

«

Laissez un commentaire