« Linux : Securiser un serveur Linux » : différence entre les versions
De www.yakakliker.org
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 33 : | Ligne 33 : | ||
* <code>sudo systemctl restart sshd</code> | * <code>sudo systemctl restart sshd</code> | ||
== Configurer une politique de mots de passe complexe == | |||
=== Editer une fichier de configuration de la politique de mot de passe === | |||
<code>sudo nano /etc/security/pwquality.conf</code> | |||
==== Exemple de paramètres ==== | |||
<code>minlen = 12 minclass = 3</code> | |||
* '''minlen :''' 12 caractères | |||
* '''minclass :''' 3 types de caractères différents<br /> | |||
== Activer les mises à jours automatiques sur Ubuntu == | |||
<code>sudo apt install unattended-upgrades</code> | |||
== Configurer le Firewall == | |||
=== Exemple === | |||
<syntaxhighlight lang="bash"> | |||
sudo apt install ufw | |||
sudo ufw allow 22 # Allow SSH | |||
sudo ufw allow 80 # Allow HTTP | |||
sudo ufw allow 443 # Allow HTTPS | |||
sudo ufw enable | |||
</syntaxhighlight> | |||
== Configurer Fail2ban (Détection d'intrusion) == | |||
=== Installation de Fail2ban === | |||
<code>sudo apt install fail2ban</code> | |||
=== Edition de la configuration === | |||
<code>sudo nano /etc/fail2ban/jail.conf</code> | |||
==== Exemple pour la surveillance du service SSH ==== | |||
<syntaxhighlight lang="bash"> | |||
[sshd] | |||
enabled = true | |||
maxretry = 5 | |||
bantime = 3600 | |||
</syntaxhighlight> | |||
* Block l'IP pendant 1 heure après 5 échecs d'authentification | |||
== Désactiver les services non nécessaires == | |||
=== Listing des services actifs === | |||
<code>sudo systemctl list-unit-files --type=service --state=enabled</code> | |||
=== Désactiver les services non nécessaires === | |||
<code>sudo systemctl disable service_name</code> | |||
Version du 23 décembre 2024 à 11:06
Désactiver l'accès SSH Root
Editer le fichier de configuration SSH
sudo nano /etc/ssh/sshd_config
- Vérifier la présence ou non de cette ligne :
- PermitRootLogin yes
- La remplacer par :
- PermitRootLogin no
Enregistrer le fichier et redémarrer le service SSHD
sudo systemctl restart sshd
Utilisation d'une clé SSH pour l'authentification
Générer la clé SSH sur la station locale pour créer une paire de clé Privée/Publique
ssh-keygen -t rsa -b 4096
Copier la clé publique sur le serveur distant
ssh-copy-id username@server_ip
Désactiver l'authentification SSH par mot de passe
Editer le fichier de configuration SSH
sudo nano /etc/ssh/sshd_config
- Modifier ou ajouter la variable PasswordAuthentication et la passer à no
PasswordAuthentication no
Redémarrer le service SSH
sudo systemctl restart sshd
Configurer une politique de mots de passe complexe
Editer une fichier de configuration de la politique de mot de passe
sudo nano /etc/security/pwquality.conf
Exemple de paramètres
minlen = 12 minclass = 3
- minlen : 12 caractères
- minclass : 3 types de caractères différents
Activer les mises à jours automatiques sur Ubuntu
sudo apt install unattended-upgrades
Configurer le Firewall
Exemple
sudo apt install ufw
sudo ufw allow 22 # Allow SSH
sudo ufw allow 80 # Allow HTTP
sudo ufw allow 443 # Allow HTTPS
sudo ufw enable
Configurer Fail2ban (Détection d'intrusion)
Installation de Fail2ban
sudo apt install fail2ban
Edition de la configuration
sudo nano /etc/fail2ban/jail.conf
Exemple pour la surveillance du service SSH
[sshd]
enabled = true
maxretry = 5
bantime = 3600
- Block l'IP pendant 1 heure après 5 échecs d'authentification
Désactiver les services non nécessaires
Listing des services actifs
sudo systemctl list-unit-files --type=service --state=enabled
Désactiver les services non nécessaires
sudo systemctl disable service_name
Liens
https://jay75chauhan.medium.com/%EF%B8%8Fsecure-linux-server-1bbbaaa465d6