Sécurisation système et réseau
Politique d’authentification
L’authentification sur un système Linux ne concerne pas uniquement une personne physique. On trouve à la fois des utilisateurs et des applications, chacun de ces deux types d’acteur ayant sa propre méthode de demande d’authentification. Les bibliothèques PAM (Pluggable Authentication Modules, modules d’authentification enfichables) apportent un mécanisme d’authentification simple, souple et unifié.
1. Modules PAM
a. Principes
PAM décrit la manière de développer des programmes indépendamment de la vérification de l’identité. Ces programmes utilisent pour cela des modules qui se chargent de la demande d’exécution. Une politique d’authentification peut, par exemple, autoriser un simple utilisateur à exécuter une commande en local, mais pas à distance.
L’identification se rapporte au login et l’authentification se vérifie par la saisie du mot de passe de l’utilisateur. En cas de changement de type d’authentification, tous les programmes s’y rapportant doivent être modifiés pour le nouveau fonctionnement.
C’est ce que simplifie PAM : les directives des interfaces de modules s’additionnent avec un ordonnancement suivant l’ordre de déclaration.
Modifier sans précaution le mécanisme d’authentification sur un système aboutit parfois à son blocage. Soyez prudent et attentif, sinon la seule ressource sera de vous connecter en mode « rescue » (voir le chapitre Support et dépannage) afin de remettre les bons fichiers de configuration PAM.
b. Configuration et structure des fichiers
Les nombreux modules PAM se situent dans les répertoires /lib/x86_64-linux-gnu/security/, le fichier de configuration générale...
Pare-feu avec UFW
Netfilter est un logiciel de filtrage réseau. Il permet le filtrage et l’enregistrement de paquets réseau et la translation d’adresses (NAT, Network Adress Translation). Il est généralement associé à nftables (le successeur de iptables). Ce dernier étant un peu compliqué pour l’utilisateur lambda, ou même un peu avancé, les développeurs de la distribution Ubuntu ont décidé de créer un outil en ligne de commande permettant de configurer plus simplement Netfilter.
UFW (Uncomplicated FireWall) est un frontal pour netfilter et nftables. Il ne les remplace pas, il permet de créer à votre place des règles Netfilter. Il n’y a qu’une seule commande à utiliser : ufw. Bien entendu, les commandes suivantes doivent être exécutées en tant que root, soit directement, soit depuis sudo.
1. Activation et statut
Vous activez UFW avec le paramètre enable, comme ceci :
# ufw enable
Le pare-feu est actif et lancé au démarrage du système.
UFW est démarré par systemd. Le script de démarrage va vérifier l’état d’activation de UFW pour charger les règles ou non. Le service UFW doit toujours être actif : c’est l’appel à la commande ufw qui détermine s’il doit fonctionner ou non.
L’état actuel est obtenu avec le paramètre status. Dans l’exemple suivant, une règle est déjà présente (celle de l’accès au Freebox Player du FAI français Free).
# ufw status
État : actif
Vers Action Depuis
---- ...
OpenSSH
1. Présentation
OpenSSH est un protocole de shell sécurisé, un mécanisme qui permet l’authentification sécurisée, la connexion et l’exécution à distance. Il permet aussi le transport sécurisé du protocole X Window. Il est capable d’encapsuler des protocoles non sécurisés en redirigeant les ports. L’utilisation la plus commune reste l’accès distant sécurisé à une machine via le client SSH.
Les paquets à utiliser pour un serveur sont openssh-client et openssh-server. Pour X, on rajoute ssh-askpass-gnome. Installez le paquet pour serveur.
2. Configuration
La configuration est stockée dans le fichier /etc/ssh/sshd_config (à ne pas confondre avec ssh_config). Quelques options sont éventuellement à modifier :
-
Port : le numéro de port, par défaut 22. Modifiez si vous souhaitez autoriser la connexion sur un autre port.
-
Protocol : si fixé à « 2,1 », il autorise SSH1 et SSH2. On préférera SSH2 et donc on laissera la valeur 2 seule.
-
ListenAddress : par défaut, SSH écoute sur toutes les IP du serveur. On peut autoriser uniquement l’écoute sur une interface donnée.
-
PermitRootLogin : SSH autorise les connexions de root en mode commande (pas d’authentification interactive). On peut placer la valeur à no. La connexion en tant que root sera interdite. Dans ce cas, il faudra se connecter en simple utilisateur et passer par su.
-
Banner : chemin d’un fichier dont le contenu sera affiché aux utilisateurs lors de la connexion.
Le serveur SSH est activé et démarré ainsi :
# systemctl enable --now ssh
3. Utilisation
La commande ssh permet d’établir une connexion. Voici la commande :
ssh -l login host
ou :...
Partage de fichiers
1. Partage webdav
Un utilisateur dispose de la possibilité de partager un espace de son répertoire sur le réseau. Il existe déjà d’ailleurs un répertoire nommé Public dans le dossier personnel. Ce partage se fait par webdav. Ce protocole repose sur le protocole http et donc utilise le port 80 pour le transfert, port généralement ouvert par les pare-feu. Il ouvre donc le partage au-delà du réseau local d’un particulier ou d’une entreprise.
Pour activer les partages de fichiers sur le réseau, installez le paquet additionnel gnome-user-share (les paquets apache et libapache2, entre autres, seront installés).
Ouvrez les Paramètres. Dans la section Partage, activez le partage (en haut à droite). Si vous avez installé un serveur ssh, le service de partage sera déjà activé.
Cliquez sur Partage de fichiers et autorisez le partage en bas dans la section Réseaux. Notez l’adresse réseau à communiquer aux autres machines. Demandez l’authentification.
Les modifications sont immédiates. Pour vérifier le fonctionnement, depuis une autre machine par exemple :
Allez dans le gestionnaire de fichiers et cliquez sur Autres emplacements. Dans la section Réseaux, la machine partagée apparaît.
Le partage est activé. Vous pouvez partager d’autres dossiers de manière similaire.
2. Partage Samba
Samba permet le partage de fichiers et d’imprimantes sur un réseau local pour de multiples plateformes : Linux, Windows, Mac OS X… C’est donc un paquet indispensable ! Samba permet entre autres de partager des fichiers via le protocole CIFS utilisé par Windows. C’est un protocole qui va vous permettre un partage dans un parc hétérogène...