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