Auteur Sujet: Question iptables pour loguer les clients qui ont +30 connexion TCP simmultanées  (Lu 7761 fois)

0 Membres et 1 Invité sur ce sujet

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
0x16 0x03 0x01 c'est un début d'un handshake TLS 1.0 (cf http://blog.fourthbit.com/2014/12/23/traffic-analysis-of-an-ssl-slash-tls-session).
Du coup en capturant le reste des données tu peux peut-être récupérer plus d'informations, mais pour récupérer la requête il faudrait que le serveur réponde au handshake.

Quelqu'un aurait configuré https://ubuntu.lafibre.info:80, un passage en https (par exemple via un script) d'une url qui spécifiait inutilement le port ?

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Du https sur le port 80, bien vu.

Pourquoi ouvrir plus de 400 connexions simultanées aussi ?

Bref, il y a toujours des cas tordus sur près de 900 000 machines qui font leur mise à jour quotidiennement.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 237
  • Chambly (60)
Peut-être plusieurs machines avec la même configuration sur un réseau d'entreprise (si la recherche de mise à jour se fait à heure fixe).

Mais étant donné qu'Apache doit rapidement terminer la connexion, c'est étonnant d'arriver à 400 connexions simultanées, sauf si le parc de machines est assez grand.

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
La recherche ne se fait pas à heure fixe, heureusement pour les serveurs ! (les veilles versions avaient une plage d 40 minutes de random pour les mises à jour tôt le matin mais ce n'est plus le cas avec les versions récentes)

Quand je limitait à 30 connexions simultanées, là j'ai vu des IP avec des grands parcs, il y a du trafic toute la journée (et on voit aux fichiers demandés qu'il y a différentes versions déployés)

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
J'ai réactivé hier de 7h à 22h les règles iptables pour limiter le nombre de connexion à 50 ouvertes simultanèment.

J'ai été moi même bloqué par cette limite alors que je surfait sur le forum, avec un seul PC (Ubuntu 19.04) et un seul navigateur (Firefox 66.0.3 64bits).

Voici son implèmentation :
nano /root/qos-iptables.sh

#!/bin/dash
# Limiter le nombre de sessions tcp par client (un client = une IPv4 ou un /64 en IPv6)
/sbin/iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 -m limit --limit 2/min -j LOG --log-prefix="drop-c-"
/sbin/iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 -j REJECT
/sbin/ip6tables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 --connlimit-mask 64 -m limit --limit 2/min -j LOG --log-prefix="drop-c-"
/sbin/ip6tables -A INPUT -p tcp --syn -m connlimit --connlimit-above 50 --connlimit-mask 64 -j REJECT

Le manuel https://www.chedong.com/phpMan.php/man/iptables-extensions/8

explique pourtant :

connlimit
       Allows you to restrict the number of parallel  connections  to  a  server  per  client  IP
       address (or client address block).

       --connlimit-above n
              Match if the number of existing connections is above n.

       Examples:
       # allow 2 telnet connections per client host
              iptables -A INPUT -p tcp --syn --dport  23  -m  connlimit  --connlimit-above  2  -j
              REJECT


J'ai récupéré les stats Apache que j'ai filtré sur mon IP pour voir ce que je faisais avant le blocage et compter les connexions (connexion 1 = la connexion ouverte juste avant le blocage), pour voir ou remonte les 50 connexions qui sont censées être ouvertes : Pour avoir 50 connexions ouverte, il faut toutes celles ouvertes la dernière demi-heure soient restées ouvertes !

Je n'ai fait que consulter ou éditer des messages dans une seule fenêtre et j'ai une connexion 100 Mb/s donc le chargement est rapide, bref pour moi c'est incompréhensible.




Ce qui est sur fond blanc, ce sont les log Apache2
Ce qui est sur fond jaune, ce sont les stats iptables obtenues par la ligne journalctl -k | grep drop-c-

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Un second exemple dans la soirée, là il faut cumuler 45 minutes de surf pour voir les 50 connexions sur mon forum.

Il est pourtant évident que les premières connexions ont été rapidement fermées.



Voici le fichier LibreOffice Calc, lisible avec Excel : 201904_--connlimit-above_drop.ods

Je suis sur de ne pas avoir d'autres connexions sur le serveur, donc je ne comprends pas ce blocage.

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 644
  • WOOHOO !
    • OrneTHD
Tes règles m'interpellent : tu cibles toutes les connexions, sans distinction de leur état.

Tu as tenté de spécifier seulement les "ESTABLISHED" ?

Free_me

  • Abonné Free fibre
  • *
  • Messages: 3 075
  • Marseille
Je ne comprend pas bien pourquoi il fait gerer ca avec iptable.
nginx et php-fpm et je limite dans la conf nginx exactement  à ce que je veux pour la vm...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
donc les regles iptables fonctionnent bien c'est jusqu'il y a trop de connexions non fermées au bout d'un moment ? le souci est du coté d'apache donc ?

qu'indique l’état des connexions restantes ouvertes ? (avec "ss -iep" par exemple)