Systèmes - Ubuntu Server 26.04

Contient les procédures liées aux systèmes Ubuntu Server 26.04.

Ubuntu Server - Activer l'IP forwarding (iptables)


image.png

Difficulté : Intermédiaire


Notions : Réseau, routage, linux, Gateway.


 

I. Introduction

Cette procédure à pour but de montrer comment activer l'ip forwarding sur ubuntu pour s'en servir de passerelle entre deux réseaux.

Prérequis : au moins 2 interfaces réseaux. Physiques ou virtuelles.


II. Activer l'IP Forwarding

2.1 Vérifier le status


Pour vérifier le status actuel de l'ip forwarding, entrer la commande :

sysctl net.ipv4.ip_forward

image.png

Une valeur à 0 signifie qu'il n'est pas actif. 1 signifie qu'il est actif.

2.2 Activer l'ip Forwarding temporairement

Pour activer l'ip Forwarding temporairement :

sudo sysctl net.ipv4.ip_forward=1

image.png

Attention : cette modification sera désactivée au prochain redémarrage.

2.3 Activer l'ip Forwarding De manière permanente :

Editer le fichier '/etc/sysctl.conf' et dé-commenter la ligne suivante :

image.png

Enregistrer le fichier et redémarrer.


III. Ajouter la règle de passage

Le module étant maintenant activé, pour permettre au réseau interne de sortir, il faut ajouter une règle IPtables.

Pour cela exécuter la commande suivante :

iptables -t nat -A POSTROUTING -s <source> -o <interface de sortie> -j MASQUERADE

-t est la table de règle où la règle sera ajoutée. Ici NAT.

-A Spécifie l'Ajout de règle dans la chaîne POSTROUTING.

-s est la source à natter. Peux être une interface, une IP, un réseau CIDR.

-o est la destination du NAT.

-j MASQUERADE spécifie que les paquets sortants seront réécrits avec l'IP de la carte réseau de sortie. Les réponses seront retraduites vers l'ip source.

Exemple : iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens33 -j MASQUERADE

Avertissement : Les règles IPtables ne sont pas persistentes non plus par défaut. Il faudra donc utiliser soit le package iptables-persistent soit ufw présent par défaut sur le système depuis ubuntu 20.04.

Ubuntu Server - Ajouter un disque/volume (cfdisk)

image.png

Difficulté : Intermédiaire


Notions : Ubuntu, CLI, partitions, formatage, points de montage.


I. Introduction

Cette procédure à pour but d’expliquer la détection, le partitionnement, le formatage et le montage d’un nouveau disque sur Ubuntu Server.

Afin de sécuriser l’installation et optimiser les performances, il peut être nécessaire et dans tous les cas conseillé, d’installer les applicatif sur des emplacements indépendants du système.

Et pour ce faire, l’idéal est d’utiliser un disque à part.

Cela permettra le transfert de ce disque vers un nouveau serveur en cas de migration à l’avenir ou son partage entre serveurs.


II. Détecter les disques

Détecter les disques avec la commande suivante : 

lsblk

image.png

Ici, le disque recherché est le ‘sdb’. Le seul de type ‘disk’ ne contenant pas de partitions.


III. Créer la table de partitions

Il faut donc créer la partition et la table de partition avec l’outil cfdisk.

cfdisk /dev/sdb

Sélectionner le type de partition ‘gpt’ et faire Entrer.

image.png

Sélectionner ‘New’ puis faire Entrer.

image.png

Sélectionner toute la taille disponible et faire Entrer.

image.png

image.png

Valider l'écriture de la table de partition avec ‘Write’.

image.png

Confirmer en tapant ‘yes’ et valider.

image.png

Noter le nom de la nouvelle partition (ici : /dev/sdb1).

Puis quitter avec ‘Quit’.

image.png


IV. Formater le disque

Il faut maintenant formater la partition pour pouvoir l’utiliser.

mkfs.ext4 /dev/<Partition>

image.png


V. Monter le disque

5.1 Montage 'one time'

Afin de tester que le disque est prêt à être utilisé. Il est possible de le monter manuellement avec la commande : 

mount <volume> </point/de/montage>

image.png

Vérifier notamment la présences de ‘Lost+Found’.

image.png

Pour démonter ensuite le volume : umount <volume>

