Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 28-10-2019 13:10:26

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Identifier le traffic entrant

Bonjour,

Sur un serveur externe dont plusieurs ports sont ouverts, j'ai installé iftop pour essayer de suivre les différentes connexions.
Mais il m'est difficile de les identifier.
Je vois par exemple beaucoup de processus venant de notused.garantiteknoloji.com.tr apparemment situé en Turquie (normalement le serveur n'a pas vraiment de raisons d'être accédé en dehors... du département).

Est-ce que vous avez une idée de ce que c'est (un serveur Debian ?) et comment puis-je identifier exactement ce que cette adresse cherche à faire ?
Merci.

192.168.1.100:1023                                                                  => 12-32-190-109.dsl.ovh.fr:55170                                                       12,0Kb  13,9Kb  12,4Kb
                                                                                    <=                                                                                      1,62Kb  7,92Kb  4,71Kb
192.168.1.100                                                                       => dns2.isp.ovh.net                                                                        0b      0b    140b
                                                                                    <=                                                                                         0b      0b      0b
192.168.1.100:55297                                                                 => dns1.isp.ovh.net:domain                                                               576b    115b     29b
                                                                                    <=                                                                                       816b    163b     41b
192.168.1.100:http                                                                  => notused.garantiteknoloji.com.tr:33328                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:38107                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:http                                                                  => 194.29.212.112:52502                                                                    0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:38605                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:56574                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => 194.29.210.203:54886                                                                    0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:http                                                                  => 217.68.223.32:47950                                                                     0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:51093                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => 194.29.215.126:38167                                                                  176b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:http                                                                  => 194.29.212.92:46993                                                                     0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:http                                                                  => notused.garantiteknoloji.com.tr:34968                                                 176b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => 217.68.223.144:32783                                                                  176b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:60395                                                 176b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:http                                                                  => notused.garantiteknoloji.com.tr:36282                                                   0b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => 217.68.211.200:62606                                                                  176b     35b     53b
                                                                                    <=                                                                                         0b      0b      9b
192.168.1.100:https                                                                 => notused.garantiteknoloji.com.tr:34512        


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#2 28-10-2019 16:13:57

raleur
Membre
Inscription : 03-10-2014

Re : Identifier le traffic entrant

Anard a écrit :

comment puis-je identifier exactement ce que cette adresse cherche à faire ?


En regardant les logs du serveur web.


Il vaut mieux montrer que raconter.

Hors ligne

#3 28-10-2019 16:33:16

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Merci.
En regardant dans les logs d'apache, je trouve une autre adresse (située en Chine cette fois) qui semble essayer de se connecter à PhpMyAdmin (mais qui n'est pas installé) :

