« Linux : Securiser un serveur Linux » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 187 : | Ligne 187 : | ||
* <code>0 3 * * * /usr/bin/aide --check</code> | * <code>0 3 * * * /usr/bin/aide --check</code> | ||
== DNS Security Extensions (DNSSEC) == | |||
=== Activation de DNSSEC dans ''named.conf'' === | |||
<code>dnssec-enable yes; dnssec-validation auto;</code> | |||
== Host-Based Intrusion Detection System (HIDS) == | |||
=== Installation de OSSEC === | |||
<code>sudo apt install ossec-hids</code> | |||
Version du 23 décembre 2024 à 11:51
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
Authentification multi-facteurs MFA
Google Authenticator
sudo apt install libpam-google-authenticator
Paramétrage
google-authenticator
Activation du MFA dans la configuration PAM
sudo nano /etc/pam.d/sshd
- Ajouter
auth required pam_google_authenticator.so
Limitation des accès Sudo
Edition du fichier sudoers
sudo visudo
Définition des droits spécifiques en fonction des utilisateurs
username ALL=(ALL) NOPASSWD: /path/to/specific_command
File Integrity Monitoring (FIM)
- Détecte les modifications non autorisées sur les fichiers critiques
Installation de AIDE
sudo apt install aide
Initialisation de la base AIDE
sudo aideinit
Planification des contrôles
sudo crontab -e
0 3 * * * /usr/bin/aide --check
DNS Security Extensions (DNSSEC)
Activation de DNSSEC dans named.conf
dnssec-enable yes; dnssec-validation auto;
Host-Based Intrusion Detection System (HIDS)
Installation de OSSEC
sudo apt install ossec-hids
Liens
https://jay75chauhan.medium.com/%EF%B8%8Fsecure-linux-server-1bbbaaa465d6