5.2 Montage persistant

Pour que le volume soit monté au démarrage, il faut l’ajouter dans le fichier ‘fstab’.

Éditer le fichier :

vi /etc/fstab

image.png

Ajouter a la fin la ligne suivante en séparant chaque bloc avec des tabulations :

<volume>  <point de montage>  ext4  defaults,auto,_netdev 0 0

image.png

Sauvegarder et quitter. Puis redémarrer la machine.

reboot

Ubuntu server - authentification SSH par clés

image.png

Difficulté : Intermédiaire


Notions : SSH, chiffrement, PKI, clé



I. Introduction

Cette procédure vise à expliquer la mise en place de l'authentification par clé en complément, ou remplacement, de l'authentification par mot de passe.

Celle-ci renforce la sécurité pour l'administration du parc car elle ne nécessite plus d'échange de mot de passe pour l'authentification.


II. Création du couple de clé

Côté poste d'administration, se connecter avec l'utilisateur qui devra prendre la main sur les machines distante.

Utiliser la commande suivante pour générer un lot de clé :

ssh-keygen

Après le lancement, une série de question seront posées :

image.png

Les clés sont alors générées.

image.png


II. Installation sur le serveur

Il va ensuite falloir copier la clé publique (celle finissant pas .pub) sur les machines où il sera nécessaire de se connecter.

2.1 Vérifications préalables

Sur les machines de destinations, il faut s'assurer que le dossier '.ssh' existe dans le répertoire 'home' de l'utilisateur.

Si ce n'est pas le cas, le créer.

Info : Il est important que les droits soient bien définis sur le répertoire .ssh et la clé copiée. Sinon la connexion SSH échouera car le serveur jugera que la clé est mal protégée et a pu être altérée.

cd ~
mkdir .ssh && chmod 700 .ssh

image.png

Puis créer le fichier 'authorized_keys' qui contiendra les clé autorisées pour cet utilisateur.

touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

image.png

Il sera également nécessaire de dé-commenter la ligne du fichier '/etc/ssh/sshd_config' afin d'autoriser le login par clé :

image.png

Puis relancer le service avec :

service ssh restart

2.2 Copier la clé

La méthode varie selon le client.

Depuis un linux

Utiliser la commande suivante pour pousser la clé sur le client :

ssh-copy-id <utilisateur>@<ip ou hostname>

 

Si c'est la première connexion, il est demandé si le serveur de destination doit être ajouté aux serveurs connus de confiance.

Répondre 'yes'.

image.png

 

Puis, lorsque demandé, saisir le mot de passe du compte pour se connecter au serveur.

image.png

 

La clé à été normalement ajouté au store du serveur et est visible dans le fichier '~/.ssh/authorized_keys'.

image.png

Depuis un windows

Sur windows, la commande 'ssh-copy-id' n'existe pas. Il faudra donc copier cette clé manuellement sur le serveur.

Pour cela, ouvrir un cmd, puis afficher le contenu du fichier de la clé publique.

image.png

 

Copier le contenu de cette clé dans le presse papier. Puis utiliser la commande suivante pour exécuter une commande distante sur le serveur linux :

ssh -t <user>@<ip ou hostname> "(echo '<lacléssh>' >> ~/.ssh/authorized_keys)"

image.png

Dans les deux cas, il est possible de vérifier l'ajout des clés avec :

cat ~/.ssh/authorized_keys

image.png


III. Connexion et sécurisation

3.1 Connexion

Se connecter au serveur avec la commande habituelle.

ssh <user>@<ip ou hostname>

Aucun mot de passe n'a été demandé (sauf si une passphrase a été créée pour la clé, auquel cas c'est elle qui sera demandée).

image.png

3.2 Sécurisation

Pour aller plus loin, il est possible de désactiver purement et simplement la connexion par login/mot de passe.

Pour cela, modifier le fichier '/etc/ssh/sshd_config'. Et dé-commenter puis changer l'option correspondante comme suit :

image.png

Puis relancer le service avec :

service ssh restart

Ainsi, seul le login par clé sera autorisé sur le serveur.

Ubuntu Server - Gérer les volumes avec LVM

image.png

Difficulté : Intermédiaire


Notions : Ubuntu, CLI, partitions, formatage, points de montage.