[...] (je n'ai mis qu'un petit bout)
182.61.108.144 - - [28/Oct/2019:10:07:22 +0100] "GET /web/phpMyAdmin/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) G$
182.61.108.144 - - [28/Oct/2019:10:07:22 +0100] "GET /admin/pma/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/$
182.61.108.144 - - [28/Oct/2019:10:07:23 +0100] "GET /admin/PMA/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/$
182.61.108.144 - - [28/Oct/2019:10:07:23 +0100] "GET /admin/mysql/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:23 +0100] "GET /admin/mysql2/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gec$
182.61.108.144 - - [28/Oct/2019:10:07:24 +0100] "GET /admin/phpmyadmin/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:24 +0100] "GET /admin/phpMyAdmin/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:24 +0100] "GET /admin/phpmyadmin2/index.php HTTP/1.1" 404 411 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0$
182.61.108.144 - - [28/Oct/2019:10:07:25 +0100] "GET /mysqladmin/index.php HTTP/1.1" 404 376 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko$
182.61.108.144 - - [28/Oct/2019:10:07:26 +0100] "GET /mysql-admin/index.php HTTP/1.1" 404 413 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:26 +0100] "GET /mysql_admin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:26 +0100] "GET /phpadmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/2$
182.61.108.144 - - [28/Oct/2019:10:07:27 +0100] "GET /phpAdmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/2$
182.61.108.144 - - [28/Oct/2019:10:07:27 +0100] "GET /phpmyadmin0/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:27 +0100] "GET /phpmyadmin1/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:28 +0100] "GET /phpmyadmin2/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Geck$
182.61.108.144 - - [28/Oct/2019:10:07:28 +0100] "GET /phpMyAdmin-4.4.0/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:28 +0100] "GET /phpMyAdmin4.8.0/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:29 +0100] "GET /phpMyAdmin4.8.1/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:29 +0100] "GET /phpMyAdmin4.8.2/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:30 +0100] "GET /phpMyAdmin4.8.3/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:30 +0100] "GET /phpMyAdmin4.8.4/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:30 +0100] "GET /phpMyAdmin4.8.5/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) $
182.61.108.144 - - [28/Oct/2019:10:07:31 +0100] "GET /myadmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20$
182.61.108.144 - - [28/Oct/2019:10:07:31 +0100] "GET /myadmin2/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/2$
182.61.108.144 - - [28/Oct/2019:10:07:31 +0100] "GET /xampp/phpmyadmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:32 +0100] "GET /phpMyadmin_bak/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) G$
182.61.108.144 - - [28/Oct/2019:10:07:32 +0100] "GET /www/phpMyAdmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) G$
182.61.108.144 - - [28/Oct/2019:10:07:32 +0100] "GET /tools/phpMyAdmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:33 +0100] "GET /phpmyadmin-old/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) G$
182.61.108.144 - - [28/Oct/2019:10:07:33 +0100] "GET /phpMyAdminold/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Ge$
182.61.108.144 - - [28/Oct/2019:10:07:34 +0100] "GET /phpMyAdmin.old/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) G$
182.61.108.144 - - [28/Oct/2019:10:07:34 +0100] "GET /pma-old/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20$
182.61.108.144 - - [28/Oct/2019:10:07:34 +0100] "GET /claroline/phpMyAdmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:4$
182.61.108.144 - - [28/Oct/2019:10:07:35 +0100] "GET /typo3/phpmyadmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
182.61.108.144 - - [28/Oct/2019:10:07:35 +0100] "GET /phpma/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/2010$
182.61.108.144 - - [28/Oct/2019:10:07:35 +0100] "GET /phpmyadmin/phpmyadmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:$
182.61.108.144 - - [28/Oct/2019:10:07:36 +0100] "GET /phpMyAdmin/phpMyAdmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:$
182.61.108.144 - - [28/Oct/2019:10:07:36 +0100] "GET /phpMyAbmin/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko$
182.61.108.144 - - [28/Oct/2019:10:07:36 +0100] "GET /phpMyAdmin__/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gec$
182.61.108.144 - - [28/Oct/2019:10:07:37 +0100] "GET /phpMyAdmin+++---/index.php HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0)$
[...]



C'est quelqu'un qui tente de craquer la base de données ?
Je peux bloquer cette IP, mais ça fait pas une semaine qu'il est installé, j'espère ne pas devoir vérifier ce qui se passe tous les jours...

Aussi, suivant le cas, il y a écrit "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36" ou "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:47.0) Gecko/20100101 Firefox/47.0", pour la même IP. Dur de savoir ce que c'est comme machine...

Ceci dit, ces 2 IPs (celle du premier message et cette dernière) ont disparu de iftop maintnenant. Peut-être en ont-ils eu marre de se casser les dents si c'était des hackers.
Ou était-ce des services de Debian qui ont tout simplement terminé leur travail ? Peut-être que je m'inquiètes pour rien quoi.

Dernière modification par Anard (28-10-2019 16:42:22)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#4 28-10-2019 17:02:22

raleur
Membre
Inscription : 03-10-2014

Re : Identifier le traffic entrant

