#ubuntu#linux#configuration#sécurité#ufw#serveur#linode

Configuration basique serveur Linux (Ubuntu) sur Linode

Apprenez à configurer et sécuriser votre serveur Ubuntu Linux avec ce guide étape par étape : création d'utilisateurs, UFW, permissions et bonnes pratiques.

Avant l'utilisation d'un serveur il est primordial de faire des configurations de base afin de mieux exploiter son serveur. Dans cet article je te montre comment faire une configuration basique afin de l'exploiter.

Prérequis : Connexion au serveur

Connectons-nous à notre instance Ubuntu sur linode avant de commencer

Linode Dashboard

Ouvrons un terminal de commande ou putty pour accéder à notre instance avec votre adresse IP :

ssh 139.162.201.133

Ou avec l'utilisateur spécifié :

ssh root@139.162.201.133

Nous sommes connectés, après la saisie de notre mot de passe et login

Terminal SSH connecté

Étape 1: Mise à jour du système

Avant toute chose faisons une mise à jour du système afin de faire la mise à niveau des éléments.

root@localhost:~# apt update && apt upgrade

Pourquoi cette étape est importante ?

  • Met à jour la liste des packages disponibles
  • Installe les dernières mises à jour de sécurité
  • Corrige les vulnérabilités connues

Étape 2: Configuration du fuseau horaire

Définissons le fuseau horaire de notre serveur en fonction de notre zone ou localité

root@localhost:~# dpkg-reconfigure tzdata

Configuration timezone

Cette commande ouvre une interface qui vous permet de :

  1. Sélectionner votre continent
  2. Choisir votre ville/zone
  3. Confirmer votre choix

Étape 3: Création d'un utilisateur non-root

Nous allons maintenant créer un nouvel utilisateur car il n'est pas recommandé d'utiliser le root pour effectuer des commandes

root@localhost:~# adduser user1

Création utilisateur

Informations demandées :

  • Mot de passe (à taper deux fois)
  • Nom complet
  • Numéro de bureau, téléphone professionnel, personnel
  • Autres informations (optionnelles)

Étape 4: Attribution des privilèges sudo

Rajoutons l'utilisateur au groupe sudo pour lui permettre de pouvoir accéder à la commande sudo

root@localhost:~# usermod -aG sudo user1

Spécifions les privilèges de l'utilisateur en ajoutant le nom de notre utilisateur et les accès ALL=(ALL: ALL) ALL dans le fichier qui s'ouvrira

root@localhost:~# visudo

Configuration sudoers

Dans l'éditeur qui s'ouvre, ajoutez cette ligne :

user1 ALL=(ALL:ALL) ALL

Étape 5: Test du nouvel utilisateur

Nous avons terminé la création de notre nouvel utilisateur. Déconnectons-nous de l'utilisateur par défaut root et connectons-nous avec notre utilisateur user1

root@localhost:~# su - user1

Connexion user1

Félicitation ! Nous sommes maintenant connectés avec notre utilisateur user1

Étape 6: Installation et configuration d'UFW

Maintenant utilisons UFW pour gérer les règles de notre pare-feu dans le but de sécuriser les ports et les flux d'entrée et sortie de notre serveur

C'est quoi UFW ?

UFW est une interface de gestion de pare-feu (Firewall) linux simplifiée qui masque la complexité des technologies de filtrage de paquets de niveau inférieur telles que iptables et nftables. Si vous souhaitez commencer à sécuriser votre réseau, UFW peut être le bon choix pour vous.

Installation d'UFW

user1@localhost:~$ sudo apt-get install ufw

Activation du pare-feu

Après avoir installé UFW nous allons activer le pare-feu

user1@localhost:~$ sudo ufw enable

⚠️ Attention : Assurez-vous d'autoriser SSH avant d'activer UFW pour éviter de vous bloquer !

Étape 7: Configuration des règles de base

Nous allons mettre en place les règles d'accès pour le pare-feu

Autorisation du port SSH (22)

user1@localhost:~$ sudo ufw allow ssh

ou

user1@localhost:~$ sudo ufw allow 22

Autorisation du port HTTP (80)

user1@localhost:~$ sudo ufw allow 80/tcp

ou

user1@localhost:~$ sudo ufw allow http/tcp

Autorisation du port HTTPS (443)

user1@localhost:~$ sudo ufw allow 443/tcp

ou

user1@localhost:~$ sudo ufw allow https/tcp

Règles UFW avancées

Refuser un port spécifique

Pour refuser le trafic sur un certain port (dans cet exemple, 80), vous n'auriez qu'à exécuter :

user1@localhost:~$ sudo ufw deny 80/tcp

Vérifier le statut

user1@localhost:~$ sudo ufw status verbose

Lister les règles numérotées

user1@localhost:~$ sudo ufw status numbered

Supprimer une règle

user1@localhost:~$ sudo ufw delete [numéro_de_règle]

Bonnes pratiques de sécurité

1. Désactivation du login root par SSH

Éditez le fichier de configuration SSH :

sudo nano /etc/ssh/sshd_config

Trouvez la ligne PermitRootLogin et modifiez-la :

PermitRootLogin no

Redémarrez le service SSH :

sudo systemctl restart ssh

2. Changement du port SSH par défaut

Dans le même fichier /etc/ssh/sshd_config, changez :

Port 2222  # Au lieu de 22

N'oubliez pas d'autoriser le nouveau port dans UFW :

sudo ufw allow 2222/tcp
sudo ufw delete allow ssh  # Supprime l'ancienne règle

3. Configuration des clés SSH

Générez une paire de clés sur votre machine locale :

ssh-keygen -t ed25519 -C "votre-email@exemple.com"

Copiez la clé publique sur le serveur :

ssh-copy-id user1@votre-serveur-ip

4. Surveillance des logs

Surveillez les tentatives de connexion :

sudo tail -f /var/log/auth.log

Commandes utiles pour UFW

NB : Les règles peuvent être ajoutées de deux manières : en indiquant le numéro de port ou en utilisant le nom du service.

Exemples de règles courantes :

# Autoriser une plage de ports
sudo ufw allow 6000:6007/tcp
# Autoriser depuis une IP spécifique
sudo ufw allow from 192.168.1.100
# Autoriser un sous-réseau
sudo ufw allow from 192.168.1.0/24
# Réinitialiser UFW
sudo ufw --force reset
# Activer les logs
sudo ufw logging on

Conclusion

Après avoir vu les commandes de base avec UFW, vous disposez maintenant d'un serveur Ubuntu correctement configuré et sécurisé.

Ce que nous avons accompli :

Système à jour avec les dernières patches de sécurité ✅ Utilisateur non-root avec privilèges sudo ✅ Pare-feu UFW configuré avec les règles de base ✅ Services essentiels (SSH, HTTP, HTTPS) autorisés ✅ Bonnes pratiques de sécurité mises en place

Ressources pour aller plus loin

Votre serveur est maintenant prêt pour héberger vos applications en toute sécurité ! 🚀

Dans le prochain article, nous verrons comment déployer votre première application web sur ce serveur sécurisé.