攻撃者が私のデータベースのユーザー名とパスワードを知っている場合、私のサーバーにアクセスできない場合、攻撃者は何をすることができますか?私のデータベースがMicrosoft SQL Serverを使用しているとしましょう。それらの資格情報を使用してデータベースを操作する方法はありますか?
仮定して
露出しても問題ありません。
もちろん、ご覧のとおり、これらは非常に大きな仮定です。あなたが賭けをする用意があるなら、先に進んで資格情報が公開されるのを許可してください。そうでない場合(私はそうしません)、セキュリティで可能な限り最善を尽くし、およびこれらの資格情報を秘密に保ちます。 =
彼がデータベースにアクセスできない場合、資格情報は無意味です。それは、ゴビ砂漠の離れた場所に隠された警備隊のバンカーの中にあるドアの鍵を持っているようなものです。キーは、ドアにgetできる場合にのみ役立ちます。
とはいえ、このように資格情報を漏らすことは非常に悪い習慣です。それらが侵害されていると思われる場合は、変更してください。
DBサーバーが適切に保護され、資格情報がアクセス権のないIPアドレスに適切にリンクされている限り、DBサーバーは何もできませんが、1レベルの保護が解除され、 DBにアクセスする方法を教えてください。
これは多層防御と呼ばれます。複数のメカニズムにより侵害が防止されますが、1つのレベルが侵害されている疑いがある場合は、侵害を修正するまで安全性が低下します。
実際には、ほとんどすべてのSQLデータベース(MsSql、MySql、Oracleなど)は、オペレーティングシステムコマンドを実行する機能を持っています。そのため、攻撃者がDBパスワードを知っている場合、DBマシンでOSコマンドを実行できます。 dbエンジンを実行するプロセスに高い特権がある場合、攻撃者はマシン全体を乗っ取ることができます。これを超えてあなたの想像力で制限されます。例えば:
攻撃者があなたのdbパスワードを知っていても、自分を守るために何ができるか:
これは完全なリストではありません。大きくなる可能性があります。