[Tue Jun 02 23:03:57.998104 2020] [:error] [pid 12810] [client 128.1.134.111:21147] script '/var/www/html/dong.php' not found or unable to stat
[Tue Jun 02 23:03:58.249799 2020] [:error] [pid 12810] [client 128.1.134.111:21147] script '/var/www/html/xun.php' not found or unable to stat
[Tue Jun 02 23:04:00.265472 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/datas.php' not found or unable to stat
[Tue Jun 02 23:04:00.507619 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/aojiao.php' not found or unable to stat
[Tue Jun 02 23:04:00.760308 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/guipu.php' not found or unable to stat
[Tue Jun 02 23:04:01.005457 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/zhui.php' not found or unable to stat
[Tue Jun 02 23:04:02.050350 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/ji.php' not found or unable to stat
[Tue Jun 02 23:04:02.296597 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/xing.php' not found or unable to stat
[Tue Jun 02 23:04:05.827691 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/c.php' not found or unable to stat
[Tue Jun 02 23:04:06.094603 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/c.php' not found or unable to stat
[Tue Jun 02 23:04:06.343212 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/test.php' not found or unable to stat
[Tue Jun 02 23:04:06.593048 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/laobiao.php' not found or unable to stat
[Tue Jun 02 23:04:06.862326 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/sample.php' not found or unable to stat
[Tue Jun 02 23:04:11.014602 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/shell.php' not found or unable to stat
[Tue Jun 02 23:04:11.253864 2020] [access_compat:error] [pid 22569] [client 128.1.134.111:28879] AH01797: client denied by server configuration: /var/www/html/data/admin
[Tue Jun 02 23:04:11.760910 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/12.php' not found or unable to stat
[Tue Jun 02 23:04:13.434213 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/ecmsmod.php' not found or unable to stat
[Tue Jun 02 23:04:15.709431 2020] [:error] [pid 22569] [client 128.1.134.111:28879] script '/var/www/html/user.php' not found or unable to stat, referer: 554fcae493e564ee0dc75bdf2ebf94caads|a:3:{s:2:"id";s:3:"'/*";s:3:"num";s:141:"*/ union select 1,0x272F2A,3,4,5,6,7,8,0x7b247b24524345275d3b6469652f2a2a2f286d6435284449524543544f52595f534550415241544f5229293b2f2f7d7d,0--";s:4:"name";s:3:"ads";}554fcae493e564ee0dc75bdf2ebf94ca
[03-Jun-2020 10:04:54 Europe/Berlin] PHP Notice: Array to string conversion in /var/www/html/index.php on line 28
[Wed Jun 03 11:01:10.371630 2020] [access_compat:error] [pid 31763] [client 195.54.160.135:36518] AH01797: client denied by server configuration: /var/www/html/vendor/phpunit
[Wed Jun 03 11:01:10.874554 2020] [access_compat:error] [pid 5270] [client 195.54.160.135:40682] AH01797: client denied by server configuration: /var/www/html/vendor/phpunit
[Wed Jun 03 12:16:11.088675 2020] [:error] [pid 27967] [client 172.105.89.161:54330] script '/var/www/html/data.php' not found or unable to stat
S’agit-il de tentatives d’intrusion à votre avis?
Merci d’avance pour vos avis
Je ne suis pas expert, mais je dirai que c’est pas tres rassurant.
D’ailleur ça fait plusieurs semaine que je souhaite ouvrir un poste sur la sécurité, de nos serveur Linux.
Car après avoir subit une grosse attaque au travail, je suis un peu en flip de tout ça.
Rien de méchant, juste une série de « robots » qui tentent de trouver des failles connues sur nos serveurs.
Une solution efficace, c’est fail2ban, j’en avais déjà parlé sur l’ancien forum et un fichier de config est dispo dans jeedom dans install/fail2ban.jeedom.conf
C’est une bonne base pour pouvoir sécuriser un peu
J’ai tout configuré comme indiqué et j’ai ce matin le log suivant:
[Thu Jun 04 20:39:55.207691 2020] [:error] [pid 2179] [client 3.7.66.180:50850] script ‹ /var/www/html/elrekt.php › not found or unable to stat
[Fri Jun 05 00:35:23.270568 2020] [access_compat:error] [pid 23973] [client 195.54.160.135:45898] AH01797: client denied by server configuration: /var/www/html/vendor/phpunit
[Fri Jun 05 01:01:18.635167 2020] [core:error] [pid 21492] [client 23.97.200.17:51711] AH00126: Invalid URI in request GET index.php?v=d HTTP/1.1
[Fri Jun 05 01:01:21.247861 2020] [core:error] [pid 21035] [client 23.97.200.17:51728] AH00126: Invalid URI in request OPTIONS index.php?v=d HTTP/1.1
[Fri Jun 05 01:01:24.573673 2020] [core:error] [pid 23984] [client 23.97.200.17:51748] AH00126: Invalid URI in request POST index.php?v=d HTTP/1.1
[Fri Jun 05 01:01:34.493924 2020] [core:error] [pid 20526] [client 23.97.200.17:51781] AH00126: Invalid URI in request GET index.php?v=d HTTP/1.1
[Fri Jun 05 01:17:30.774388 2020] [access_compat:error] [pid 23984] [client 195.54.160.135:47600] AH01797: client denied by server configuration: /var/www/html/vendor/phpunit
[Fri Jun 05 08:51:56.315702 2020] [:error] [pid 29646] [client 166.62.92.37:26181] script ‹ /var/www/html/l.php › not found or unable to stat
[Fri Jun 05 08:51:56.482361 2020] [:error] [pid 29646] [client 166.62.92.37:26181] script ‹ /var/www/html/phpinfo.php › not found or unable to stat
[Fri Jun 05 08:51:56.649733 2020] [:error] [pid 29646] [client 166.62.92.37:26181] script ‹ /var/www/html/test.php › not found or unable to stat
C’est normal?
Comment savoir si fail2ban est bien actif et opérationnel avec la nouvelle config ?
Sur le téléphone difficile de lire mais en principe tu devrais voir que 3 ou 4 actions par adresses ip (le temps que le ban s’active) et pas une longue liste comme avant.
En plus tu peux consulter les logs de fail2ban : par défaut
sudo tail -f /var/log/fail2ban.log
Alors, je vais encore profiter un peu de tes connaissances (les miennes sont réduites sur Linux), si tu veux bien.
Dans le répertoire /var/log, j’ai des fichiers multiples xxxx.log.1 xxx.log.2.gz xxx.log.3.gz etc
Certains sont « gros » et j’imagine qu’il n’y a pas besoin impérieux de les garder.
Je peux delete les .3 .4 .5 .6 etc ou pas?
Mon Jeedom (sous RaspBian) tourne maintenant depuis 1 an et demi, il y a d’autres « ménages » à faire ailleurs?
Salut.
Donc tu vois les actions de ban et unban désormais ?
Concernant les archives de log (x.gz) oui il n’y a pas beaucoup de risques à les effacer manuellement, s’il existent sous cette forme, c’est qu’il y a probablement déjà des mécanismes de gestion en place et donc des actions d’effacement en fonction de la taille et/ou date d’ancienneté
Comme tous tu as quelques machines qui scannent/viennent essayer d’accéder au contenu de ton jeedom. Pas en ciblant précisément ton cas mais en essayant des choses courantes : ici l’accès à ‹ vendor/phpunit ›
Ton jeedom refuse bien l’accès et affiche ça dans le log.
De ton côté, tu es tombé sur une machine dont le port 80 est ouvert mais sans configuration. Le serveur affiche donc la page par défaut en copie.
Rien de surprenant ni de particulier ni une erreur c’est le comportement attendu là-bas : tu demandes une page html : ça renvoi du contenu (ou une erreur) …
Bref tu viens de faire à la main exactement la même chose que ces machines qui scannent automatiquement.
Pour déborder un peu et devancer ta question, actuellement si cette machine vient chercher la ‹ vendor/phpunit › 200 fois par jour. Ton jeedom rejete 200 fois la demande. Fail2ban permettra de limiter la quantité au bout de quelques tentatives, la demande sera jetée toute de suite.
http*.error ça veut dire tous les fichiers qui commencent par http et qui finissent par .error
Donc http.error en fait partie… ce sont les fichiers analysés PAR fail2ban
Tu as tout interets à mettre les traces de fail2ban ailleurs que dans le même fichier qu’apache
Aucun intérêt de re-analyser les logs de fail2ban, donc oui pour cette destination mais pas en changeant le filtre
Ah ok. Je n’avait pas compris la philosophie du fonctionnement . Maintenant c’est plus clair.
Pour le moment je vois le log via cette commande trouvée sur ce forum: sudo tail -f /var/log/fail2ban.log
2021-01-22 19:56:28,725 fail2ban.filter [27062]: INFO maxRetry: 3
2021-01-22 19:56:28,725 fail2ban.filter [27062]: INFO findtime: 7200
2021-01-22 19:56:28,726 fail2ban.actions [27062]: INFO banTime: 28800
2021-01-22 19:56:28,730 fail2ban.jail [27062]: INFO Jail 'sshd' started
2021-01-22 19:56:28,732 fail2ban.jail [27062]: INFO Jail 'apache-badbots' started
2021-01-22 19:56:28,734 fail2ban.jail [27062]: INFO Jail 'apache-noscript' started
2021-01-22 19:56:28,735 fail2ban.jail [27062]: INFO Jail 'apache-overflows' started
2021-01-22 19:56:28,737 fail2ban.jail [27062]: INFO Jail 'apache-botsearch' started
2021-01-22 19:56:28,740 fail2ban.jail [27062]: INFO Jail 'apache-multiport' started
J’aurais trouvé facile d’avoir ce log intégré dans la liste des Log de Jeedom (près de cron_execution, http.error, event, …)
Oui, c’est plus pratique mais moins simple pour les débutants car il faut faire plusieurs actions
De plus, une fois que ça tourne correctement, fail2ban on l’oublie
As tu des logs à cet endroit ? Par défaut (avec jeedom) c’est pas le cas…
Dans le fail2ban.log j’ai l’INFO de 3 IP trouvées sur les 10 lignes d’info
En dessous, que veut dire la ligne Total failed: 10 ?
Pour la ligne Total banned: 1 j’imagine que c’est l’IP qui revient 8 fois qui est bannie ?
Le bannissement n’est pas continue, de ce que je vois dans la config il y a bantime qui défini la durée (60min).
Si je banni une ip avec la commande ci-dessous, est-ce éternellement ou bien après un certain délai l’ip redevient « également autorisée »? sudo fail2ban-client set apache-multiport banip 45.154.007.099