C'est un robot ou un "zombie", ordinateur compromis et contrôlé par un pirate.
Il cherche à exploiter des failles connues dans des logiciels comme PHPMyAdmin sur tous les serveurs web qu'il trouve.
Et oui, il y en aura tous les jours.

Dernière modification par raleur (28-10-2019 17:45:54)


Il vaut mieux montrer que raconter.

Hors ligne

#5 28-10-2019 17:06:47

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

D'accord c'est donc bien ça sad

Ils ne mettent pas de temps, mais à priori, avec une Debian 10 (donc assez récente et à jour), et de surcroit sans PhpMyAdmin installé, je ne risque pas grand chose. Je me trompe ?

Malgré tout, vu que le serveur n'a aucune vocation à être accédé depuis l'étranger, n'y aurait-il pas un moyen, directement depuis Apache (voir iptables, qui si j'ai bien compris agira sur l'ensemble des services ssh, ftp etc, et pas seulement sur le serveur web), de bloquer toutes les IP qui ne viennent pas de France (voire d'Europe pour rester large) ?

"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#6 30-10-2019 01:37:50

infothema
CA Debian-Facile
Lieu : Bégard (Côtes d'Armor)
Distrib. : CentOS 8 - Fedora 32
(G)UI : MATE
Inscription : 28-01-2012
Site Web

Re : Identifier le traffic entrant

Hello Anard,

Question toute bête : tu as bien installé l'application fail2ban pour rejeter les attaques répétées ?

fail2ban est une application qui analyse les logs de divers services (SSH, Apache, FTP…) en cherchant des correspondances entre des motifs définis dans ses filtres et les entrées des logs. Lorsqu'une correspondance est trouvée une ou plusieurs actions sont exécutées. Typiquement, fail2ban cherche des tentatives répétées de connexions infructueuses dans les fichiers journaux et procède à un bannissement en ajoutant une règle au pare-feu iptables pour bannir l'adresse IP de la source.

Dernière modification par infothema (30-10-2019 02:36:53)


Association libriste infothema  située dans les Côtes d'Armor (Bretagne)
Blog : https://www.infothema.fr / Forum : https://www.infothema.fr/forum
Twitter : https://twitter.com/asso_infothema / Compte Mastodon : https://framapiaf.org/@infothema
Diaspora : https://framasphere.org/u/association_infothema

Hors ligne

#7 30-10-2019 13:13:12

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Bonjour et merci.

Suite à ce souci, j'ai activé les modules evasive et security2 d'Apache. Il semble que les tutos trouvés sur internet ne correspondent pas tout à fait aux nouvelles versions (ce que j'ai trouvé disait d'activer mod-security et mod-evasive mais ils ne sont pas nommés comme ceci chez moi) :
$

ls /etc/apache2/mods-available/ | grep evasive


evasive.conf
evasive.load


$

ls /etc/apache2/mods-available/ | grep security


security2.conf
security2.load
$


Mais ça semble fonctionner, en revanche uniquement pour apache.

J'ai donc suivi ton conseil et installé également fail2ban mais activé uniquement pour sshd et vsftpd. En effet, pour apache, il me renvoie une erreur, il semble ne pas trouver le fichier /etc/fail2ban/filter.d/apache
$

sudo service fail2ban status


● fail2ban.service - Fail2Ban Service
   Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-10-30 11:44:03 CET; 1h 26min ago
     Docs: man:fail2ban(1)
  Process: 6399 ExecStartPre=/bin/mkdir -p /var/run/fail2ban (code=exited, status=0/SUCCESS)
 Main PID: 6400 (fail2ban-server)
    Tasks: 5 (limit: 2333)
   Memory: 13.8M
   CGroup: /system.slice/fail2ban.service
           └─6400 /usr/bin/python3 /usr/bin/fail2ban-server -xf start

oct. 30 11:44:03 serveur systemd[1]: Starting Fail2Ban Service...
oct. 30 11:44:03 serveur systemd[1]: Started Fail2Ban Service.
oct. 30 11:44:03 serveur fail2ban-server[6400]:  Found no accessible config files for 'filter.d/apache' under /etc/fail2ban
oct. 30 11:44:03 serveur fail2ban-server[6400]:  Unable to read the filter 'apache'
oct. 30 11:44:03 serveur fail2ban-server[6400]:  Errors in jail 'apache'. Skipping...
oct. 30 11:44:03 serveur fail2ban-server[6400]: Server ready
$



Enfin idem que précédemment, j'ai l'impression que les tutos ne sont plus tout à fait adaptés à Buster.

Ceci dit, c'est très bien, ça me permet de sécuriser un peu les connexions par SSH ou FTP, Apache étant géré en interne.

Aussi, j'ai cru comprendre que ça ne servait pas à grand chose d'ajouter des règles persistantes dans iptables.
En effet, il est fort probable que ces attaques passent par des VPN, auquel cas 1/2h plus tard, l'IP en question sera probablement affectée à une autre personne.
Donc en effet, un bannissement pour 10 minutes voire un peu plus doit être largement suffisante pour faire fuir les robots.
Ceci dit, en suivant les logs d'apache, j'ai l'impression que les attaques se sont bien calmées, avant même de se faire bannir par les modules apache…

Edit à toto : Mis les BBCode du forum au propre en séparant la commande de son retour.
Pour le principe, voir le tuto qu'il est bô, là :
Oh, quel beau BB …code où comment mettre en forme vos messages dans le fofo

Dernière modification par Anard (30-10-2019 13:20:05)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#8 01-11-2019 05:57:16

LaFouine
Membre
Distrib. : Debian testing
Noyau : 4.19.0-4-amd64
(G)UI : Xfce
Inscription : 10-04-2017

Re : Identifier le traffic entrant

salut,
Tu peux filtre avec iptables, c'est du très lourd https://www.inetdoc.net/guides/iptables-tutorial/  si cela peut t'aider.  Autorise que ce qui est utile, et la aux niveau réseaux c'est complexe. c'est pas les tutoriel qui manques, mai vérifie bien tes règles sous peine de ce croire protéger alors que non:|

le probème c est que les fournisseur peuve acheter à tout moment des plages d'ip qui sont à nouveau disponible

Debian testing, nvidia 980 gtx sli, cm asurock 16 gb ram cpu i7 4,2 ghz

Hors ligne

#9 01-11-2019 08:07:59

lagrenouille
Adhérent(e)
Lieu : Toulouse, con !
Distrib. : debian buster - openbsd
Noyau : d'olive
(G)UI : env i3-openbox_bépo
Inscription : 28-03-2012
Site Web

Re : Identifier le traffic entrant

salut

Dés que l'on à un serveur exposé sur le web, on à ce problème

tant que fail2ban fait le boulot, tu n'as pas trop à t'en faire..

si vraiment la même ip te turlupine au point de t'énerver, tu peux la bloquer dans un .htaccess


Order Allow,Deny
Allow from all
Deny from  ip
Deny from ip



mais si c'est des bons casse burne, ils changent l'ip régulièrement

dans apache
regarde La directive MaxRequestWorkers  et   La directive RequestReadTimeout
l'une   qui permet de fixer le nombre maximum de requêtes pouvant être traitées simultanément
l'autre limiter le temps que met le client pour envoyer sa requête.

perso, je les ai pas encore mises..
je ferai peut-être aussi une petite config nftables sur le serveur, mais sans illusions.


tu peux aussi en savoir un tout petit peu plus sur les ip

whois -Bd  ip

Dernière modification par lagrenouille (01-11-2019 08:33:12)


Veuillez laisser l’État dans la malpropreté ou vous avez trouvé en y entrant.

Hors ligne

#10 01-11-2019 09:10:51

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Oui merci.
Avec la commande Whois, j'ai même écrit un petit script qui enregistre l'IP fautive en BDD pour que ce soit plus facile à lire ensuite (ça me permet de voir rapidement combien de fois une IP a été bloquée et ce que c'est).
Malheureusement,pour le moment, je n'ai trouvé que pour le mod_evasive d'Apache comment appeler un script lorsqu'une attaque est détectée, mais j'imagine que c'est possible également pour le module security et pour fail2ban.
L'idée étant ensuite de parcourir cette base et suivant certains critères (nombre d'erreurs en un temps défini) d'ajouter une règle iptables.

Je ne veux pas vous faire part non plus de chaque cas, mais je rencontre celui-ci en plusieurs endroits dans mes logs : la personne tente plusieurs adresses puis sa dernière requête POST sur public/index.php?s=captcha ne semble pas rencontrer d'erreur. Il recharge alors la racine et s'en va. Je ne sais pas s'il est parvenu à ses fins ou non...

112.29.140.225 - - [01/Nov/2019:02:17:36 +0100] "GET /TP/public/index.php HTTP/1.1" 404 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:37 +0100] "GET /TP/index.php HTTP/1.1" 404 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:37 +0100] "GET /thinkphp/html/public/index.php HTTP/1.1" 404 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:38 +0100] "GET /html/public/index.php HTTP/1.1" 404 376 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:39 +0100] "GET /public/index.php HTTP/1.1" 302 210 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:39 +0100] "GET /gestion/public/error-404.php HTTP/1.1" 200 592 "http://109.190.71.189/public/index.php" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:40 +0100] "GET /public/index.php?s=index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1 HTTP/1.1" 403 379 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
112.29.140.225 - - [01/Nov/2019:02:17:40 +0100] "POST /public/index.php?s=captcha HTTP/1.1" 200 437 "-" "Go-http-client/1.1"
112.29.140.225 - - [01/Nov/2019:02:17:41 +0100] "GET / HTTP/1.1" 200 2526 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)"
 



