これに関するコンセンサス サーバー障害の質問 は、MySQLにポート3306を開くことは、SSHトンネルを使用してMySQLにアクセスするよりも危険であると思われます。
特にログインがUSERSテーブルの特定のホストにロックダウンされる可能性があるため、強力な認証情報があればMySQLを安全に保つことができると思います。
SSHよりも安全でないMySQL接続について何かありますか、それとも3306を攻撃しようとする接続が何らかの形でデータベースを圧倒するリスクがあるのですか?
不要な場合は閉じてください。
脆弱性
MySQL自体に脆弱性がないかどうかを確認することはできません。次に DOS攻撃 の例を示します(そして 可能な攻撃 だけではありません)。
MySQLへの非IP制限付きリモートアクセスを許可する
MySQLへのリモートアクセスを許可すること自体は脆弱性ではありませんが、他の脆弱性と組み合わせて使用できるシナリオがあります。
たとえば、サイトが構成ファイルを公開しているとしましょう:誰でもデータベース接続の資格情報を読み取ることができます。攻撃者がリモートでデータベースに接続できる場合、一部またはすべてのデータが危険にさらされます(他の攻撃も可能である可能性があります(たとえば、outfileへのアクセスが許可されている場合のコード実行))。しかし、リモート接続が不可能な場合、攻撃者はこの情報をほとんど使用できません(パスワードが他の場所で使用されていない場合(例:ssh)も同様)。
公開されている構成ファイルは一例にすぎません。別の例として、ブラインドSQLインジェクションを考えてみましょう。データベースパスワードの取得は比較的高速ですが、データベース全体の取得には大量のリクエストが必要になります。そのため、リモートで接続できると非常に便利です。
MySQLへのIP制限付きリモートアクセスを許可する
(これは単なる推測です)udpを使用してMySQLに接続できるようですので、IPスプーフィングが可能です。直接フィードバックを必要としない攻撃(たとえば、outfileを介してコードをファイルに書き込むなど)がこのように機能する(データベースの資格情報が取得されている場合)と考えられます。
暗号化
MySQLは暗号化されていませんが、デフォルトではsshが暗号化されていることも考慮する必要があります(セットアップはそれほど簡単ではないようです)。つまり、MySQLへの直接アクセスが提供されている場合、ほとんどのユーザーは安全でない接続を使用します。
ポートを開くだけでは、SSHポートを開くよりも本質的に危険ではありません。
問題は、ポートを使用できるすべてのアプリケーションプログラムがハッキングされ、データベースを危険にさらすために使用される可能性があることです。クライアント側で実行されているものは本質的に信頼されません。