I. Introduction

Cette procédure à pour but d’expliquer la détection, le partitionnement, le formatage et le montage d’un nouveau disque sur Ubuntu Server en utilisant LVM.

LVM (Logical Volume Manager, ou gestionnaire de volumes logiques en français) permet la création et la gestion de volumes logiques sous Linux. L'utilisation de volumes logiques remplace en quelque sorte le partitionnement des disques. C'est un système beaucoup plus souple, qui permet par exemple de diminuer la taille d'un système de fichier pour pouvoir en agrandir un autre, sans se préoccuper de leur emplacement sur le disque.

lvm.jpg

Il permet notamment de redimensionner les partitions de disques sans reformatage. Il permet également de rajouter des disques à la volée.

Avantages de LVM

Inconvénients de LVM

Pré-requis

Il est possible d'utiliser LVM sur des volumes raid logiciels : Ubuntu Server - Paramétrer le RAID Logiciel


II. Détecter les partitions

Pour avoir un status actuel de l'utilisation des disques et partitions :

df -H
image.png
Ici, l'on voit qu'il reste 4Go sur le '/'. Ce qui sera insuffisant pour installer certains paquets.

Il faut donc ajouter de l'espace disque.

Le disque a ici été agrandi de 10Gb.

Un nouveau disque de 20Gb a été ajouté.

Détecter les disques et partitions avec la commande suivante : 

lsblk

image.png


III. Initialiser le Nouveau Volume

3.1 Initialiser le volume physique

Initialiser le volume physique avec lvm :

pvcreate /dev/sdb

image.png

Il est maintenant possible de voir les deux volumes physiques.

pvdisplay

image.png

3.2 Initialiser le volume group

Initialiser le volume group avec la commande :

vgcreate <nomDuVG> /dev/sdb

image.png

3.3 Initialiser le volume virtuel

Créer le volume et lui attribuer l'espace :

lvcreate -n <nom> -L <tailleAvecUnité> <volumeGroupName>

image.png

image.png

3.4 Formater le volume

Utiliser la commande suivante :

mkfs -t <typeFileSystem> <chemin/vers/volumelogique>

image.png

3.5 Monter la partition

3.5.1 Montage 'one time'

Utiliser la commande suivante :

mount <volume> </point/de/montage>

image.png

Pour démonter ensuite le volume : umount <volume>

3.5.2 Montage persistant

Pour que le volume soit monté au démarrage, il faut l’ajouter dans le fichier ‘fstab’.

Éditer le fichier :

vi /etc/fstab

image.png

Ajouter a la fin la ligne suivante en séparant chaque bloc avec des tabulations :

<volume>  <point de montage>  ext4  defaults,auto,_netdev 0 0

image.png

Sauvegarder et quitter. Puis redémarrer la machine. Le disque sera monté au redémarrage.


IV. Étendre un volume

Pour étendre un volume en rajoutant de l'espace physique, ajouter un  ou des disque(s) et répéter l'opération d'initialisation du volume physique autant de fois que nécessaire.

4.1 Étendre un volume group

Suite à un ajout de disque

Une fois les nouveaux disques ajoutés et initialisés, pour les ajouter au volume group :

vgextend <nomDuVolumeGroup> </chemin/vers/volumephysique>

Suite à l'extension d'un disque existant

Si le système ne voit pas la nouvelle capacité de disque sur un lsblk, utiliser la commande suivante pour rescanner les disques :

echo '1' > /sys/class/scsi_disk/<iscsidiskID>/device/rescan

Puis faire :

pvresize /dev/<disque à resizer>

4.2 Étendre un volume virtuel

Vérifier l'espace libre sur les volumegroups, regarder le volumegroup du volume logique à augmenter:

vgs

image.png


Puis étendre le volume :

lvresize --resizefs --size +<TailleUnite> </chemin/du/volume>

image.png

lvextend -l +100%FREE </chemin/du/volume>

image.png

4.3 Étendre le filesystem

Une fois le volume logique étendu, il faut adapter le filesystem pour lui dire de prendre toute la place disponible sur le LV.

resize2fs /dev/<NomDeVG>/<NomDeLV>

image.png

Ubuntu Server - Installation

Novice.png

Difficulté : Novice