EDIT : @toto : Merci pour la mise en forme, j'essaierai de faire plus attention...

Dernière modification par Anard (01-11-2019 10:01:30)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#11 04-11-2019 10:28:28

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Rebonjour,

Donc non, ça ne fonctionne pas tout à fait comme je l'espère.
J'ai donc activé les modules security2 et evasive d'apache.

  • Si j'ai bien compris, le module security renvoie une erreur 403 à certaines requêtes en fonction de différents shémas, enregistrés dans /usr/share/modsecurity-crs/rules/ . Il en bloque en effet certaines requêtes, par exemple en cas de tentative d'injection de code.

  • Le module evasive ne bloque que les requêtes qui cherche à mettre le serveur en DoS, en demandant le même page avec insistance. Ca fonctionne en effet, mais uniquement en faisant plusieurs fois la même requête.

  • J'ai installé également fail2ban, qui lui apparemment, ne se base que sur les fichiers de log pour interdire une IP si la même trame dans les logs est trouvée plusieurs fois de suite (par exemple dans le cas ou le module security d'apache bloque plusieurs requêtes à la suite).
    Dans l'idéal, j'aimerais qu'il bloque simplement un IP qui reçoit plus de 5 erreurs 404 en 5s par exemple, mais je ne vois pas trop comment lui écrire cette règle sans risquer trop de faux positifs.



