Sécurisation d`un serveur SSH accessible par internet
Transcription
Sécurisation d`un serveur SSH accessible par internet
(iptables, fail2ban, logs….) Ludovic BILLARD – AG CSSI 14/01/2015 Objectif A travers un exemple, présenter quelques bonnes pratiques de sécurisation à mettre facilement et rapidement en place Contexte Serveur linux (debian/ubuntu) administrable à distance par SSH Environnement UPMC Page 2/11 Ludovic BILLARD – AG CSSI 14/01/2015 Avantages : Protocole d’administration et d’échange de fichiers Chiffrement des communications Facile à installer et à configurer Page 3/11 Ludovic BILLARD – AG CSSI 14/01/2015 Inconvénients : Protocole d’administration Sécurité dépend de la robustesse des mots de passe (attaque par brute force) Très répandu (unix, linux) et utilisé par les ASR Page 4/11 Ludovic BILLARD – AG CSSI 14/01/2015 Port d ’écoute standard (TCP/22) Brute force (test de couple login/pass jusqu’à succès, dictionnaire à l’appui) Logins connus (root?, ingénierie – site web, @email etc..) Faiblesses openSSH Elévation de privilèges par exploits locaux – kernel… Page 5/11 Ludovic BILLARD – AG CSSI 14/01/2015 Ne pas changer le port d’écoute (TCP/22) car plusieurs niveaux de filtrage à l’UPMC Limiter les accès logiques au serveur : iptables, politique de « whitelist » (identifier les connexions entrantes ET sortantes possibles) Limiter les utilisateurs qui peuvent se connecter en ssh (AllowGroups, PermitRootLogin) Page 6/11 Ludovic BILLARD – AG CSSI 14/01/2015 Mettre à jour régulièrement le système (apticron) Centraliser les logs (rsyslog) Synchroniser le NTP avec la passerelle Conserver les logs (logrotate) Désactiver IPv6 - si inutile Contrôler la robustesse des mdp (pam_cracklib) Et les attaques par brute force? Fail2ban ! Page 7/11 Ludovic BILLARD – AG CSSI 14/01/2015 Daemon analysant un fichier de logs à la recherche d’un template pour ajouter dynamiquement une règle iptables Configurable et customisable (regexp) apt-get install fail2ban /etc/fail2ban/jail.conf pour ssh Page 8/11 Ludovic BILLARD – AG CSSI 14/01/2015 /var/log/auth.log fail2ban-client status ssh Page 9/11 Ludovic BILLARD – AG CSSI 14/01/2015 Fail2ban peut chercher dans des logs custom Exemple Roundcube : /etc/fail2ban/jail.conf /etc/fail2ban/filter.d/roundcube Page 10/11 Ludovic BILLARD – AG CSSI 14/01/2015 Il existe beaucoup de bonnes pratiques simples et techniquement accessibles à tous permettant de limiter les « chances » de compromission et leurs impacts. Questions.. http://www.ssi.gouv.fr/fr/guides-et-bonnespratiques/recommandations-et-guides/securite-duposte-de-travail-et-des-serveurs/ Page 11/11 Ludovic BILLARD – AG CSSI 14/01/2015