Notions : Installation système, linux, ubuntu server, CLI.


I. Introduction


Cette procédure a été testée sur Ubuntu server 22.04+ et présente également quelques améliorations de sécurité.

Télécharger ubuntu server : Download Ubuntu Server

Prérequis matériels : Voir ci-dessous



II. Installation


Démarrer sur le media d'installation, sélectionner "Try or install Ubuntu Server".

image.png

Attendre la fin de l'initialisation.

image.png

Choisir la langue du système et valider.

image.png

Si le serveur est connecté à internet, choisir "Mise à jour vers le nouveau programme d'installation".

image.png

Attendre la fin du téléchargement.

image.png

Sélectionner le layout de clavier. ici, "French".

image.png

Garder l'installation par défaut.

image.png

Entrer les données de la carte réseau puis valider.

Si il est nécessaire de créer un lien, il est possible de le faire ici.

Pour plus d'informations, voir : Réseau - L'agrégation de liens (LAGG)

image.png

Si pas de nécessité d'utiliser un serveur proxy, laisser tel quel et valider.

image.png

Si pas de miroir en local, laisser le miroir par défaut.

image.png

Pour plus de facilité, laisser le partitionnement par défaut.

image.png

L'installeur présente les partitions. Valider.

image.png

Confirmer les changements.

image.png

Entrer un nom de compte, de serveur, d'utilisateur ainsi que le mot de passe.

Pour un compte administrateur, éviter les noms : administrateur, administrator, admin.

Plus d'informations

Préférer plutôt des noms communs ou "codés".

Par exemple : <trigramme site/organisation> suivi de 4d- ( ici : sc4d- ).

4 étant un A en leet speak, d, et - en anglais se disant 'minus', abrégé en 'min', cela donne 'admin' mais sans l'écrire.

Le but de la manœuvre étant de minimiser le risque de réussite d'une attaque brute force en éliminant d'office les noms d'utilisateurs préférentiellement ciblés.

image.png

Cocher l'installation du serveur SSH et si il n'y a aucune identité déjà disponible dans l'entreprise, valider.

image.png

Ne pas installer de services supplémentaires.

image.png

Attendre la fin de l'installation.

image.png

A la fin de l'installation, le 'cancel update' se change en 'Reboot now'.

image.png

Il faut donc redémarrer. L'installation est terminée.



III. Tâches Post installation


3.1 Changer le layout clavier


Parfois, le layout reste en anglais (qwerty). Pour le modifier, utiliser la commande :

sudo dpkg-reconfigure keyboard-configuration

Cela lance l'assistant.

image.png

image.png

Choisir le modèle "generic 105-key PC".
Choisir le pays "French".

image.png

image.png

Choisir le layout "French".

Laisser "The default for the keyboard layout".

image.png

image.png

Laisser "No compose key".

L'image est mise à jour avec le layout.

Redémarrer.


3.2 Mettre à jour le système


Mettre à jour la liste de dépôts.

sudo apt update

image.png

Mettre à jour les paquets installés.

sudo apt upgrade -y

image.png

image.png


3.3 Reconfigurer le réseau


Si il est nécessaire de reconfigurer le réseau, il faut éditer le fichier de configuration de netplan.

"/etc/netplan/00-installer.config.yaml"

Information : les fichiers de configurations sont en YAML. Attention à l'indentation.

Pour une configuration en DHCP.

/etc/netplan/00-installer-config.yaml - DHCP
network:
  version: 2
    ethernets:
      <nom interface>:
        dhcp4: true


Pour une configuration en IP fixe simple.

/etc/netplan/00-installer-config.yaml - ip fixe
network:
  version: 2
    ethernets:
      <nom interface>:
        dhcp4: false
        addresses: [<cidr ip>]
        nameservers:
          addresses: [<ipdns1>,<ipdns2>]
        routes:
         - to: default
           via: <ip passerelle>


Pour une configuration sur une carte wifi.

/etc/netplan/00-installer-config.yaml - wifi

6

network:
  version: 2
  wifis:
   <nom interface>:
       dhcp4: false
       addresses: [<CIDR IP>]
       nameservers:
         addresses: [<ip dns1>,<ip dns2>]
       access-points:
         "<wifi ssid>":
           passwork: "***********"
       routes:
         - to: default
           via: <ip passerelle>