En effet, hier soir en lisant les accès au serveur, une même IP a essayé une page inexistante par seconde pendant plus de 20 minutes sans être inquiétée, si ce n'est une dizaine de blocages par le module security.
Serait-ce une erreur de configuration ou est-ce que des erreurs 404 répétées ne déclenche aucune alerte si les pages demandées sont différentes ?

Merci pour votre aide.

cat /etc/apache2/mods-available/evasive.conf



<IfModule mod_evasive20.c>
    DOSHashTableSize    3097
    DOSPageCount        5
    DOSSiteCount        300
    DOSPageInterval     10
    DOSSiteInterval     2
    DOSBlockingPeriod   300

    DOSEmailNotify      ------------@--------------
    #DOSSystemCommand    "su - someuser -c '/sbin/... %s ...'"
    DOSLogDir           "/var/log/mod_evasive"
    DOSSystemCommand  "/usr/local/bin/record_blacklisted apache_evasive %s 2>&1 >> /var/log/mod_evasive/bklsted.log"
</IfModule>



cat /etc/fail2ban/jail.d/defaults-debian.conf


[INCLUDE]
before = paths-debian.conf

[DEFAULT]
bantime = 5m
findtime = 5m
maxretry = 5

destemail = --------@----------
sender = --------@------------
mta = sendmail

