Bonjour,
Je constate des ruptures de service https sur un serveur Debian 9. A ces moments je remarque ce genre de logs:
an 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
Jan 25 20:37:08 vm3215 snmpd[88043]: Connection from UDP: [85.31.193.78]:44145->[ip.de.mon.serveur]:161
...
3300 connexions de ce genre dans la journée par cette IP russe.
une tentative de compromission.
Il ne faut jamais permettre SNMP sur une IP publique.
Il faut que tu modifie ta configuration SNMP pour ne plus être sur l’ip publique. Configurer ton Firewall pour bloquer ce genre de tentatives.
Une rapide recherche sur le web et notamment une recherche dans la base whois indique que l’IP 85.31.193.78 est gérée par Jaguar Network SAS, un opérateur de réseau historiquement basé à Marseille et qui semble appartenir actuellement au groupe Iliad (Free, Online/Scaleway etc).
Si snmpd enregistre une ligne de log à chaque paquet UDP reçu, je ne suis pas surpris que cela surcharge une VM avec peu de ressources processeur.
Et, effectivement, un service SNMP ne devrait pas être exposé sur Internet. En plus du risque de piratage, le serveur peut être utilisé dans le cadre d’un DoS via son utilisation de UDP.
Effectivement, c’est une IP de l’hébergeur Jaguar. SNMP ne semble exposé que sur des IP de chez eux.
Par contre les logs peuvent suffir à surcharger la VM ?
Chaque ligne de log indique « Connection from UDP », ça ne veut pas dire qu’on log à chaque paquet j’espère, mais à chaque conexion, non ?
D’après ce que je vois, on a l’option de logs SNMP par défaut:
syscontact "noc@as30781.net"
com2sec local 127.0.0.1/32 Ef4Twyff
com2sec local 85.31.192.0/26 Ef4Twyff
com2sec local 85.31.193.0/26 Ef4Twyff
com2sec local 85.31.193.64/26 Ef4Twyff
com2sec local 10.0.192.0/26 Ef4Twyff
com2sec local 10.0.193.0/26 Ef4Twyff
com2sec local 10.0.193.64/26 Ef4Twyff
group MyROGroup v1 local
group MyROGroup v2c local
group MyROGroup usm local
view all included .1 80
access MyROGroup "" any noauth exact all none none
extend check_md_raid /opt/admin/bin/check_md_raid.sh
Avant de supprimer il faudrait savoir d’où vient cette configuration SNMP et pourquoi elle a été mise en place.
Après tout ces entrées dans les logs sont peut-être légitimes et dues à un outil de monitoring mis en place par l’hébergeur as30781.net / Jaguar Networks
Les logs peuvent ils réellement pénaliser le serveur à ce point ?
On voit ici à une heure d’une rupture de service que 42 conexions snmp ont été établies dans la seconde:
kmc@vm3215:~$ grep 20:33:06 syslog-20210126
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
Jan 25 20:33:06 vm3215 snmpd[88043]: Connection from UDP: [85.31.192.48]:42312->[85.31.203.69]:161
kmc@vm3215:~$ grep 20:33:06 syslog-20210126 |wc
42 378 4158
Mais il y a de telles conexions toute la journée et la rupture de service n’apparait que certains jours, 3 à 4 fois à heures irrégulières. Ce serait donc le cumul de ces conexions avec d’autres process ?
D’autre part je ne scrute les serveurs qu’une fois par heure et ne peux donc être précis sur le temps et la durée des indisponibilités.
Y-aurait-il un moyen de détecter l’origine des ruptures de service de façon certaine sans trop ajouter à la charge du serveur ?
Pas besoin d’utiliser nmap, le retour de la commande ss est déjà assez parlant…
Maintenant il faut savoir si ces services sont légitimes (serveur NTP) ou on vocation a tourner sur un serveur directement relié à l’Internet (serveur NFS et serveur SNMP).
Pour le SNMP il faut voir avec ton hébergeur mais cela ne me semble franchement pas propre comme configuration. Et il n’est pas non plus normal d’avoir autant de connexions de diverses machines dans leurs plages d’IP.
Tu as une machine dont l’Ip est 27.70.134.169 qui tente de se connecter en SSH à ton serveur. L’utilisateur est « unknown » parce qu’il ne s’est pas encore identifié.
C’est sur un réseau local 192.168.1.0/24. Au vu du port utilisé, probablement une conexion de ta machine vers un partage NFS.
Bah des tentatives de connexion ssh, il y en a sans arrêt. Et encore, sur ce serveur il y en a peu. Actuellement 138 IP bannies par fail2ban pour tentative SSH et 14 en recidive . J’ai d’autres serveurs où ça monte à 3000 en recidive…
On dirait que je ne vais pas réussir à expliquer les ruptures de service sur ce serveur.
La configuration de ton serveur est étrange avec des services qui n’y ont peut-être pas leur place, une configuration de snmpd douteuse et une connectivité à plusieurs réseaux.
Maintenant, ce que tu appelles des ruptures http, c’est peut-être simplement une surcharge du serveur web, ou une mauvaise configuration qui ne lui permet pas de supporter le charge. Cela tu peux le voir avec tes outils de monitoring : nombre de requêtes HTTP, nombre de processus Apache ou Nginx, etc.