Ankündigung

Einklappen
Keine Ankündigung bisher.

Serverübergreifende Trackingfunktion für PHP/Pythonscript:

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Serverübergreifende Trackingfunktion für PHP/Pythonscript:

    Hallo + Folgendes:

    Bzw. mich würde erstmal interessieren ob es überhaupt technisch möglich ist eine solche Funktion zu basteln oder evtl. kann hier ein Experte weiterhelfen?

    Also sagen wir ich hab einen Server mit einer MySQL Datenbank und ein System bestehend aus mehreren PHP /Python Scripten, die wiederum auf mehreren verschiedenen beliebigen Servern verteilt sind und über Cronjobs mit der Datenbank kommunizieren.
    Nun möchte ich -in erster Linie um eine Nutzung der Scripte nachverfolgen oder auch unterbinden zu können-
    eine Funktion kreieren, die u.a einen Teil des ausführenden Python-/PHP-Quellcodes in eine separate Datei auslagert, die gleichzeitig einen bestimmten Quelltext enthält,
    der es z.b erfordert, dass sich die betroffene Datei in zeitlich zufällig unregelmäßigen Abständen mit einem bestimmten zentralen Server verbindet
    und bestimmte Werte (z.b aktuelle Pfadinformationen) an eine Tabelle der DB oder Logdatei sendet damit die restlichen Funktionen des Scriptes weiter ausgeführt werden können.
    Der ausgelagerte Teil soll gleichzeitig wiederum versteckt sein bzw. sich in einem gesondert ultrasicher geschützten Ordner befinden, worauf nur der Admin des Z-Servers zugreifen kann.
    Im Idealfall soll hier neben einem normalen passwort ein dynamischer Hash generiert werden, der sich z.b nach einem bestimmten Algorithmus, den ebenfalls nur der Admin des Z-Server kennt in bestimmten Zeitabständen ändert.
    (Also definitiv keine Chance für irgendeinen anderen Systemnutzer in diesen Ordner reinzukommen)
    Wichtig wäre, dass der geschützte Quelltext sich automatisch in den entsprechenden Zeitabständen mit diesem ganz spezifischen Server verbindet egal von wo im Internet das System aus betrieben wird, der verborgene Ordner auch beim Kopieren mitgeschrieben wird und dieser sich nicht -auch nicht mit irgendwelchen Hackertricks- ohne den Zugang auslesen, bearbeiten oder löschen lässt
    und ansonsten das komplette Script nicht funktioniert und eine entsprechende Warnmeldung mit Hinweis in einen wiederum öffentlichen Log gepostet wird.

    Meine Frage: Würde soetwas funktionieren oder ist das eher Unsinn (ließe sich trotzdem mit Tricks umgehen) bzw. es gibt elegantere Lösungen für soeine Anwendung?

    Wer kennt sich aus oder könnte soetwas kreieren?

  • #2
    moin
    erstens postzet du in projecthilfe, was ist das für ein project
    zweitens verstehe ich gar nicht, lkannst du das mal irgendwie kurz und einfach zusammenfassen ?

    Kommentar


    • #3
      Zitat von BCat Beitrag anzeigen
      Der ausgelagerte Teil soll gleichzeitig wiederum versteckt sein bzw. sich in einem gesondert ultrasicher geschützten Ordner befinden, worauf nur der Admin des Z-Servers zugreifen kann.
      Dann kann auch PHP nicht darauf zugreifen. Und was soll den Nutzer des Scripts daran hindern den Code der auf das versteckte Script einfach zu entfernen bzw. zu ändern? Nein, das was du da vor hast wird nicht funktionieren.
      Ich vermute mal dass du sowas wie den phpEncoder von ionCube (ich weiß nur dass es die Software gibt, habe sie aber noch nie eingesetzt, kann deswegen auch nichts weiter dazu sagen; andere Hersteller wie evtl. Zend bieten sowas in die Richtung vmtl. auch an) suchst aber vielleicht verrätst du mal was du eigentlich wirklich vor hast bzw. mit deinem "Lösungsansatz" zu erreichen versuchst.

      Kommentar


      • #4
        BCat Der ganze Ansatz ist bereits zum Scheitern verurteilt. Wenn jemand Kontrolle über Deinen Code hat, dann kannst Du das nicht unterbinden. Dann stell doch einfach eine API zur Verfügung. Was ist denn an Deinem Code so besonders, dass der so extrem geschützt werden muss?

        Kommentar


        • #5
          Zitat von tk1234 Beitrag anzeigen
          Dann kann auch PHP nicht darauf zugreifen. Und was soll den Nutzer des Scripts daran hindern den Code der auf das versteckte Script einfach zu entfernen bzw. zu ändern? Nein, das was du da vor hast wird nicht funktionieren.
          Ich vermute mal dass du sowas wie den phpEncoder von ionCube (ich weiß nur dass es die Software gibt, habe sie aber noch nie eingesetzt, kann deswegen auch nichts weiter dazu sagen; andere Hersteller wie evtl. Zend bieten sowas in die Richtung vmtl. auch an) suchst aber vielleicht verrätst du mal was du eigentlich wirklich vor hast bzw. mit deinem "Lösungsansatz" zu erreichen versuchst.
          Naja verhindert werden soll es dann im Prinzip dadurch, dass der versteckte ausgelagerte Code ja passwortgeschützt ist und der Nutzer das PW nicht kennt. Er ließe sich also garnicht vom Nutzer ändern oder entfernen...?


          Jetzt was möchte ich damit bezwecken: Sagen wir hierzu einfach, dass ich ein PHP-Script erstellt habe, in das ich sehr viel Mühe, Zeit, Arbeit und Geld reingesteckt habe, welches ich auch Anderen für die private Nutzung zur Verfügung stellen möchte. Es soll jedoch für die Nutzung eine Art nicht entfernbares Wasserzeichen bzw. Kopierschutz geben, ohne welches das Script eben nicht funktioniert...

          Da die Nutzer mehr oder weniger den kompletten Code auf ihren eigenen Servern betreiben wollen, müsste dieser Schutz dann auch bereits direkt im Quelltext integriert sein.


          Jetzt ist halt die Frage wie man soetwas am Besten (in PHP) realisieren könnte?







          Kommentar


          • #6
            Zitat von BCat Beitrag anzeigen
            Naja verhindert werden soll es dann im Prinzip dadurch, dass der versteckte ausgelagerte Code ja passwortgeschützt ist und der Nutzer das PW nicht kennt. Er ließe sich also garnicht vom Nutzer ändern oder entfernen...?
            Und wer hat das Passwort? Denn ohne Passwort ist der Code dann ja wertlos und kann nicht ausgeführt werden.

            Zitat von BCat Beitrag anzeigen
            Jetzt was möchte ich damit bezwecken: Sagen wir hierzu einfach, dass ich ein PHP-Script erstellt habe, in das ich sehr viel Mühe, Zeit, Arbeit und Geld reingesteckt habe, welches ich auch Anderen für die private Nutzung zur Verfügung stellen möchte. Es soll jedoch für die Nutzung eine Art nicht entfernbares Wasserzeichen bzw. Kopierschutz geben, ohne welches das Script eben nicht funktioniert...
            Wenn du ein PHP-Script jemanden zur Verfügung stellst, kann er es auch beliebig kopieren/manipulieren.

            Zitat von BCat Beitrag anzeigen
            Da die Nutzer mehr oder weniger den kompletten Code auf ihren eigenen Servern betreiben wollen, müsste dieser Schutz dann auch bereits direkt im Quelltext integriert sein.
            Du hast keine Kontrolle darüber, was auf einem fremden Server passiert. Hier ist alles frei manipulierbar.

            Zitat von BCat Beitrag anzeigen
            Jetzt ist halt die Frage wie man soetwas am Besten realisieren könnte?
            Nicht mit PHP. Sowas muss außerhalb von PHP gelöst werden. ionCube wurde ja bereits genannt, das wäre eine Möglichkeit.

            Kommentar


            • #7
              Ok und dieses ionCube macht konkret was?

              Kommentar


              • #8
                Zitat von BCat Beitrag anzeigen
                Ok und dieses ionCube macht konkret was?
                Es wird verschlüsselter PHP-Code zur Laufzeit entschlüsselt und ausgeführt. Natürlich könnte man hier mit genug kriminellen Willen immer noch einen Memory-Dump machen und den Bytecode auswerten, das stellt jedoch deinen deutlich höheren Aufwand dar, der sich wohl in den meisten Fällen nicht rechnen wird.

                Aber was genau ionCube macht, steht doch auf der Herstellerseite beschrieben, warum schaust du nicht einfach nach?

                https://www.ioncube.com/php_encoder.php

                Kommentar


                • #9
                  Also nur nochmal zum Verständnis: Man könnte jetzt nicht zb. einfach aus einem solchen PW geschützen Ordner heraus wie oben beschrieben (auf dem nur ein ganz bestimmter Administrator Zugang hat) ein Formular oder Ähnliches erstellen, dass z.b in regelmäßigen Abständen einen bestimmten Pingbefehl an alle PHP-Dateien (im öffentlich einsehbaren Bereich) sendet und gleichzeitig -ebenfalls aus diesem geschützten Bereich heraus- einen Befehl kreieren der sämtliche PHP-Dateien die mit dem Script verbunden sind auf dem Server löscht wenn der Pingbefehl z.b 50x nicht erfolgt? Oder benötigen die PHP-Dateien außerhalb zwingend das nicht-bekannte Passwort, damit etwas aus dem geschützten Bereich heraus an diese gesendet werden kann?

                  Kommentar


                  • #10
                    Zitat von BCat Beitrag anzeigen
                    Also nur nochmal zum Verständnis: Man könnte jetzt nicht zb. einfach aus einem solchen PW geschützen Ordner heraus wie oben beschrieben (auf dem nur ein ganz bestimmter Administrator Zugang hat) ein Formular oder Ähnliches erstellen, dass z.b in regelmäßigen Abständen einen bestimmten Pingbefehl an alle PHP-Dateien (im öffentlich einsehbaren Bereich) sendet und gleichzeitig -ebenfalls aus diesem geschützten Bereich heraus- einen Befehl kreieren der sämtliche PHP-Dateien die mit dem Script verbunden sind auf dem Server löscht wenn der Pingbefehl z.b 50x nicht erfolgt? Oder benötigen die PHP-Dateien außerhalb zwingend das nicht-bekannte Passwort, damit etwas aus dem geschützten Bereich heraus an diese gesendet werden kann?
                    Man könnte den PHP-Code, der ganau das macht, einfach löschen oder manipulieren. Also egal, was du dir ausdenkst, man kann dieses Verhalten einfach ändern.

                    Kommentar


                    • #11
                      Zitat von hellbringer Beitrag anzeigen

                      Man könnte den PHP-Code, der ganau das macht, einfach löschen oder manipulieren. Also egal, was du dir ausdenkst, man kann dieses Verhalten einfach ändern.
                      Also auch wenn sich dieser Code der das macht in eben diesem PW-geschützten Ordner befindet? bzw. das Löschen dieses Ordners könnte man nicht einfach unterbinden (oder den Ordner zumindest so gut verstecken, dass es zumindest ein Nicht-Profi nicht ohne Weiteres hinbekommt)?

                      Kommentar


                      • #12
                        Zitat von BCat Beitrag anzeigen
                        Also auch wenn sich dieser Code der das macht in eben diesem PW-geschützten Ordner befindet? bzw. das Löschen dieses Ordners könnte man nicht einfach unterbinden (oder den Ordner zumindest so gut verstecken, dass es zumindest ein Nicht-Profi nicht ohne Weiteres hinbekommt)?
                        Jetzt bin ich aber gespannt, wie du auf einem fremden Server, über den du keine Kontrolle hast, einen Ordner passwortschützen möchtest.

                        Und selbst wenn es theoretisch machbar wäre, was bringt ein Passwortschutz ohne Passwort? Dann kann niemand in den Ordner, auch nicht PHP. Somit ist der Code nicht ausführbar.

                        Kommentar


                        • #13
                          Der PW geschützte (und nicht löschbare) Ordner ist bereits vorhanden wenn das Script auf den Server hochgeladen wird?

                          Kommentar


                          • #14
                            Zitat von BCat Beitrag anzeigen
                            Der PW geschützte (und nicht löschbare) Ordner ist bereits vorhanden wenn das Script auf den Server hochgeladen wird?
                            Aber wo kommt das Passwort her um auf den passwortgeschützten Ordner zuzugreifen? Und wie verhinderst du, dass irgendjemand dieses Passwort einfach nimmt und selber verwendet um den kompletten Ordnerinhalt herauszukopieren?

                            Kommentar


                            • #15
                              Ok jetzt versteh ich die Problematik.... Also der Server muss auf jeden Fall das PW kennen, damit der PHP-Code in dem besagten Ordner ausgeführt werden kann. Gut dann funktioniert das nicht...

                              Kommentar

                              Lädt...
                              X