[sshd]
enabled = true

[vsftpd]
enabled = true

[php-url-fopen]
enabled = true
logpath = %(apache_access_log)s

[apache-auth]
enabled = true

[apache-nohome]
enabled = true

[apache-noscript]
enabled = true

[apache-overflows]
enabled = true

[apache-badbots]
enabled = true

[apache-botsearch]
enabled = true

[apache-fakegooglebot]
enabled = true

[apache-modsecurity]
enabled = true

[apache-shellshock]
enabled = true
 

Dernière modification par Anard (04-11-2019 10:36:13)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#12 04-11-2019 13:02:20

lagrenouille
Adhérent(e)
Lieu : Toulouse, con !
Distrib. : debian buster - openbsd
Noyau : d'olive
(G)UI : env i3-openbox_bépo
Inscription : 28-03-2012
Site Web

Re : Identifier le traffic entrant

tu peux surveiller apache en temps réel avec

apt install  apachetop



apachetop




iftop est pas mal non plus pour surveiller le réseau
'

iftop -i enp2s0



multitail te donne les logs en directe

apt install multitail



multitail /var/log/apache2/access.log



tu as des outils d'audit réseau comme netdata qui sont intéressant
j'en parle ici:

https://chezlagrenouille.fr/spip.php?article164

Dernière modification par lagrenouille (04-11-2019 13:07:47)


Veuillez laisser l’État dans la malpropreté ou vous avez trouvé en y entrant.

Hors ligne

#13 04-11-2019 13:51:11

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Très intéressant ce lien. yes.gif J'ai pu tester Netdata en me créant un accès VNC temporaire, mais je n'arrive pas à l'accéder en externe directement depuis

https://<ip-distante>:19999

, même après avoir redirigé correctement le port 19999 du routeur.

Mais ça ne répond pas tout à fait à ma question :

Dans l'idéal, j'aimerais [que fail2ban] bloque simplement un IP qui reçoit plus de 5 erreurs 404 en [10s] par exemple, mais je ne vois pas trop comment lui écrire cette règle sans risquer trop de faux positifs.

Dernière modification par Anard (04-11-2019 13:54:01)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

#14 05-11-2019 11:24:08

Anard
Membre
Distrib. : Ubuntu 18.04 / Xubuntu 18.04 / Debian 10
Inscription : 19-07-2017
Site Web

Re : Identifier le traffic entrant

Re.
Désolé mais je ne comprends vraiment pas.
J'ai créé une nouvelle règle qui semble fonctionner :

/etc/fail2ban# cat filter.d/apache-notfound.conf


# Fail2Ban configuration file
#
# Regexp to catch multiple 404 errors


[Definition]

failregex = ^<HOST> -.*"(GET|POST|HEAD).*HTTP\/1\.(0|1)" 404 [\d]{3} .*$

ignoreregex =