Pour un exemple de configuration complexe : Configuration - Exemple configuration Netplan

Sécuriser le service SSH : Ubuntu - Paramétrer SSH


IV Réglages Optionnels

Ajouter un disque

Pour ajouter un disque simple, voir : Ubuntu Server - Ajouter un disque/volume

Pour monter un volume RAID, voir avant : Ubuntu Server - Paramétrer le RAID Logiciel

(routage) Activer l'ip forwarding

 

Ubuntu Server - Intégrer le serveur dans le domaine AD

Titre de la page : <Techno> - <Titre de la procédure / du cours> (à supprimer une fois le titre placé)

image.png

Difficulté : Intermédiaire


Notions : PAM, authentification, linux, LDAP, domaine.


I. Introduction

Cette procédure à pour but de présenter l'intégration des serveurs ubuntu dans le domaine Active Directory afin de permettre l'authentification et l'utilisation du serveur et des services avec des comptes du domaine.

Cela renforcera la sécurité et permettra une gestion des privilèges par groupes AD.


II. Préparation

Installer les paquets nécessaire avec la commande :

sudo apt install -y realmd samba

Puis renommer le serveur en utilisant la commande :

Attention : il est important de bien mettre le FQDN du serveur tel qu'il sera adressé.

sudo hostnamectl hostname <fqdn.du.serveur>

image.png

Utiliser la commande suivante pour voir si le domaine est correctement découvert.

sudo realm discover <domain.ext>

image.png


III. Intégration

Pour joindre le serveur au domaine, Entrer la commande suivante :

sudo realm join -v --user='<domain\utilisateur>' --membership-software=samba --client-software=winbind  <domaine.ext>

image.png

Le serveur est maintenant enregistré dans Active Directory.

image.png

Attention : dans le Serveur DNS, si les sources anonymes ne sont pas autorisées à faire les enregistrement DNS, il faudra les ajouter à la main.


IV. Ajout des groupes & droits

4.1 Déclarer la méthode d'authentification

Dans le fichier '/etc/nsswitch.conf ', Modifier les deux lignes suivantes en ajoutant 'winbind' comme source d'authentification.

image.png

Il est maintenant possible d'utiliser les identifiants active directory pour se connecter à la machine.

Pour vérifier si un identifiant est correctement reconnu, utiliser :

getent passwd <domaine>\\<utilisateur>

image.png

Cela fonctionne aussi avec les groupes.

image.png

4.1 autoriser le groupe admin dans les sudoers

Éditer le fichier des sudoers avec la commande :

visudo

Trouver les lignes suivantes et ajouter le groupe administrateur dans le fichier comme ci-dessous :

image.png

Enregistrer le fichier avec ctrl+o, valider et quitter.

Vérifier le fonctionnement :

Ubuntu Server - Paramétrer le RAID Logiciel

YPUimage.png


Difficulté : Avancé


Notions : Paramétrage serveur, ubuntu server, GUI, RAID, stockage.


I. Introduction

Cette procédure a pour but de créer un volume RAID sur un système Ubuntu dépourvu de carte RAID matérielle.

Plus d'informations sur le RAID : Hardware - Le RAID

Prérequis : Un nombre de disque suffisant pour le type de grappe RAID à créer.



II. Sélectionner les disques


Lister les disques disponibles.

ls /dev/sd*

image.png

vérifier les propriété des disques.

fdisk -l

image.png

ici les disques sdb, sdc, sdd


III. Création du volume RAID

Best practice - Optimiser son disque

La taille d’allocation des blocs doit être adaptée au besoin. Elle dépend du type de données sur la partition.

Par exemple les logs étant pleins de petits fichiers, il faut prendre une petite taille de bloc.

A l’inverse, des fichiers vidéos ou de bases de données sont de gros fichiers. Il faut donc choisir une grande taille de bloc.

Exemples :

  • partition système ou filer : défaut

  • partition swap : 4k

  • partition de logs : 8K

  • partition vidéo ou DB : 64K


3.1 Créer le volume


La commande à utiliser est la suivante et se décompose comme suit :

mdadm --create <new volume id> --level=<niveau de raid> --raid-devices=<nombre de disques dans le volume> <disk1> <disk2> ...

