Outils pour utilisateurs

Outils du site


sysadmin:linux:securite:bonnes_pratiques

:TODO_DOCUPDATE:

Sécurité

Quelques bonnes pratiques pour améliorer la sécurité sur les serveurs.

Mises à jours système

Réseau

Si l’hôte n'est pas nomade ou si le fonctionnement ne le requiert pas, désactiver les protocoles:

  • DHCP
  • IPv6

Le wiki parametrage-hote-sans-routage présente les paramétrages réseau recommandés par l'ANSSI sur des poste n'offrant pas de service de routage.

De manière générale, limiter la surface d'attaque en n'installant que les services nécessaires au fonctionnement.

Droits d'accès

Par défaut les droits notamment en lecture sont assez permissifs: un utilisateur peut lire le contenu des fichiers et répertoires des autres utilisateurs.

Notification de connexion

Lors de la connexion en root, un mail de notification peut être envoyé automatiquement en modifiant le fichier bashrc. à voir avec ssh.

ssh

Le port ssh par défaut peut être modifié. Utiliser de préférence l'authentification par clé.

Limiter la durée des sessions inactives

Les shells (bash,ksh,zsh) ont une variable TMOUT qui quand elle est définie indique le délai d'inactivité (timeout) au bout duquel la session interactive sera automatiquement clôturée limitant ainsi les risques de compromission du système et la consommation inutile de ressources en cas d'oubli de fermeture de session.

Exporter la variable dans le fichier .profile:

# Interrompt la session interactive apres 5 min d'inactivité
export TMOUT=300

Interdire la compilation

Limiter l’exécution des compilateurs et installateurs à root:

chmod o-x /usr/bin/gcc-4.1
chmod o-x /usr/bin/make
chmod o-x /usr/bin/apt-get
chmod o-x /usr/bin/aptitude
chmod o-x /usr/bin/dpkg

Pare-feu

UFW

Uncomplicated Fire Wall est facile à mettre en place et à administrer, il sécurise rapidement une machine. A privilégier pour tout hôte sans spécificités de services. Ne requiert pas de connaissances approfondies d'iptables.

Règles iptables

Au minimum:

# Tout ce qui n'est pas explicitement autorisé sera ignoré
iptables --policy INPUT DROP
iptables --policy OUTPUT DROP
iptables --policy FORWARD DROP

# Autoriser la boucle locale (loopback)
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# Tout le trafic sortant est autorisé s'il est liée à une connexion entrante autorisée
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Tout paquet entrant est autorisé s'il est lié a une sortie explicitement autorisée et établie
iptables -A INPUT -m state --state RELATED,ESTABLISHED - j ACCEPT

# Autoriser les requêtes ICMP entrantes en provenance de l'interface lan
iptables -A INPUT -i lan -p icmp -s 192.168.0.0/24 -j ACCEPT

Veille des logs

fail2ban surveille l'acces aux services fournis par le système et peut réagir automatiquement en cas de comportement suspect (DoS, attaque en force brute).

Veille des programmes

rkhunter ou chkrootkit permettent de surveiller les binaires installés et notifient toute modification non prévue.

Sauvegarde des fichiers de config

Références

sysadmin/linux/securite/bonnes_pratiques.txt · Dernière modification : 2023/03/15 00:06 de yoann