datepattern = ^[^\[]*\[({DATE})
              {^LN-BEG}



En faisant des essais, fail2ban se déclenche bien :

cat /var/log/fail2ban.log | grep 11:07


2019-11-05 11:07:30,828 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:30
2019-11-05 11:07:33,739 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:33
2019-11-05 11:07:35,146 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:34
2019-11-05 11:07:36,750 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:36
2019-11-05 11:07:37,551 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:37
2019-11-05 11:07:38,096 fail2ban.actions        [8600]: NOTICE  [apache-notfound] Ban <mon.ip>
2019-11-05 11:07:39,173 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:38
2019-11-05 11:07:39,914 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:39
2019-11-05 11:07:40,964 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:40
2019-11-05 11:07:42,569 fail2ban.filter         [8600]: INFO    [apache-notfound] Found <mon.ip> - 2019-11-05 11:07:42



L'entrée est bien apparue dans iptables :

sudo iptables -L


Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
f2b-apache-notfound  tcp  --  anywhere             anywhere             multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain f2b-apache-notfound (1 references)
target     prot opt source               destination        
REJECT     all  --  <mon-ip-a-l-envers.dsl.ovh.fr>  anywhere             reject-with icmp-port-unreachable
RETURN     all  --  anywhere             anywhere



J'ai écrit "mon-ip-a -l-envers" car au lieu de 109.190.xxx.yyy, il est écrit yyy-xxx-190-109.dsl.ovh.fr
Pour le reste, je ne comprends pas bien ce qui est écrit mais la configuration par défaut de fail2ban

Pourtant, je peux toujours aller charger une adresse existante :

cat /var/log/apache2/access.log | grep 11:07


<mon.ip> - - [05/Nov/2019:11:07:30 +0100] "GET /f HTTP/1.1" 404 413 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:30 +0100] "GET /favicon.ico HTTP/1.1" 200 2539 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:33 +0100] "GET /ff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:34 +0100] "GET /fff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:36 +0100] "GET /ffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:37 +0100] "GET /fffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:38 +0100] "GET /ffffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:39 +0100] "GET /fffffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:40 +0100] "GET /ffffffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:42 +0100] "GET /fffffffff HTTP/1.1" 404 412 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"
<mon.ip> - - [05/Nov/2019:11:07:44 +0100] "GET / HTTP/1.1" 200 2460 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0"



On voit bien que j'ai pu charger une page à 11:07:44, après le bannissement survenu à 11:07:38
Qu'est-ce que j'ai oublié ? scratchhead.gif
Merci beaucoup pour votre aide.

[EDIT]
Comme je disais, fail2ban lance également un script à moi qui enregistre l'IP concernant dans un base de données.
Si l'IP concernée est retrouvée plus d'un certain nombre de fois en un certain temps, je rajoute une règle dans iptables et dans /etc/iptables/rules.v4 pour la bannir définitivement...

iptables -w -A INPUT -s <IP> -j DROP


Cette méthode fonctionne très bien elle. Tellement bien... que je me suis banni et ne peux plus accéder au serveur, même pas en ssh ! lol
Il faudrait peu-être que je trouve la bonne syntaxe pour interdire l'IP sauf sur le port SSH
Je suis en train de télécharger Tails pour me connecter depuis une fausse IP, je n'arrive pas à trouver de fournisseur de VPN gratuit…
REGLE : merci homebrewvpn wink
En tout cas, ça confirme que les directives iptables inscrites naturellement par fail2ban ne fonctionnent pas. kernal_panic.gif
Pourquoi ? Ça reste un mystère… Peut-être ne faut-il pas utiliser iptables-mutiport comme action de bannissement mais autre chose ?

[EDIT2]
Bien j'ai pu régler mon problème : il fallait écrire dans /etc/fail2ban/jail.d/default-debian.conf :

[DEFAULT]
banaction = iptables-allports
# et non banaction = iptables-multiport


Je n'ai pas bien compris le différence, mais il se trouve que ça fonctionne avec allports...

Dernière modification par Anard (05-11-2019 17:12:39)


"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go RAM, Asus GTX670, SSD 256+120+128Go / Bootloader Clover - macOS Mojave / Ubuntu Bionic Beaver / Windows 10
"Serveur" : Dell Optiplex 360, Intel Core2Quad Q8200, 2Go RAM, HDD 150Go+680Go / Grub2 - Debian Buster

Hors ligne

Pied de page des forums