Scénario 1 - RAID 0

Pour créer le volume RAID 0, entrer la commande suivante : 

mdadm --create /dev/md0 --level=0 --raid-device=3 /dev/sdb /dev/sdc /dev/sdd

image.png

 Le volume est créé.

fdisk -l /dev/md0

image.png

Scénario 1 - RAID 1

Pour créer le volume RAID 1, entrer la commande suivante :

mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sdb /dev/sdc

image.png

Le volume est créé.

fdisk -l /dev/md0

image.png

Scénario 1 - RAID 5

Pour créer le volume RAID 5, entrer la commande suivante : 

mdadm --create /dev/md0 --level=5 --raid-device=3 /dev/sdb /dev/sdc /dev/sdd

image.png

Le volume est créé.

fdisk -l /dev/md0

image.png

La même commande pourra être utilisée avec d'autres opérandes pour resizer/détruire le raid ou ajouter des devices.

image.png

3.2 Terminer la création

Le volume pourra être vu par le système comme une nouvelle device dans /dev.

Pour créer / Partitionner le volume : Ubuntu Server - Ajouter un disque/volume


IV Détruire un volume RAID

Pour détruire un volume RAID précédemment créé :

Lister les processus RAID Actifs.

cat /proc/mdstat

image.png

Arrêter le processus correspondant au disque.

mdadm --stop /dev/md0

image.png

Supprimer le périphérique RAID.

mdadm --remove /dev/md0

si l'erreur suivante apparaît :

image.png

exécuter la commande suivante pour supprimer les superblocks.

mdadm --zero-superblock /dev/<disk1> /dev/<disk2> ... ...

image.png

Ubuntu Server - Paramétrer SSH

image.png

Difficulté : Intermédiaire


Notions : SSH, ubuntu server, linux, sécurité.


I. Introduction


Il est intéressant d'un point de vue sécurité de procéder à quelques modifications de la configuration par défaut de SSH.



II. Paramétrage


2.1 Renforcer la sécurité


Cette étape est optionnelle mais vivement conseillée pour optimiser la sécurité du système.

Stopper le service SSH.

sudo service ssh stop


Éditer le fichier de configuration "/etc/ssh/sshd_config".

Il est intéressant de dé-commenter/modifier les directives suivantes :

image.png
  • Port <numéro de port>
  • AdressFamily <any | inet | inet6>
  • Listen address <ip d'écoute>

- Ne pas utiliser le port par défaut.

- Limiter l'écoute à une famille d'adresse.

- Limiter l'écoute à une interface.

image.png


  • SyslogFacility AUTHPRIV
  • LogLevel VERBOSE


- Permet de loguer de manière sécurisée.

- Permet de loguer les echecs de connexion.

Attention : Sur ubuntu server, à partir de la version 23.04, le port d'écoute SSH n'est plus modifié dans le fichier de configuration. Suivre la procédure ci-dessous pour changer le port d'écoute.

Ubuntu 23.04+ changer le port d'écoute SSH.

Depuis la version 23.04, le serveur SSH n'est plus lancé en tant que service à proprement parler mais en tant que socket.

Il faut donc désormais le modifier dans le fichier "/lib/systemd/system/ssh.socket" et modifier la directive ListenStream.

image.png

Puis recharger les sockets avec :

systemctl daemon-reload
systemctl restart ssh

Les Échecs de connexion sont consultables avec la commande ci-dessous.

grep "Failed password" /var/log/auth.log

image.png

  • LoginGraceTime 30s
  • PermitRootLogin no
  • MaxAuthTries 3
  • MaxSessions 10

- Limite le temps pour la saisie des logins.

- Interdire la connexion en tant que 'root'.

- Nombres de tentatives avant le Log.

- Maximum de connexions par session TCP.


image.png

  • MaxStartups 5:50:10

- à partir de 5 tentatives, 50% de chance que la connexion soit dropée. Augmente linéairement jusqu’à 10 connexions où le taux atteints 100%.

image.png

  • Banner /etc/ssh/banner.txt

- chemin vers la bannière de connexion ssh.

Conseil : Pour des exemples de banner, voir BANNER - Exemple

2.2 Limiter l'accès à SSH


Il peut être inintéressant de limiter l'accès au SSH uniquement à certains utilisateurs.

