ユーザー権限の観点から MySQL データベースのセキュリティを向上させる方法について話しましょう
よく言われるように、知識は力です。 MySQL の権限システムと、特定の権限を付与した場合の影響を必ず理解してください。どのユーザーにも不必要な権限を付与しないでください。これを確認するには、garnt テーブルを参照する必要があります。
特に、絶対に必要でない場合は、管理者以外のユーザーに PROCESS、FILE、SHUTDOWN、RELOAD などの権限を付与しないでください。 PROCESS 権限を使用すると、他のユーザーが行っていることや入力していること (入力したパスワードなど) を観察できます。 FILE 権限は、UNIX システムの /etc/password など、オペレーティング システムのファイルの読み取りおよび書き込みに使用できます。
GRANT 権限は、ユーザーが自分の権限を他のユーザーと共有できるため、非常に慎重に付与する必要があります。
ユーザーを作成するときは、現在接続されているホストからデータベースへのアクセスのみを許可するようにしてください。 jane@localhost という名前のユーザーがあり、これは問題ありませんが、単純なジェーンがどこからでもログインするのは非常に一般的です。このジェーンは、あなたが考えているジェーンではない可能性があります。同じ理由で、ホスト名にワイルドカードを使用することは避けるべきです。
ホストテーブルでドメイン名の代わりにIPアドレスを使用すると、セキュリティのパフォーマンスを向上させることができます。これにより、DNS の場所でのエラーの問題やハッカーを回避できます。これは、 --skip-name-resolve オプションを使用して MySQL デーモンを起動することで強化できます。これは、すべてのホスト列の値が IP アドレスまたはローカルホストである必要があることを意味します。
さらに、管理者以外のユーザーが Web サーバーの mysqladmin プログラムにアクセスできないようにする必要があります。これはコマンドラインから実行されるため、オペレーティングシステムの権限に問題があります。
MySQL サーバーへのリモート アクセスを制限する
ほとんどのユーザーにとって、安全でないオープン ネットワークを介して MySQL サーバーにアクセスする必要はありません。ファイアウォールまたはハードウェアを構成するか、MySQL がローカルホストのみをリッスンするように強制することによって、ホストを制限できます。さらに、リモート アクセスには SSH トンネルが必要です。
ユーザーがローカルホストからのみ接続を確立できないようにしたい場合は、設定ファイルにbind-address=127.0.0.1を追加する必要があります。
【関連する推奨事項】
MySQLデータベースのセキュリティを向上させる(1)
MySQLデータベースのセキュリティを向上させる(2)
MySQLデータベースのセキュリティを向上させる(4)
以上がMySQLデータベースのセキュリティ向上(3)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。