« Linux : Securiser un serveur Linux » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 8 : | Ligne 8 : | ||
* La remplacer par : | * La remplacer par : | ||
** PermitRootLogin no | ** PermitRootLogin no | ||
*Paramétrer le protocol SSH ''(Imposer le protocol 2 uniquement)'' | |||
**Protocol 2 | |||
Enregistrer le fichier et redémarrer le service SSHD | Enregistrer le fichier et redémarrer le service SSHD | ||
Ligne 105 : | Ligne 107 : | ||
==== Redémarrage du service auditd ==== | ==== Redémarrage du service auditd ==== | ||
<code>sudo systemctl restart auditd</code> | <code>sudo systemctl restart auditd</code> | ||
== Paramètres du Kernel == | |||
=== Edition du fichier ''/etc/sysctl.conf'' === | |||
<syntaxhighlight lang="bash"> | |||
net.ipv4.tcp_syncookies = 1 | |||
net.ipv4.conf.all.rp_filter = 1 | |||
net.ipv4.conf.default.accept_source_route = 0 | |||
</syntaxhighlight> | |||
=== Application des paramètres === | |||
<code>sudo sysctl -p</code> | |||
== Limitation des ressources systèmes == | |||
=== Edition du fichier /etc/security/limits.conf === | |||
<code>sudo nano /etc/security/limits.conf</code> | |||
==== Paramètres ==== | |||
<syntaxhighlight lang="bash"> | |||
* soft nproc 4096 | |||
* hard nproc 8192 | |||
</syntaxhighlight> | |||
== Outils de détection de failles de sécurité == | |||
=== Lynis === | |||
<code>sudo apt install lynis</code> | |||
==== Scan du système ==== | |||
<code>sudo lynis audit system</code> | |||
== Antivirus == | |||
=== Clamav === | |||
<code>sudo apt install clamav</code> | |||
==== Mise à jour & scan ==== | |||
<syntaxhighlight lang="bash"> | |||
sudo freshclam | |||
sudo clamscan -r /directory_to_scan | |||
</syntaxhighlight> | |||
Version du 23 décembre 2024 à 11:26
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
- Paramétrer le protocol SSH (Imposer le protocol 2 uniquement)
- Protocol 2
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
Vérifier les droits d'accès aux fichiers de configuration importants
Exemple
sudo chmod 600 /etc/ssh/sshd_config
sudo chmod 640 /var/log/auth.log
Activer le monitoring & les logs
(Sera l'objet d'une page dédiée plus tard)
- Utiliser des outils comme Rsyslog ou (plus centralisé) Elasticsearch, Logstash, Kibana
Configurer Auditd
sudo apt install auditd
Ajout des règles dans le fichier /etc/audit/audit.rules pour surveiller les fichiers importants
-w /etc/passwd -p wa -k passwd_changes
Redémarrage du service auditd
sudo systemctl restart auditd
Paramètres du Kernel
Edition du fichier /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
Application des paramètres
sudo sysctl -p
Limitation des ressources systèmes
Edition du fichier /etc/security/limits.conf
sudo nano /etc/security/limits.conf
Paramètres
* soft nproc 4096
* hard nproc 8192
Outils de détection de failles de sécurité
Lynis
sudo apt install lynis
Scan du système
sudo lynis audit system
Antivirus
Clamav
sudo apt install clamav
Mise à jour & scan
sudo freshclam
sudo clamscan -r /directory_to_scan
Liens
https://jay75chauhan.medium.com/%EF%B8%8Fsecure-linux-server-1bbbaaa465d6