セキュリティ
データベースを外に出さない
2026年10月8日
レン
手元のパソコンからデータベースを直接見たくて、外部接続を許可したんだ。便利だよ!

ウィルスン
…それは朗報だ。インターネットに口を開けたデータベースは、常に探し回られている。専用の検索サービスすら存在するのだよ。初期設定のままなら、ワタシは何もせずデータを全部持ち出せる。

レン
探し回られてるの!?立てたばかりなのに!

プロクラ
残念ながら本当だよ。インターネット全体をスキャンして、開いているデータベースを探す仕組みがあるんだ。公開した数分後に見つかることもある。
原則:外から直接つながせない
- 同じサーバー内のアプリからだけつなぐ設定にする(外部からの接続を待ち受けない)
- ファイアウォールでもデータベースのポートを閉じる(二重に守る)
- 初期設定のパスワード・初期ユーザーは必ず変更する
- アプリ用のユーザーには、必要な操作の権限だけを与える
それでも外から見たいとき

プロクラ
ポートを開ける必要はないよ。SSHの接続を経由してつなぐ方法(ポートフォワード)がある。これならデータベースのポートはインターネットに出さないまま、手元のツールから見られる。

レン
開けなくてもいいんだ!

プロクラ
そう。「便利さのために開ける」前に、開けずに済む方法がないか考えてみて。たいていの場合、あるからね。
なぜ外に出てしまうのか
初期設定で外向きに待ち受ける作りになっているものがあり、そのまま起動すると公開されます。手元では便利なので気づかず、本番に持ち込んで初めて問題になります。自動的な巡回はこの種の入口を常に探しているので、公開から発見までは驚くほど短いことがあります。

プロクラ
多くは、意図して公開したわけではないんだ。手元で動かしていた設定のまま本番に持ち込んだ、という経路がいちばん多い。
- 接続を受け付ける範囲が「すべて」のままになっている
- Dockerでポートを公開する書き方をして、ファイアウォールを迂回している
- 管理ツールを一時的に公開して、そのまま消し忘れている
- 初期設定のパスワードや、認証なしの設定のまま動かしている

プロクラ
2つめは特に見落とされやすいよ。コンテナのポート公開は、サーバー内のファイアウォールの設定より先に効いてしまうことがある。閉じたつもりが開いている、という状態になりやすいんだ。
確認と対処
- ss -tulpn で、外向きに待ち受けているものを一覧で確認する
- データベースは 127.0.0.1 でだけ待ち受けるようにする
- 別のサーバーから繋ぐ必要があるなら、接続元を絞るか、内部だけの経路を使う
- 認証を必ず有効にし、初期設定のパスワードは変更する
- 外部から実際に繋がらないことを、別の回線から確かめる

ウィルスン
…付け加えておこう。ワタシは、公開されているデータベースを探す道具を持っている。キミが公開した時点で、探す手間すらかからんのだよ。

レン
待ち受ける範囲を絞る。コンテナのポート公開にも気をつける。
VPSの料金を比較する
あわせて読みたい
- セキュリティAPIキーをGitHubに上げてしまったら:消すより先に無効化する公開した瞬間から何が起きているのか、なぜ消すだけでは終わらないのか、対処の正しい順番と、次から同じことを起こさないための仕組みを解説します。
- セキュリティ【セキュリティ】WordPressが狙われる理由と、最低限の防御ログイン画面・プラグイン・更新という3つの基本に加え、入られた前提での備えまで。プラグインを減らすことが速さと守りの両方に効く理由も解説します。
- セキュリティ【セキュリティ】権限は最小限に:rootで作業し続けてはいけない理由最小権限を、サーバーの中だけでなくAPIキーやアカウントにも当てはめる考え方。「念のため」で付けた権限を見直すきっかけの作り方まで解説します。
- セキュリティ【セキュリティ】バックアップは最後の砦:ランサムウェアと事故に備える3-2-1ルールの意味、同じサーバーに置いてはいけない理由、何をどの頻度で取るのか、そして「取れているつもり」で戻せない事態を避ける確認方法を解説します。