Frage

Ich habe die Idee, das Administratorkonto meiner Datenbank zu sichern, indem ich Folgendes erstelle:

  • Der Trigger wird jede Stunde in MySQL aktiviert. Dieser Trigger aktiviert eine gespeicherte Prozedur
  • Die gespeicherte Prozedur generiert ein neues Passwort mit md5(date()+pre shared key+rand())
  • Ich habe eine Anwendung in vb, die jede Stunde das gleiche Passwort generiert, mit dem ich mich dann anmelden kann.

Allerdings ist das immer noch nur eine Idee und ich weiß nicht, ob das möglich ist. Wissen Sie, ob das jemand versucht hat?

Alle Links oder Referenzmaterial.

Ich wurde von meinem Freund inspiriert, der einen Schlüssel hat, der in einem kleinen Gerät generiert wird, das er sich um den Hals hängt, wenn er sich an einer Workstation anmeldet. Weiß jemand, wie dieses Sicherheitsverfahren heißt?

Welche Einschränkungen oder Probleme können auftreten?(Serverabsturz/Neustart)

Danke!

War es hilfreich?

Lösung

Warum sollten Sie das tun wollen?Welches Risiko wird dadurch gemindert?

Das klingt nach einer großartigen Möglichkeit, sich auf eine Weise von Ihrer Datenbank auszusperren, deren Wiederherstellung Ausfallzeiten erfordert.Begrenzen Sie Ihre Gefährdung, indem Sie die Server mit Firewalls und SSH sichern und die MySQL-Authentifizierung einfach halten.Wenn Sie Angst vor Brute-Force-Angriffen aus Ihrem vertrauenswürdigen Netzwerk haben, setzen Sie max_connect_errors auf einen niedrigen Wert, damit der Remote-Host blockiert wird.Und verwenden Sie nicht „root“ als Root-Benutzer.Deaktivieren Sie dieses Konto und erstellen Sie einen neuen Superuser mit einem anderen Namen.

Das Gerät, das Ihr Freund hat, wurde wahrscheinlich von RSA gebaut und ist ein SicherID Tag, das eine Zwei-Faktor-Authentifizierung zur Sicherung von Arbeitsstationen verwendet.In dieses Produkt wurde enorm viel Forschung und Entwicklung investiert.Ihr VB-Skript wird diesen Luxus nicht haben.

Ganz einfach: Die MySQL-Authentifizierung ist nicht sicher genug, um diese Art von Infrastruktur zu rechtfertigen.Ein Angreifer, der sich lohnt und Zugang zu einem offenen MySQL-Port hat, wird eher nach allgemeineren Exploits Ausschau halten als Zeit mit Brute-Force zu verschwenden.

Mir fallen spontan einige der damit einhergehenden Probleme ein:

Was passiert, wenn Ihre Uhren um ein oder zwei Minuten abweichen?Was passiert, wenn der Job oder Trigger fehlschlägt?Woher wissen Sie, in welchem ​​Zustand sich Ihr DB-Passwort befindet?Wie generieren Sie in Ihrem VB-Skript und auf dem Server dieselbe Zufallszeichenfolge?Wie speichern Sie das generierte Passwort sicher?

Tu es nicht.Investieren Sie Ihre Mühe in die Auswahl sicherer Passwörter (nicht l33tsp34k) und das Sperren des Servers selbst, anstatt zu versuchen, das zu reproduzieren, was ein Unternehmen mit Tausenden von Mitarbeitern geschafft hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top