C’est intéressant, il y a des centaines de logs qui datent de cette nuit, à 4h du matin, pour ce qu’il me semble être des tentatives de connexion :
-- Logs begin at Wed 2020-06-03 04:46:34 CEST, end at Wed 2020-06-03 11:02:39 CEST. --
juin 03 04:46:34 sshd[17243]: input_userauth_request: invalid user uftp [preauth]
juin 03 04:46:34 sshd[17243]: pam_unix(sshd:auth): check pass; user unknown
juin 03 04:46:34 sshd[17243]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:35 sshd[17240]: Failed password for root from 106.12.163.87 port 57580 ssh2
juin 03 04:46:35 sshd[17240]: Received disconnect from 106.12.163.87 port 57580:11: Bye Bye [preaut
juin 03 04:46:35 sshd[17240]: Disconnected from 106.12.163.87 port 57580 [preauth]
juin 03 04:46:36 sshd[17243]: Failed password for invalid user uftp from 201.163.56.82 port 46204 s
juin 03 04:46:37 sshd[17243]: Received disconnect from 201.163.56.82 port 46204:11: Normal Shutdown
juin 03 04:46:37 sshd[17243]: Disconnected from 201.163.56.82 port 46204 [preauth]
juin 03 04:46:37 sshd[17251]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:38 sshd[17246]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:38 sshd[17253]: Invalid user odoo from 51.89.40.99 port 51594
juin 03 04:46:38 sshd[17253]: input_userauth_request: invalid user odoo [preauth]
juin 03 04:46:38 sshd[17253]: pam_unix(sshd:auth): check pass; user unknown
juin 03 04:46:38 sshd[17253]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:38 sshd[17249]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:40 sshd[17251]: Failed password for root from 188.166.109.87 port 34800 ssh2
juin 03 04:46:40 sshd[17251]: Received disconnect from 188.166.109.87 port 34800:11: Bye Bye [preau
juin 03 04:46:40 sshd[17251]: Disconnected from 188.166.109.87 port 34800 [preauth]
juin 03 04:46:40 sshd[17246]: Failed password for root from 210.123.141.241 port 40534 ssh2
juin 03 04:46:40 sshd[17253]: Failed password for invalid user odoo from 51.89.40.99 port 51594 ssh
juin 03 04:46:40 sshd[17246]: Received disconnect from 210.123.141.241 port 40534:11: Bye Bye [prea
juin 03 04:46:40 sshd[17246]: Disconnected from 210.123.141.241 port 40534 [preauth]
juin 03 04:46:40 sshd[17253]: Received disconnect from 51.89.40.99 port 51594:11: Normal Shutdown,
juin 03 04:46:40 sshd[17253]: Disconnected from 51.89.40.99 port 51594 [preauth]
juin 03 04:46:40 sshd[17249]: Failed password for root from 222.186.190.17 port 25345 ssh2
juin 03 04:46:40 sshd[17258]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:41 sshd[17256]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:42 sshd[17258]: Failed password for root from 54.37.66.73 port 49768 ssh2
juin 03 04:46:42 sshd[17258]: Received disconnect from 54.37.66.73 port 49768:11: Bye Bye [preauth]
juin 03 04:46:42 sshd[17258]: Disconnected from 54.37.66.73 port 49768 [preauth]
juin 03 04:46:43 sshd[17256]: Failed password for root from 210.56.23.100 port 41848 ssh2
juin 03 04:46:43 sshd[17249]: Failed password for root from 222.186.190.17 port 25345 ssh2
juin 03 04:46:43 sshd[17256]: Received disconnect from 210.56.23.100 port 41848:11: Bye Bye [preaut
juin 03 04:46:43 sshd[17256]: Disconnected from 210.56.23.100 port 41848 [preauth]
juin 03 04:46:46 sshd[17249]: Failed password for root from 222.186.190.17 port 25345 ssh2
juin 03 04:46:46 sshd[17261]: Invalid user uftp from 201.163.56.82 port 34860
juin 03 04:46:46 sshd[17261]: input_userauth_request: invalid user uftp [preauth]
juin 03 04:46:46 sshd[17261]: pam_unix(sshd:auth): check pass; user unknown
juin 03 04:46:46 sshd[17261]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:46 sshd[17249]: Received disconnect from 222.186.190.17 port 25345:11: [preauth]
juin 03 04:46:46 sshd[17249]: Disconnected from 222.186.190.17 port 25345 [preauth]
juin 03 04:46:46 sshd[17249]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh rus
juin 03 04:46:48 sshd[17261]: Failed password for invalid user uftp from 201.163.56.82 port 34860 s
juin 03 04:46:49 sshd[17261]: Received disconnect from 201.163.56.82 port 34860:11: Normal Shutdown
juin 03 04:46:49 sshd[17261]: Disconnected from 201.163.56.82 port 34860 [preauth]
juin 03 04:46:52 sshd[17263]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:53 sshd[17263]: Failed password for root from 218.98.26.102 port 53236 ssh2
juin 03 04:46:54 sshd[17263]: Received disconnect from 218.98.26.102 port 53236:11: Bye Bye [preaut
juin 03 04:46:54 sshd[17263]: Disconnected from 218.98.26.102 port 53236 [preauth]
juin 03 04:46:57 sshd[17267]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:57 sshd[17274]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:58 sshd[17276]: Invalid user uftp from 201.163.56.82 port 51748
juin 03 04:46:58 sshd[17276]: input_userauth_request: invalid user uftp [preauth]
juin 03 04:46:58 sshd[17276]: pam_unix(sshd:auth): check pass; user unknown
juin 03 04:46:58 sshd[17276]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tt
juin 03 04:46:59 sshd[17267]: Failed password for root from 196.203.53.20 port 55776 ssh2
juin 03 04:47:00 sshd[17274]: Failed password for root from 118.163.176.97 port 51158 ssh2
juin 03 04:47:00 sshd[17274]: Received disconnect from 118.163.176.97 port 51158:11: Bye Bye [preau
juin 03 04:47:00 sshd[17274]: Disconnected from 118.163.176.97 port 51158 [preauth]
J’ai regardé pour les IPs, ce sont des tentatives venant de Chine, du Mexique, du Pakistan etc.
Je viens de faire un grep "Failed password" /var/log/auth.log pour voir le nombre de tentatives similaires et il y en a des MILLIONS ; ça a presque fait crasher ma console.
J’imagine que ce sont ces tentatives intempestives qui augmentent l’utilisation de la RAM. Que me conseillez-vous de faire ?
Avoir des centaines, voir des milliers de tentatives de connexion sur le service sshd n’a rien d’extraordinaire. Si le service est bien sécurisé (connexion uniquement par clés) il n’y rien à craindre.
Bien sûr, je comprends bien que je ne suis pas le seul à avoir des tentatives d’intrusion de ce genre ; ce qui doit être commun à tous les serveurs. Mais il est bien dommage que près de 20% de la RAM soit consacré à ce genre d’écritures. J’ai utilisé ps -A --sort -rss -o comm,pmem,rss | head -n 20 pour obtenir le pourcentage.
Je remarque d’ailleurs que fail2ban utilise 35% de la mémoire, c’est certainement lié ? Je suppose qu’avec toutes ces tentatives, fail2ban fonctionne plus. Donc entre ces deux processus, c’est déjà 55% de la RAM qui est utilisée.
Effectivement journald occupe 19,1% de la RAM. Je n’ai jamais vu ça…
Tu n’as pas donné le retour de : ls -l /var/log/journal
Avec la configuration par défaut, si ce dossier existe, journald utilisera le disque plutôt que la RAM.
Fail2ban peut utiliser énormément de RAM si les logs sont importants.
Le plus simple est donc de modifier le fichier /etc/systemd/journald.conf avec :
[Journal]
Storage=persistent
…
Puis de relancer le service :
systemctl restart systemd-journald
ceci devrait créer automatiquement le dossier /var/log/journal avec les bons droits d’accès et surtout obliger journald à utiliser le disque et non la RAM.
Je vous remercie, cela fonctionne. L’utilisation de journald est passée de 20% à 0.9% !
Me conseillez-vous également de brider la taille du fichier avec SystemMaxFileSize ? Car j’imagine que désormais, avec autant de tentatives, le fichier pourra vite peser plusieurs gigas.
Oui c’est sans doute une bonne chose.
Mais il faudra surtout ajuster la configuration du serveur SSH et de fail2ban afin d’avoir des logs qui se remplissent un peu moins.