Cela peut se faire à travers la mise en place d'un groupe comme suit :

groupadd sshusers

Puis ajouter le(s) utilisateur(s) au groupe

usermod -a -G sshusers <username>

Ajouter ensuite en fin de fichier "/etc/ssh/sshd_config" la directive suivante :

image.png

- nom des groupes autorisés à se connecter en SSH


2.3 paramétrer le SFTP & chroot


Dans le cadre de l'utilisation du service pour faire du SFTP, il peut également être intéressant de brider les utilisateurs SFTP dans leur répertoire utilisateur afin que ceux-ci n'est pas accès aux dossiers du système.

Pour cela il faut créer un groupe d'utilisateurs du SFTP auxquels la stratégie va s'appliquer :

addgroup sftpusers

Puis créer un répertoire qui servira de racine. Par exemple :

mkdir /sftp

Puis éditer les directives du fichier "/etc/ssh/sshd_config" le bloc d'instructions qui activera le subsystem SFTP et permettra le chroot.

Commenter la ligne :

image.png

Et la remplacer par :

Subsystem sftp internal-sftp
Match Group sftpusers
	ChrootDirectory /sftp/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

image.png


  • Utilise le subsystem interne au lieu de celui par défaut
  • Pour les utilisateurs dans les groupes énumérés
    • Chroot sur /sftp/<NomUtilisateur>
    • forcer la commande sftp et interdire ssh cli
    • interdire le forwarding
    • interdire le X11

Redémarrer SSH.

service ssh restart

Créer enfin les utilisateurs avec leur répertoire et les intégrer au groupe sftpusers, utiliser les commandes :

useradd -m -g sftpusers -s /usr/sbin/nologin -d /sftp/<nomUtilisateur>/<NomRepertoireHome> <NomUtilisateur>
passwd <NomUtilisateur>

Attention : si utilisé conjointement avec la directive 'AllowGroups', penser à ajouter le groupe sftpusers à cette ligne.

image.png

image.png

sans chroot
avec chroot



III. Redémarrer le service


Relancer le service.

sudo service ssh start

Pour vérifier le status du service :

sudo service ssh status

image.png

Ubuntu Server - Paramétrer UFW

image.png

Difficulté : Novice


Notions : Sécurité, pare-feu, Ubuntu server



I. Introduction

Cette procédure vise à expliquer la mise en place et la configuration du pare-feu UFW (Uncomplicated FireWall) sur les serveurs Ubuntu.

Info : Les paquets sont normalement déjà pré-installés sur le serveur.

Voici la page d'aide de ufw :

image.png


II. Activation / Désactivation Firewall

Pour activer le firewall :

ufw enable

image.png

Désactiver le firewall :

ufw disable

image.png


II. Gérer les règles

2.1 Créer les règles

Les règles se construisent selon le modèle suivant :

Commande Action (opt) source (opt) destination port protocol
ufw allow ip unique ip unique numéro de port tcp

deny cidr réseau cidr réseau alias (ex : http) udp

reject


...

Créer une règle courte pour du trafic entrant (ex: pour http et https):

ufw allow 80/tcp
ufw allow 443/tcp

image.png

Pour ajouter des règles complexes (ex: limiter la connexion ssh) :

ufw allow from 172.16.11.1 to any port 22 proto tcp

image.png

Créer une règle par défaut :

ufw default deny incoming
ufw default allow outgoing

image.png


2.2 Afficher les règles

Pour afficher le status avancé et les règles existantes :

ufw status verbose

image.png

Pour afficher les règles avec les numéros de règles :

ufw status numbered

image.png

2.3 Supprimer les règles

Pour supprimer les règles, deux façon de faire :

image.png

2.4 Appliquer les règles

Info : après avoir changé les set de règles (ajout / supression, modification), il faut les appliquer.

Appliquer les règles :

ufw reload

image.png


III. Bloquer les réponses ICMP (ping)

Pour que le pare feu bloque par défaut les requêtes ICMP (echo-request), editer le fichier '/etc/ufw/before.rules'.

Modifier les deux lignes autorisant le echo-request en changeant le 'ACCEPT' en 'DROP'.

image.png

Sauvegarder et quitter. Puis appliquer la configuration avec :

ufw reload

image.png