Après installation d'un Debian de base, configuration des choses basiques
Sur tout nos serveurs, on a tendance à configurer en premier toute la sécurité, c'est normal.
AppArmor et Firejail
Donc nous utilisons AppArmor et Firejail que l'on peut installer via cette commande :
# apt install -y -t bullseye-backports --no-install-recommends firejail apparmor
Derrière, nous pouvons aussi les configurés :
# apparmor_parser -r /etc/apparmor.d/firejail-default
# echo 'Dpkg::Post-Invoke {"firecfg >/dev/null";}' > /etc/apt/apt.conf.d/99firecfg
A quoi servent ces soft ? Firejail sers à sandboxer des programmes, en gros il vient les mettres dans des boîtes et toutes les actions effectuée sont contrôlées et restent dans Firejail. AppArmor sers à limiter les droits sur les logiciels.
OpenSSH
Nous venons aussi reconfigurer OpenSSH en y appliquant en premier différentes restrictions sur les différents algorithmes d'échanges autorisés lors d'une connexion SSH
# echo -e "\n# Only enable RSA and ED25519 host keys.\nHostKey /etc/ssh/ssh_host_rsa_key\nHostKey /etc/ssh/ssh_host_ed25519_key\n\n# Restrict key exchange, cipher, and MAC algorithms\nKexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org\nCiphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes256-ctr\nMACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com\nHostKeyAlgorithms ssh-ed25519,rsa-sha2-512,rsa-sha2-256" >> /etc/ssh/sshd_config
On supprime aussi les clé SSH par défaut du système pour ensuite venir les recréés derrière
# rm /etc/ssh/ssh_host_*
# ssh-keygen -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -N ""
# ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
Puis on vient régénérer un moduli propre (Le moduli contient des informations sur le chiffrement du SSH)
# awk '$5 >= 3071' /etc/ssh/moduli > /etc/ssh/moduli.safe
# mv /etc/ssh/moduli.safe /etc/ssh/moduli
Et enfin on fini par la configuration par des choses basiques
# sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
# sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/g' /etc/ssh/sshd_config
# systemctl restart ssh
Unattended-upgrades
Nous installons et configurons les mises à jour non attendu sur le système. Elles permettent d'assurer des mises à jours de sécurités lorsqu'une faille important peut être découverte dans un logiciel critique (par exemple sudo), de ce fait il s'assure de faire la mise sans qu'on doit la faire manuellement (il vaut mieux être sûr et s'assurer que la mise à était faite)
# apt install -y unattended-upgrades
# echo -e 'Unattended-Upgrade::Origins-Pattern {\n\t"origin=*";\n};\n\nUnattended-Upgrade::MinimalSteps "true";\nUnattended-Upgrade::Remove-Unused-Kernel-Packages "true";\nUnattended-Upgrade::Remove-New-Unused-Dependencies "true";\nUnattended-Upgrade::Remove-Unused-Dependencies "true";' > /etc/apt/apt.conf.d/50unattended-upgrades
No Comments