Skip to content

Sécurité de votre serveur linux : Comment durcir un serveur sous linux ?

Brandon Visca
Published date:

Dans ce guide pratique où nous allons renforcer ensemble la sécurité de votre serveur Linux. De l’installation de votre système à l’application des dernières mesures de sécurité, nous allons passer par toutes les étapes nécessaires pour rendre votre serveur aussi sûr que possible.

Assurez-vous de dimensionner en fonction des ressources disponibles, du nombre d’utilisateurs susceptibles de se connecter et de la taille des adhésions aux groupes.

Cette optimisation s’inscrit dans une démarche plus globale de gestion des ressources système — au même titre que la configuration du swap Linux qui permet d’éviter les dysfonctionnements en cas de saturation mémoire.


Sommaire :

Table des matières

Open Table des matières

Sécurisation de la mémoire partagée

sudo vi /etc/fstab

tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0

Durcissement de SSH – désactivation de la connexion en tant que root et changement de port

sudo vi /etc/ssh/sshd_config

Port Protocol 2 PermitRootLogin no DebianBanner no

sudo /etc/init.d/ssh restart

sudo groupadd admin sudo usermod -a -G admin <VOTRE NOM D’UTILISATEUR ADMIN> sudo dpkg-statoverride —update —add root admin 4750 /bin/su

Renforcer le réseau avec les paramètres sysctl

sudo vi /etc/sysctl.conf

Protection contre l’usurpation d’IP

net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1

Ignorer les demandes de diffusion ICMP

net.ipv4.icmp_echo_ignore_broadcasts = 1

Désactiver le routage des paquets source

net.ipv4.conf.all.accept_source_route = 0 net.ipv6.conf.all.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 net.ipv6.conf.default.accept_source_route = 0

Ignore send redirects

net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.send_redirects = 0

Bloquer les attaques SYN

net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 2 net.ipv4.tcp_syn_retries = 5

Enregistrer les Martiens

net.ipv4.conf.all.log_martians = 1 net.ipv4.icmp_ignore_bogus_error_responses = 1

Ignorer les redirections ICMP

net.ipv4.conf.all.accept_redirects = 0 net.ipv6.conf.all.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv6.conf.default.accept_redirects = 0

Ignorer les pings dirigés

net.ipv4.icmp_echo_ignore_all = 1

sudo sysctl -p

sudo vi /etc/bind/named.conf.options

recursion no;
version "Not Disclosed";

sudo /etc/init.d/bind9 restart

Prévenir l’usurpation d’IP

sudo vi /etc/host.conf

order bind,hosts nospoof on

Renforcez PHP pour la sécurité

sudo vi /etc/php5/apache2/php.ini

disable_functions = exec,system,shell_exec,passthru register_globals = Off expose_php = Off display_errors = Off track_errors = Off html_errors = Off magic_quotes_gpc = Off

sudo /etc/init.d/apache2 restart

sudo vi /etc/apache2/conf.d/security

ServerTokens Prod
ServerSignature Off
TraceEnable Off
Header unset ETag
FileETag None

sudo /etc/init.d/apache2 restart

Analysez les journaux et bannissez les hôtes suspects – DenyHosts et Fail2Ban

sudo apt-get install denyhosts

sudo vi /etc/denyhosts.conf

ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
#SMTP_USERNAME=foo
#SMTP_PASSWORD=bar
SMTP_FROM = DenyHosts nobody@localhost
#SYSLOG_REPORT=YES

sudo apt-get install fail2ban

sudo vi /etc/fail2ban/jail.conf

[ssh]

enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3

[ssh]

enabled  = true
port     = <ENTREZ VOTRE NUMÉRO DE PORT SSH ICI>
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3

destemail = root@localhost

action = %(action_)s

action = %(action_mwl)s

sudo vi /etc/fail2ban/jail.local

sudo /etc/init.d/fail2ban restart

sudo fail2ban-client status
Previous
Comment définir le fuseau horaire et synchroniser l'heure du serveur sous Linux
Next
Arc Search : Redéfinir la Navigation Internet avec l'IA