tbee's page
   home  work  myself  mixed  guestbook  
   
      INHALT MySQL Sicherheitsrichtlinien zum Betrieb von Mysql

Wer mir was gutes tun will kauft �ber diesen Link bei Amazon ein !

Sicherheitsrichtlinien zum Betrieb von Mysql

Modifizierter Auszug aus den MySQl Handbuch

Wenn Sie MySQL laufen lassen, sollten Sie m�glichst immer folgende Richtlinien beachten:

  • GEBEN SIE NIEMALS JEMANDEM AUSSER DEM MySQL-ROOT-BENUTZER ZUGRIFF AUF DIE user-TABELLE IN DER mysql-DATENBANK! Das verschl�sselte Passwort ist das echte Passwort in MySQL.
  • Checkliste:
    • Probieren Sie mysql -u root. Wenn es Ihnen gelingt, sich erfolgreich mit dem Server zu verbinden, ohne nach einem Passwort gefragt zu werden, haben Sie ein Problem!
    • Benutzen Sie den Befehl SHOW GRANTS und pr�fen Sie nach, wer Zugriff auf was hat.
  • Keine Klartext-Passw�rter in Ihrer Datenbank.
    Benutzen Sie statt dessen MD5() oder eine andere Einweg-Hash-Funktion.
  • Benutzen Sie keine Passw�rter aus Lexika
  • Investieren Sie in eine Firewall.
  • Trauen Sie keinen Daten, die von Benutzern eingegeben werden. Sie k�nnen versuchen, Ihren Code auszutricksen, indem Sie spezielle oder escapete Zeichenfolgen in Web-Formulare, URLs oder sonstige Applikationen, die Sie hergestellt haben, eingeben.
    Stellen Sie sicher, dass Ihre Applikation sicher bleibt, wenn ein Benutzer etwas wie ``; DROP DATABASE mysql;'' eingibt. Das ist ein extremes Beispiel, aber gro�e Sicherheitsl�cken und Datenverlust k�nnen eintreten, wenn ein Hacker �hnliche Techniken benutzt und Sie nicht darauf vorbereitet sind.
    Denken Sie auch daran, numerische Daten zu �berpr�fen.
    Die einfachste Art, sich vor dieser Art von Angriffen zu sch�tzen, ist, Apostrophe um numerische Konstanten herum zu benutzen: SELECT * FROM tabelle WHERE ID='234' statt SELECT * FROM tabelle WHERE ID=234.
  • Checkliste:
    • Alle Web-Applikationen:
      • Versuchen Sie, `'' und `"' in alle Ihr Web-Formulare einzugeben. Wenn Sie irgend welche MySQL-Fehler erhalten, untersuchen Sie das Problem unverz�glich!
      • Versuchen Sie, jedwede dynamischen URLs zu �ndern, indem Sie %22 (`"'), %23 (`#') und %27 (`'') zu den URLs hinzuf�gen.
      • Versuchen Sie, Datentypen in dynamischen URLs von numerischen zu Zeichentypen zu �ndern, die Zeichen aus den vorherigen Beispielen enthalten.
      • Versuchen Sie Buchstaben, Leerzeichen und Sonderzeichen anstelle von Zahlen in numerische Felder einzugeben.
      • �berpr�fen Sie Datengr��en, bevor Sie sie an MySQL �bergeben.
      • �berlegen Sie, ob es sinnvoll ist, dass sich Ihre Applikation mit einem anderen Benutzernamen mit der Datenbank verbindet als mit dem, den Sie f�r Verwaltungszwecke benutzen. Geben Sie Applikationen nicht mehr Zugriffsberechtigungen als sie brauchen.
    • Benutzer von PHP:
      • Sehen Sie sich die addslashes()-Funktion an. Ab PHP 4.0.3 ist eine mysql_escape_string()-Funktion verf�gbar, die auf der Funktion mit demselben Namen in der MySQL-C-API basiert.
  • �bermitteln Sie keine Klartextdaten (unverschl�sselte Daten) �ber das Internet. Diese Daten sind f�r jeden zug�nglich, der Zeit und M�glichkeit hat, sie abzuh�ren und sie f�r die eigenen Zwecke zu benutzen. Benutzen Sie statt dessen ein verschl�sseltes Protokoll wie SSL oder SSH.

Wie Sie MySQL gegen Cracker sicher machen

Um ein MySQL-System sicher zu machen, sollten Sie auf jeden Fall folgende Vorschl�ge in Betracht ziehen:

  • Benutzen Sie Passw�rter f�r alle MySQL-Benutzer.
  • Lassen Sie den MySQL-Daemon nicht als Unix-root-Benutzer laufen.
  • Unterst�tzen Sie keine Symlinks auf Tabellen
  • �berpr�fen Sie, dass der Unix-Benutzer, der mysqld laufen l��t, der einzige Benutzer mit Lese-/Schreibzugriffen auf die Datenbankverzeichnisse ist.
  • Geben Sie nicht allen Benutzern das process-Zugriffsrecht
  • Geben Sie nicht allen Benutzern das file-Zugriffsrecht
  • Wenn Sie Ihrem DNS nicht trauen, sollten Sie IP-Nummern anstelle von Hostnamen in den Berechtigungstabellen verwenden. In jedem Fall sollten Sie sehr vorsichtig damit sein, Eintr�ge in Berechtigungstabellen vorzunehmen, die Hostnamen mit Platzhaltern (Wildcards) verwenden!
  • Wenn Sie die Anzahl der Verbindungen f�r einen einzelnen Benutzer beschr�nken wollen, k�nnen Sie das tun, indem Sie die max_user_Verbindungen-Variable in mysqld setzen.
Tools zur Administration von Mysql Links zu MySQL

 

Druckerversion     [valid html 4.01]      [english]
style: blauer Stylegelber Styleroter Stylegruener StyleStandard Style
© 2001 by  tbee / Impressum last update at: 01.01. 1970 01:01:00
url: www.tbee.de