最大の脅威は、攻撃者が次のような脆弱性を利用する可能性があることです。ディレクトリトラバーサル、またはSQLインジェクションを使用してload_file()
を呼び出す 構成ファイル内のプレーンテキストのユーザー名/パスワードを読み取り、phpmyadminまたはtcpポート3306を使用してログインします。ペネトレーションテストとして、この攻撃パターンを使用してシステムを侵害しました。
phpmyadminをロックダウンするための優れた方法は次のとおりです。
- PhpMyAdminには強力なブルートフォース保護がないため、ランダムに生成された長いパスワードを使用する必要があります。
- リモートルートログインを許可しないでください! 代わりに、phpmyadminは、 "CookieAuth"
を使用するように構成できます。 システムにアクセスできるユーザーを制限します。ルート権限が必要な場合は、追加/削除/作成できるが
grant
を持たないカスタムアカウントを作成します またはfile_priv
。 -
file_priv
を削除します すべてのアカウントからの権限。file_priv
攻撃者がファイルを読み取ったりバックドアをアップロードしたりできるため、MySQLで最も危険な特権の1つです。 - phpmyadminインターフェースにアクセスできるIPアドレスをホワイトリストに登録します。 .htaccessreulsetの例を次に示します。
Order deny,allow Deny from all allow from 199.166.210.1
-
http://127.0.0.1/phpmyadmin
のような予測可能なファイルの場所はありません 。 Nessus / Nikto / Acunetix/w3afなどの脆弱性スキャナーがこれをスキャンします。 -
攻撃者がアクセスできないように、tcpポート3306をファイアウォールで保護します。
-
HTTPSを使用してください。そうしないと、データとパスワードが攻撃者に漏洩する可能性があります。証明書に30ドルをフォークしたくない場合は、自己署名を使用してください。一度受け入れると、MITMによって変更された場合でも通知されます。