時間の経過とともにMySQL管理者のパスワードをランダムに生成しましたか?

dba.stackexchange https://dba.stackexchange.com/questions/12640

質問

以下を作成することにより、データベースの管理アカウントを保護するという考えがあります。

  • トリガーがmysqlで1時間ごとにアクティブ化されますこのトリガーはストアドプロシージャをアクティブにします
  • ストアドプロシージャMD5(日付()+事前共有キー+rand()を使用して新しいパスワードを生成します
  • VBにアプリケーションがあり、その後ログインできるのと同じパスワードを1時間ごとに生成します。

しかし、これはまだ単なるアイデアであり、これが可能かどうかはわかりませんが、誰かがこれを試したかどうかはわかりますか?

リンクまたは参照資料。

私は、ワークステーションにログインするときに首にぶら下がっている小さなデバイスで生成される鍵を持っている友人に触発されましたが、このセキュリティ手順が何と呼ばれているのか誰もが知っていますか?

発生する可能性のある制限または問題は何ですか? (サーバーのクラッシュ/再起動)

ありがとう!

役に立ちましたか?

解決

なぜこれをやりたいのですか?どのようなリスクを軽減しますか?

これは、回復するためにダウンタイムを必要とする方法でデータベースから自分自身をロックアウトする素晴らしい方法のように聞こえます。ファイアウォールとSSHでサーバーを固定して露出を制限し、MySQL認証をシンプルに保ちます。信頼できるネットワーク内からのブルートフォース攻撃が心配な場合は、max_connect_errorsを低い値に設定して、リモートホストがブロックされるようにします。また、「ルート」をルートユーザーとして使用しないでください。そのアカウントを無効にし、別の名前の新しいスーパーユーザーを作成します。

あなたの友人が持っているそのデバイスはおそらくRSAによって構築され、 Securid 2要素認証を使用してワークステーションを保護するタグ。その製品には、膨大な量のR&Dが組み込まれています。 VBスクリプトにはそれほど贅沢はありません。

簡単に言えば、MySQL認証は、このタイプのインフラストラクチャを保証するほど強化されていません。オープンなMySQLポートにアクセスできる塩に値する攻撃者は、時間を無駄にするのではなく、より一般的なエクスプロイトを探すことになります。

私の頭のすぐそばから、これに関する問題のいくつか:

時計が1〜2分で降りるとどうなりますか?ジョブまたはトリガーが失敗した場合はどうなりますか? DBパスワードがどのような状態にあるかをどのようにして知りますか。VBスクリプト内およびサーバー上で同じランダム文字列をどのように生成しますか?生成されたパスワードを安全に保存するにはどうすればよいですか?

それをしないでください。強力なパスワードの選択(L33TSP34Kではなく)に努力を投資し、何千人もの従業員を抱える会社が自由に使えることを再現しようとするのではなく、サーバー自体をロックダウンしてください。

ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top