今週、セキュリティ研究者は、360万台を超えるMySQLサーバーがインターネット上に公開されていると指摘した。
Shadow Server Foundationの研究者は報告した。侵入性の高い要求ではなく、デフォルトポート3306にMySQL接続要求を単に送信し、サーバーがMySQL Server Greetingを返すかどうかを確認したという。侵入テスト担当者が侵入に使うデータベース。
実験の結果は驚くべきものだった。
- 発見されたMySQLサービスの67%がインターネットからアクセス可能
- IPv4では3,957,457台中2,279,908台のサーバーがグリーティングに応答
- IPv6では1,421,010台中1,343,993台のサーバーがグリーティングに応答
- IPv4でアクセス可能なサーバーが最も多い国は、米国(740,100台)、中国(296,300台)、ポーランド(207,800台)、ドイツ(174,900台)だった
- IPv6でアクセス可能なサーバーが最も多い国は、米国(460,800台)、オランダ(296,300台)、シンガポール(218,200台)、ドイツ(173,700台)だった
つまり、ほとんどのMySQLサーバーはデフォルト設定を使用しているため、攻撃を受けやすい。大規模なデータ侵害や窃取、認証情報の盗難、ネットワーク内でのラテラルムーブメントといった重大なインシデントにつながる可能性がある。
この種の侵害を受けると、攻撃者はマルウェア、ランサムウェア、またはRAT(リモートアクセス型トロイの木馬)を送り込めるため、ユーザーと管理者は通信を監視し、認証を実装してデータベースを保護しなければならない。
SQL(構造化クエリ言語)は、リレーショナルデータベースのデータを管理するために最も広く使われている言語だ。さまざまなクエリの実行、データスキーマの作成、レコードの操作、データの照合に特に便利である。
MySQLは、サーバーとして動作するオープンソースのリレーショナルデータベース管理システムだ。ユーザーや管理者は、これを使ってデータベースを作成し、アクセスを管理する。次のような数行のコマンドで簡単にインストールできる。
sudo yum install mysql-server && service mysqld start関連記事:
MySQLのデフォルトポートを変更する
大きな問題は、デフォルト設定ではポート3306が使われ、必要以上に多くのサーバー情報が公開される可能性が高いことだ。テストのためにローカルマシンへインストールするのであれば大きな問題ではないが、本番稼働中のWebサイトでは、脆弱性によって攻撃対象領域が広がる。
そのポート番号を、例えば3333に変更すべきだ。また、この機能が不要であれば、インターネットからの外部接続を拒否する必要がある。大半のケースではこの機能は必要ない。
MySQLは、MySQLインスタンスを安全にデプロイするための包括的なガイドをこちらのように提供している。組織を不必要に高いリスクにさらす前に、必ず注意深く読んでほしい。
Shadow Server Foundationのレポートは、コンピューターシステムやWebアーキテクチャにおける典型的な欠陥を浮き彫りにしている。ローカルマシンで何かをテストする場合を除き、デフォルト設定を使ってはいけない。本番ホストは、ハッカーが攻撃を準備するために最初に列挙する対象だ。





