Ankündigung

Einklappen
Keine Ankündigung bisher.

php security Aspekte

Einklappen

Neue Werbung 2019

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

  • php security Aspekte

    Guten Tag allerseits,

    ich habe mal ne kleine Liste zum Thema php Security zusammengestellt und wollte fragen, was da noch so fehlt. Da es verschiedene Bereiche abdeckt habe ich das Ganze mal hier in das Fortgeschrittenen Forum gestellt, da es zu den Themen bestimmt auch vertiefende Diskussionen/Ratschläge geben kann:

    __________________________________________________ ______________

    > Datenbanken
    -> Innerhalb der Applikation nie als Admin mit der db verbinden, sondern als User mit eingeschränkten Rechten, die nur auf das zugeschnitten sind, was benötigt wird für die Abfrage/n
    -> Verbindung zur db über ssl / ssh
    -> Alle Daten verschlüsseln?
    Habe das aus dem Manual, ich weiß nun nicht genau wie das gemeint ist. Dass man ein Passwort, oder eine Geheimfrageantwort verschlüsselt abspeichert ist klar. Meinen die damit aber, dass man alle Daten eines Users in der Datenbank hashen/verschlüsseln und salten sollte?
    -> Prepared statements gegen sql Injection (pdo am besten nutzen)
    -> Protokollierung und Logging von Abfragen


    > Fehlerbehandlung
    -> Ausgabe von Fehlermeldungen deaktivieren:
    error_reporting und display errors ausschalten


    Weitere Dinge abschalten
    -> register globals
    -> magic quotes
    -> ServerSignature
    -> expose_php


    Sprache verstecken
    -> per .htaccess auf andere Endung umleiten
    -> vor session_start session_name aufrufen und Namen der Sessid ändern


    Weiteres:
    -> chrooted jails ?

    __________________________________________________ ______________

    Weitere wichtige Dinge (Siehe Top10 von OWASP: OWASP Security)

    > Sessions
    > Xss
    > Object references
    > Security misconfigurations
    > Sensitive data
    > Access Control
    > CSRF
    > Components vulnerabilities
    > non-validated redirects.

    Die Details dazu kann man auf dem oben genannten Link nachlesen

    __________________________________________________ ______________

    Soweit mal meine kleine Sammlung, ich bitte euch mir mitzuteilen was da noch fehlen könnte, was unnötig ist etc. Einfach ein kleiner Sammelthread über php application security.

    __________________________________________________ ______________


    Alle meine Informationen sind aus dem php manual: PHP manual security

    Regards,
    Sakron
    No Sacrifice , no Glory--


  • #2
    Zitat von Sakron Beitrag anzeigen
    Meinen die damit aber, dass man alle Daten eines Users in der Datenbank hashen und salten sollte?
    Weißt du was hashen bedeutet? Alle Daten verschlüsseln - meinetwegen. Aber Hashen ist einfach nur Quatsch, da kannst du deine Tabelle gleich mit Random Bytes auffüllen.

    Ansonsten bei OWASP gibts so eine Liste schon, ein bisschen umfangreicher sogar.

    Kommentar


    • #3
      Hab ich korrigiert in meinem Beitrag, sorry. (ja ich kenne den Unterschied)
      Kannst du einen Link dazu posten bitte?

      Edit:
      Aber wieso sollte Hashen für ein Passwort in der db Quatsch sein? Das will ich doch garnicht 'rückentschlüsseln' ? Kann mir doch nur recht sein, wenn das soweit wie möglich 'sicher' abgespeichert ist?
      Oder meintest du nur "Alle Daten hashen ist Quatsch" ?
      Ich bezog das mehr auf die Kombination, alle Daten in der db "unkenntlich" zu machen. Teilweise wird gehashed (Passwörter), anderes wird verschlüsselt (Adresse etc.)
      No Sacrifice , no Glory--

      Kommentar


      • #4
        Alle deine Punkte (Ausnahme die prepared-Statements) sind Themen die erst während des Betriebs zutreffen. Klar sind diese Maßnahmen notwendig, allerdings nicht ausreichend wenn nicht die Applikation entsprechend geschützt ist. Deine einzige Maßnahme die sich bereits während der Entwicklung umsetzen lässt, ist die Nutzung der prepared-Statements.

        Als Vorschlag meinerseits Schau dir mal die OWASP Top-10 Security-Risks (https://www.owasp.org/index.php/Top1...op_10_for_2013) an und vergleiche die angegebenen Angriffe mit deinen Maßnahmen.

        Beispielsweise hast du noch keine Tipps dafür um Session-Hijacking, Session-Fixation oder XSS-Angriffe zu vermeiden.

        Kommentar


        • #5
          Zitat von Sakron Beitrag anzeigen
          Oder meintest du nur "Alle Daten hashen ist Quatsch" ?
          Ich bezog das mehr auf die Kombination, alle Daten in der db "unkenntlich" zu machen. Teilweise wird gehashed (Passwörter), anderes wird verschlüsselt (Adresse etc.)
          Ja, meinte ich.
          Sensible Daten wie Adressen, Kreditkarteninfos, etc. sollte man nach Möglichkeit natürlich verschlüsseln. Was für Daten sensibel sind kommt aber eben oft auf die Applikation an.
          Aber alle Daten? Viele Daten davon sind ja öffentlich auch zugänglich. Was würde es z.B. bringen wenn auf php.de mein PHP-Niveau verschlüsselt gespeichert werden würde, oder die von mir genutzten Frameworks?

          OWASP wurde mittlerweile ja eh auch verlinkt. Ich dachte mit so einem eindeutigen Stichwort findet man das dann leicht...

          Kommentar


          • #6
            Ok, gut nicht dass wir da aneinander vorbei geredet haben Tropi, jetzt passt es ja aber. Du hast recht, alle Daten zu verschlüsseln macht nicht wirklich Sinn.

            Ich erweitere die Liste von oben nun um Folgendes, durch Informationen von OWASP:
            __________________________________________________ ______________
            > Sessions
            > Xss
            > Object references
            > Security misconfigurations
            > Sensitive data
            > Access Control
            > CSRF
            > Components vulnerabilities
            > non-validated redirects.
            __________________________________________________ ______________

            Die Infos dazu kann ja jeder auf der Seite nachlesen.

            Gibt es noch andere größere Themen, die ich nun komplett vergessen habe?

            Regards
            No Sacrifice , no Glory--

            Kommentar


            • #7
              • safe_mode: Kann nützlich sein, um unautorisierten Zugriff zu verhindern auf dein lokales Dateisystem.
              • disable_functions: Erklärt sich eigentlich von selber.
              • HTTP-Request Spoofing

              Kommentar


              • #8
                Zitat von backpack Beitrag anzeigen
                • safe_mode: Kann nützlich sein, um unautorisierten Zugriff zu verhindern auf dein lokales Dateisystem.
                Ist das nicht deprecated?

                Was haltet ihr von chrooted jails ?
                No Sacrifice , no Glory--

                Kommentar


                • #9
                  Zitat von Sakron Beitrag anzeigen
                  Was haltet ihr von chrooted jails ?
                  Viel. Ich bin dafür irgendwie aber zu dämlich.
                  Standards - Best Practices - AwesomePHP - Guideline für WebApps

                  Kommentar


                  • #10
                    Zitat von Sakron Beitrag anzeigen
                    Was haltet ihr von chrooted jails ?
                    Inwiefern ist sowas ein php sicherheitsaspekt?
                    @rkr: sure?

                    Kommentar


                    • #11
                      Zitat von moma Beitrag anzeigen
                      Inwiefern ist sowas ein php sicherheitsaspekt?
                      Kein php spezifischer Sicherheitsaspekt, eher im Bezug auf die ganze php Webapplikation.
                      No Sacrifice , no Glory--

                      Kommentar


                      • #12
                        da gibts noch ein haufen mehr;
                        aber was erwartest du als antwort?
                        ich finde jails doof, weil ich dann meine expoilts nicht testen kann?

                        Kommentar


                        • #13
                          Wichtige Aspekte, die den Nutzern hier in den Sinn kommen, damit ich die Liste immer mehr erweitern kann und das dann anderen Usern hilft, wenn diese ihre php Webapplikation so gut wie möglich sichern möchten. (und natürlich auch mir beim Sicherheitsaspekt meiner Seite)
                          No Sacrifice , no Glory--

                          Kommentar


                          • #14
                            Was haltet ihr von chrooted jails ?
                            aber was erwartest du als antwort?
                            ich finde jails doof, weil ich dann meine expoilts nicht testen kann?
                            Zitat von Sakron Beitrag anzeigen
                            Wichtige Aspekte, die den Nutzern hier in den Sinn kommen, damit ich die Liste immer mehr erweitern kann und das dann anderen Usern hilft, wenn diese ihre php Webapplikation so gut wie möglich sichern möchten. (und natürlich auch mir beim Sicherheitsaspekt meiner Seite)

                            unwichtig?
                            praktisch?
                            unabdingbar?
                            nervig?
                            ich versteh es nicht ganz.

                            Kommentar


                            • #15
                              Zitat von moma Beitrag anzeigen
                              da gibts noch ein haufen mehr;
                              aber was erwartest du als antwort?
                              Darauf hab ich das bezogen. Dass es noch ein Haufen mehr Sicherheitsaspekte gibt.

                              Mit chrooted jails kenne ich mich nicht aus, also hab ich da kaum Erwartungen und freue mich über alles was hier darüber geschrieben wird.
                              No Sacrifice , no Glory--

                              Kommentar

                              Lädt...
                              X