Hello there, ('ω')ノ
🖥 セクション2:サーバ
サーバは 企業システムの“心臓部” です。
攻撃者は必ず、まずサーバの“外から見える部分”に注目します。
このセクションでは、
非エンジニアの担当者でも「どこを見れば安全か」が理解できる
ように、丁寧に構造化して解説します。
🧭 2-1. 公開ポート・動作中サービスの棚卸し
■ そもそも「ポート」「サービス」って何?
サーバは複数の“窓口”を持っています。
その窓口が ポート(Port) と呼ばれます。
例:
- 80番:Web(HTTP)
- 443番:Web(HTTPS)
- 22番:管理用(SSH)
- 3306番:データベース(MySQL)
- 25番:メール(SMTP)
そして
ポートの奥で動いているものが「サービス」や「アプリ」
と呼ばれます。
■ なぜここが攻撃者の最初の注目点なのか?
攻撃者は、まず次のように考えます。
「このサーバは今、どんな窓口(ポート)を開けている?」
「そこにはどんなサービスが動いている?」
もし…
- 不要なポートが開きっぱなし
- 古いサービスが動き続けている
…といった状態なら、そこが攻撃の入口になります。
■ ありがちな危険パターン
- 開発時に開けていたポートを閉じ忘れる
- 古いアプリが動いたまま放置されている
- SSH が “全世界からアクセス可能”
- 外部に公開してはいけない DB が開いている
■ 防御側がまずやるべきこと
専門的な操作は不要。
一覧化して、必要なものと不要なものを分けるだけで十分強化できます。
チェックポイント
- どのポートが外部に公開されている?
- そのポートのサービスは本当に必要?
- 外部公開は最小限になっている?
- 管理系ポートは安全に守られている?
🔍 2-2. バージョン情報/バナー情報の漏洩
■ 「バナー情報」とは?
サーバが外部に対して返す“自己紹介メッセージ”です。
例(見られたくないパターン)
Server: Apache/2.4.29 (Ubuntu) X-Powered-By: PHP/7.2.24
攻撃者はこれを見て、次のように考えます。
- バージョンは古いか?
- 既知の脆弱性(攻撃手法)があるか?
- 管理者が更新を怠っているか?
つまり、
バナー=攻撃者へのヒント
になります。
■ なぜ危険なのか?
例えると…
「家の玄関にメーカー名・モデル・製造年が書いてある」
ようなもの。
攻撃者はそれを見て
“この鍵には古い弱点があるぞ”
と判断できます。
■ 実際によくある失敗例
- Apache / nginx のバージョンが丸出し
- PHP / Node.js / Ruby などの実行環境が漏れている
- メールサーバ(SMTP)のバナーに OS 情報が含まれている
- SSH が OS の詳細を返している
■ 防御側がすべきこと
非エンジニアでも確認可能な対策:
✔ 外部公開部分のヘッダを“目視で確認する”
例:
curl -I [https://自社Webサイト](https://自社Webサイト)
(技術者が代理で確認する形でもOK)
✔ Server や X-Powered-By を非表示にする
これは開発者・運用担当が設定を変更できます。
👀 2-3. ログの重要性と“覗かれている兆候”
■ ログとは?
サーバが残している「行動記録」です。
例: - 認証ログ(ログインの成功/失敗) - Webアクセスログ - システムログ - ファイアウォールログ
■ なぜログが重要なのか?
セキュリティ事件の 70% は
「事前にログに異常が出ていたが、誰も見ていなかった」
という報告があります。
攻撃者は、侵入前に
- 異常なアクセス
- 不正なログイン試行
- 明らかに異常なペースの通信
といった動きを必ず残します。
■ ログに出る“覗かれている兆候”
🔥 よくある兆候例
- 深夜の時間帯に大量のログイン失敗が続く
- 海外IPからのアクセスが急増
- 存在しないURLに大量アクセスされている
- 管理画面URLに繰り返しアクセスしている
- サーバの負荷が謎に上がる(DoS前兆)
これらは“早期の異常検知”につながります。
■ 防御側が行うべきこと
非エンジニアでも取り組めるレベルで重要なアクション:
✔ ログの保存期間を確保(最低90日)
✔ ログを集約し、1か所で見られるようにする
✔ 怪しいログの例をチームで共有
✔ 週1回でも「異常がないか」確認する仕組みをつくる
🧩 2-4. サーバの“最初の可視化チェックリスト”
✔ 公開ポート一覧を作る
- 必要か?
- 外部公開して良いか?
- 管理系ポートは安全か?
✔ 動作中サービスを棚卸し
- 使っていないサービスは停止する
- 古いバージョンのまま放置しない
✔ バージョン情報・バナーの確認
- Apache/nginx の Server 表示は消す
- アプリケーションの情報を漏らさない
✔ ログ確認
- 異常アクセス
- ログイン失敗連打
- 海外IPの増加
- 深夜の不自然な挙動
🎯 結論:
サーバのセキュリティは“まず棚卸しだけ”でも大幅に強化できる
実務では、
サーバの侵害は「高度な攻撃」よりも
“設定漏れ・放置されたサービス”が原因
で起こることが圧倒的に多いです。
だからこそ…
✔ “今何が動いているか”を知るだけで大きな対策になる
✔ バナーを隠すだけで攻撃者の調査を妨害できる
✔ ログを見れば「攻撃準備の段階」を発見できる
Best regards, (^^ゞ