MikeXY: Mittels PHP Traffic kontrollieren / unterbinden?

Hi,

ich hätte gerne ein Script, das kontrolliert, wie viel Traffic auf dem Server verbraucht wird und ab x GB die Anfragen ins Nirvana leitet oder Fehlercodes zurückgibt, so dass kein Traffic mehr verbraucht wird bis ich manuell einschreite...

Kann mir Jemand helfen? Gibts dazu Scripts?

  1. Hello,

    ich hätte gerne ein Script, das kontrolliert, wie viel Traffic auf dem Server verbraucht wird und ab x GB die Anfragen ins Nirvana leitet oder Fehlercodes zurückgibt, so dass kein Traffic mehr verbraucht wird bis ich manuell einschreite...

    Welchen Traffic willst Du denn limitieren?
    Soll nur ein bestimmtes Protokoll überwacht werden, oder der gesamte Internet-Protocol-Traffic?

    Für HTTP gibt es z.B. Apache-Quota.

    Wenn Du den Traffic innerhalb eines CMS kontrollieren willst, musst Du vermutlich dort die Überwachung einbauen.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hi,

    ich hätte gerne ein Script, das kontrolliert, wie viel Traffic auf dem Server verbraucht wird und ab x GB die Anfragen ins Nirvana leitet oder Fehlercodes zurückgibt, so dass kein Traffic mehr verbraucht wird bis ich manuell einschreite...

    Kann mir Jemand helfen? Gibts dazu Scripts?

    Das kann so nicht funktionieren. Überleg mal: Wenn der Traffic an deinem Server angekommen ist, wurde er auch schon bei deinem Webhoster von deinem Inklusiv-Traffic abgezogen ...

    Normalerweise bieten Webhoster aber an, den Traffic ab einem von dir einstellbaren Limit nicht mehr anzunehmen ... das sollte dir deutlich besser helfen.

    1. Hello,

      Das kann so nicht funktionieren. Überleg mal: Wenn der Traffic an deinem Server angekommen ist, wurde er auch schon bei deinem Webhoster von deinem Inklusiv-Traffic abgezogen ...

      Und was hindert Mike dann daran, dies "Ankommen" irgendwann zu unterbinden?

      Du solltest Mess- und Steuerungsfunktionen nicht einfach in einen Topf werfen.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Tach,

        Das kann so nicht funktionieren. Überleg mal: Wenn der Traffic an deinem Server angekommen ist, wurde er auch schon bei deinem Webhoster von deinem Inklusiv-Traffic abgezogen ...

        Und was hindert Mike dann daran, dies "Ankommen" irgendwann zu unterbinden?

        Auf dem Server ist es bereits zu spät dafür, bzw er kann das Verwerten gerne unterbinden, aber das Zählen wird der Webhoster trotzdem nicht unterbrechen ... wieso auch?

        Du solltest Mess- und Steuerungsfunktionen nicht einfach in einen Topf werfen.

        Dito.

        1. Hello,

          Das kann so nicht funktionieren. Überleg mal: Wenn der Traffic an deinem Server angekommen ist, wurde er auch schon bei deinem Webhoster von deinem Inklusiv-Traffic abgezogen ...

          Und was hindert Mike dann daran, dies "Ankommen" irgendwann zu unterbinden?

          Auf dem Server ist es bereits zu spät dafür, bzw er kann das Verwerten gerne unterbinden, aber das Zählen wird der Webhoster trotzdem nicht unterbrechen ... wieso auch?

          Du solltest Mess- und Steuerungsfunktionen nicht einfach in einen Topf werfen.

          Dito.

          Ich verstehe dich jetzt nicht.

          Ein Host der keine Dienste mehr anbietet, oder aber diese nur noch sehr langsam anbietet, oder diese nicht mehr jedem anbietet, reguliert doch damit seinen Traffic.

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. Hallo,

            Ein Host der keine Dienste mehr anbietet, oder aber diese nur noch sehr langsam anbietet, oder diese nicht mehr jedem anbietet, reguliert doch damit seinen Traffic.

            Nur den ausgehenden Traffic - den kann man auf dem Server sehr gut einschränken, weil das unter der Kontrolle des Server steht.

            Aber den eingehenden Traffic - den kann man nur mit einem vorgeschalteten Service (in der Regel vom Webhoster) kontrollieren.

            Beispiel: Viele verschiedene IPs greifen auf einen Server zu. Man kann jetzt den Webserver oder den ganzen Server runter fahren und generiert somit keinen ausgehenden Traffic mehr. Aber wenn diese ganzen IP jedes Mal 1 MB an den Server schicken würden, wäre das eingehender Traffic, der gemessen und berechnet würde. Ob das Ziel (der Server) erreichbar ist oder nicht spielt keine große Rolle ...

            1. Hello,

              Aber den eingehenden Traffic - den kann man nur mit einem vorgeschalteten Service (in der Regel vom Webhoster) kontrollieren.

              Beispiel: Viele verschiedene IPs greifen auf einen Server zu. Man kann jetzt den Webserver oder den ganzen Server runter fahren und generiert somit keinen ausgehenden Traffic mehr. Aber wenn diese ganzen IP jedes Mal 1 MB an den Server schicken würden, wäre das eingehender Traffic, der gemessen und berechnet würde. Ob das Ziel (der Server) erreichbar ist oder nicht spielt keine große Rolle ...

              Wie soll bei TCP/IP nebst nächster Protokollebene 1MB Traffic eingehen, wenn gar kein Dienst mehr vorhanden ist, der diesen behandelt? Dann müsste schon eine echt böse Attacke vorliegen.

              IP-Pakete haben eine Größe von max. 64kBytes. Im Ethernet sind sie im Prinzip auf 1500 Bytes beschränkt. Für das Wechselspiel SYN-ACK  wird ein normal eingerichteter Dienst kaum Tausende von Paketen schicken, wenn er kein ACK bekommt für seine Anfrage.

              Liebe Grüße aus dem schönen Oberharz

              Tom vom Berg

              --
               ☻_
              /▌
              / \ Nur selber lernen macht schlau
              http://bergpost.annerschbarrich.de
              1. Hallo,

                Aber den eingehenden Traffic - den kann man nur mit einem vorgeschalteten Service (in der Regel vom Webhoster) kontrollieren.

                Beispiel: Viele verschiedene IPs greifen auf einen Server zu. Man kann jetzt den Webserver oder den ganzen Server runter fahren und generiert somit keinen ausgehenden Traffic mehr. Aber wenn diese ganzen IP jedes Mal 1 MB an den Server schicken würden, wäre das eingehender Traffic, der gemessen und berechnet würde. Ob das Ziel (der Server) erreichbar ist oder nicht spielt keine große Rolle ...

                Wie soll bei TCP/IP nebst nächster Protokollebene 1MB Traffic eingehen, wenn gar kein Dienst mehr vorhanden ist, der diesen behandelt? Dann müsste schon eine echt böse Attacke vorliegen.

                Wir reden hier völlig aneinander vorbei.

                Das war nur ein Beispiel von mir. Ich habe nirgendwo TCP/IP erwähnt ... dann nimm einfach UDP an. Abgesehen davon rede ich einzig und alleine vom Accounting des Webhosters - von nichts anderem.

                Fakt ist, auf den eingehenden Traffic hat man nicht die volle Kontrolle. Was meinst du, warum es Dienstleister gibt, die sich auf die Abwehr von DDOS spezialisiert haben? Die brauchen eine ganz andere Infrastruktur.

                Belassen wir es einfach dabei.

                1. Hello,

                  Belassen wir es einfach dabei.

                  Nö. Sehe ich gar nicht ein. :-)

                  Die Frage ist doch, ob man mit PHP den Traffic kontrollieren kann, also aus einer Anwendungsschicht heraus Maßnahmen ergreifen kann, um den Traffic zu messen, zu regeln und zu steuern.

                  Das ist möglich. Dazu benötigt die Anwendung allerdings Zugriff auf passende "Fühler" und "Schalter".

                  DoS funktioniert auch nur noch dann, wenn es einen Service gibt, der sich kompromittieren lasst. Wenn dieser Service aber vorher schon dem (einen) Angreifer den Traffic versagt, muss eben die nächste Stufe herhalten: DDoS. Das wird dann freilich schon schwieriger. Da kann man dann den Service nur noch herunterfahren (was ja das Ziel der Attacke ist) und damit auch wieder den Traffic (erheblich) vermindern.

                  Der OP hat aber nicht von Attacken gesprichen, sondern nur von einfacher "Traffic-Kontrolle".

                  Die ist auf jeden Fall möglich. z.B. durch Bandwidth Shaping.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Hi!

                    Die Frage ist doch, ob man mit PHP den Traffic kontrollieren kann, also aus einer Anwendungsschicht heraus Maßnahmen ergreifen kann, um den Traffic zu messen, zu regeln und zu steuern.

                    Traffic kommt, "deny from all" zieht, der einkommende Request wird vollständig aufgenommen, bevor die Antwort vom Webserver rausgeht. PHP sieht davon nichts, kann also nicht alles messen. Es gibt sicher auch noch andere Resourcen anzufragen, die der Webserver behandelt, ohne PHP dazu aufzurufen. Messen klappt schon nicht vollständig.

                    Wie soll PHP blockieren? Auch die von PHP behandelten Request können eine Menge Daten mitbringen. Dagegen kann sich PHP nicht wehren.

                    Kann PHP den Apache einschränken? Für den ankommenden Verkehr jedenfalls nicht per Webserverkonfiguration. Ihn ganz ausschalten geht vielleicht, wenn man ihm genügend Rechte gibt, in der Regel root-Rechte, was man eigentlich nicht will. Und dann ist aus die Maus, weil damit auch PHP nichts mehr mitbekommt. Es sei denn, es kann selbständig einen Deamon/Dienst aufsetzen, der Requests gleich nach dem Connect abbricht. Damit hat man aber immer noch die Connect-Pakete, die zumindest durch die vorgelagerten Router des Hosters gehen.

                    Apache-Module zur Traffic-Regulierung? Die werden sich selbst genügend im Rahmen ihrer Möglichkeiten regulieren können, ohne dass man dazu PHP braucht, das ihnen die Konfigurationswerte ändert.

                    Lo!

                    1. Hello,

                      Die Frage ist doch, ob man mit PHP den Traffic kontrollieren kann, also aus einer Anwendungsschicht heraus Maßnahmen ergreifen kann, um den Traffic zu messen, zu regeln und zu steuern.

                      Traffic kommt, "deny from all" zieht, der einkommende Request wird vollständig aufgenommen, bevor die Antwort vom Webserver rausgeht. PHP sieht davon nichts, kann also nicht alles messen. Es gibt sicher auch noch andere Resourcen anzufragen, die der Webserver behandelt, ohne PHP dazu aufzurufen. Messen klappt schon nicht vollständig.

                      Wer hat denn davon gesprichen, dass PHP messen soll? Die Applikation in PHP soll nur ermächtigt werden, die Messergebnisse abzufragen und die Steuerungsfunktionen zu beeinflussen.

                      Du denkst zu starr.

                      Liebe Grüße aus dem schönen Oberharz

                      Tom vom Berg

                      --
                       ☻_
                      /▌
                      / \ Nur selber lernen macht schlau
                      http://bergpost.annerschbarrich.de
                      1. Hi!

                        Wer hat denn davon gesprichen, dass PHP messen soll? Die Applikation in PHP soll nur ermächtigt werden, die Messergebnisse abzufragen und die Steuerungsfunktionen zu beeinflussen.

                        Nunja, PHP kann sicher auch die Logfiles und andere Statistiken mehr oder weniger ständig befragen. Aber wenn nur PHP zum Einsatz kommen kann, dann ist man doch wohl eher beim "betreuten Wohnen" bei einem Hoster und nicht in der Lage, wirksame Maßnamnen zur Trafficverringerung einzuleiten. Wenn man selbst den Server verwaltet, nun dann würde man wohl eher andere Tools nehmen als PHP. (Monit wäre dann ein brauchbares.)

                        Lo!

                        1. Der Webspace ist wirklich mehr als billig aber ich traue mich gar nicht, was damit halbwegs anzufangen, denn man bekommt gar keine Kontrollmöglichkeit. Man soll ab der Überschreitung eine Mail bekommen, aber oft könnte das einfach zu spät sein und dann hat man den Billigstspace...

                          Naja, werde mir vllt einfach was anderes suchen.

                          Deshalb kam meine Frage...

                          1. Hello,

                            Der Webspace ist wirklich mehr als billig aber ich traue mich gar nicht, was damit halbwegs anzufangen, denn man bekommt gar keine Kontrollmöglichkeit. Man soll ab der Überschreitung eine Mail bekommen, aber oft könnte das einfach zu spät sein und dann hat man den Billigstspace...

                            Naja, werde mir vllt einfach was anderes suchen.

                            Deshalb kam meine Frage...

                            Die Frage war sicherlich auch berechtigt.

                            Das erste Mal habe ich so einen Nepp bei unserer ersten Internet-Standleitung von der Telekom erlebt. Die haben den Traffic über einen Router ermittelt, der beim Kunden stand. Leider war die Leitung aber so instabil, dass der sich öfter zurückgesetzt hat, und neu angefangen hat zu zählen. Dafür wurde dann vom Großrechner der Abrechnungsstelle einfach ein Standardwert eingesetzt. So kamen dann plötzlich ca. 5.000 DM Traffic raus in einem Monat. Die Leitung hatte 1.000/192 kBit und kostete bereits 400DM Grundgebühr.

                            Liebe Grüße aus dem schönen Oberharz

                            Tom vom Berg

                            --
                             ☻_
                            /▌
                            / \ Nur selber lernen macht schlau
                            http://bergpost.annerschbarrich.de