脆弱性管理レポート
提出先: CyberTech Solutions
作成者: Victoria Simon
日付: 2024年4月10日
1. エグゼクティブサマリー
このレポートは、Nessusを使用してCyberTech SolutionsのLinuxインフラストラクチャとWebアプリケーションに対して実施した包括的な脆弱性評価の結果を詳述しています。評価には以下が含まれます:
- Linuxサーバーに対する認証情報を用いたスキャン
- Webアプリケーション脆弱性スキャン
- 自動レポート設定
- Ansibleによるパッチ管理
主な発見には、Nginxの重大な脆弱性と古いOpenSSHバージョンが含まれます。直ちにパッチ適用とセキュリティ強化を行うことを推奨します。
2. ラボの目的
- Linuxシステムに対して認証情報を用いた脆弱性スキャンを実行する。
- Webアプリケーションの脆弱性を特定し分析する。
- 自動メールレポートのためにNessusを設定する。
- Ansibleを使用して脆弱性にパッチを適用する。
- ステークホルダーのレビュー用に調査結果を文書化する。
3. 使用したツールとリソース
| ツール | 目的 |
|---|
| Nessus | 脆弱性スキャンおよびレポート |
| Ansible | 自動パッチ管理 |
| Gmail SMTP | 自動メール通知 |
| OpenSSH | リモートサーバーアクセス |
| Nginx | Webアプリケーションホスティング |
4. 方法論
タスク1: 認証情報を用いたスキャン構成
-
SSH設定:
- OpenSSHをインストール(
sudo apt install openssh-server)。
- SSH認証情報でNessusを設定(ユーザー名:
root、パスワード: kali)。
suによる権限昇格を有効化。

-
スキャン結果:

SSH脆弱性スコアのスキャン結果



推奨事項
Linuxサーバーとホストされているアプリケーションに対する認証情報を用いたスキャンと脆弱性評価の結果、組織のセキュリティ体制を改善するために以下の是正措置を推奨します。
- システムおよびソフトウェアのパッチ適用:
• OpenSSHを最新の安全なバージョンにアップグレードし、既知の脆弱性に対処する。
• CVE-2022-0185などの緊急アップデートを含む、最新のLinuxカーネルパッチを適用する。
• Node.jsをバージョン18.20.1以降にアップグレードし、リクエストスマグリング、安全でない乱数生成、メモリ管理の脆弱性(例:CVE-2024-27980、CVE-2024-21891、CVE-2024-21892)などのリスクを軽減する。
• 自動パッチ更新を有効にするか、一元管理されたパッチ管理システムと統合して、セキュリティ修正を迅速に適用できるようにする。
- SSHサービスの堅牢化
• 脆弱なSSHアルゴリズム、暗号(例:CBC、Arcfour)、MACを無効にする。
• 鍵ベースの認証を強制し、可能な場合はパスワードログインを無効にする。
• カスタムSSHポートを設定し、ファイアウォールルールまたはTCPラッパーを使用してSSHアクセスを制限する。
• アクセスを特定のIPに制限し、リモート接続に2要素認証(2FA)を導入する。
- ユーザーとアクセス制御
• SSHでのrootログインを無効にし、権限昇格にはsudoを使用する。
• 未使用またはレガシーなユーザーアカウントを削除し、強力なパスワードポリシーを適用する。
• ブルートフォース攻撃を防ぐためにアカウントロックアウトメカニズムを設定する。
• 最小権限の原則が適用されるよう、ユーザーグループと権限を監査する。
- ホストとネットワークの堅牢化
• 不要なサービスを無効にし、未使用のポートを閉じる。
• Lynis、OpenSCAP、CIS Benchmarksなどの堅牢化ツールを使用してベストプラクティスを適用する。
• ネットワーク露出を制限し、横展開を防ぐためにファイアウォールルールを実装する。
- 監視、ロギング、検出
• SSH、sudo、およびシステムイベントの詳細なロギングを有効にする。
• リアルタイムの監視とアラートのためにログをSIEMプラットフォームと統合する。
• 不審な動作や異常なアクセスパターンを監視する。
- アプリケーションと依存関係のセキュリティ
• npm auditまたはyarn auditを実行してNode.jsの依存関係をスキャンし修正する。
• 動的・静的解析ツール(DAST/SAST)を使用してアプリケーションを定期的にテストする。
• Web Application Firewall(WAF)を使用して既知のWebベースの攻撃をブロックする。
- バックアップと復旧
• 設定と重要データの定期的なバックアップをスケジュールする。
• ディザスタリカバリとバックアップ復元手順を定期的にテストする。
- セキュリティ意識向上とガバナンス
• システム管理者と開発者向けに定期的なセキュリティトレーニングを実施する。
• セキュリティポリシー、手順、資産ドキュメントを最新に保つ。
• 定期的な脆弱性評価とペネトレーションテストを実施し、積極的に対処する。
タスク2: Webアプリケーションスキャン
- Nginxの脆弱性:






- 脆弱性分析:
- エクスプロイトの容易さ: 低複雑性(公開エクスプロイトが利用可能)。
- パッチ適用日:
- CVE-2021-23017: 2021年6月にパッチ適用。
- CVE-2022-41741: 2022年10月にパッチ適用。
タスク3: 自動メールレポート
-
SMTP設定:
- ホスト:
smtp.gmail.com(ポート: 587、TLS)。



- テストメールがステークホルダーに正常に送信されました。

nessusがメールを送信しました。つまり、完璧に動作したということです。
タスク4: パッチ管理
-
Ansible Playbook:
- 古いNginxを削除(
/usr/local/nginx)。
- 最新のNginxバージョンをインストール(
apt: name=nginx state=latest)。

古いバージョンのNginxを更新する.ymlスクリプト
- 結果: Nginx 1.15.5から1.26.3にアップグレード。


5. 分析と発見事項
特定された主な脆弱性
1. 古いNGINXバージョン
- CVE-2021-23017: DNSリゾルバでの1バイトメモリ上書き(リスク: RCE/クラッシュ)。
- HTTP/2エクスプロイト:
- CVE-2019-9511、CVE-2019-9513、CVE-2019-9516: フレーム操作によるDoS。
- CVE-2018-16843、CVE-2018-16844、CVE-2018-16845: CPU/メモリ枯渇攻撃。
- CVE-2019-20372: HTTPヘッダーを介したサーバーバージョン開示(情報漏えい)。
2. Nessusによる複数のプラグイン検出結果
- プラグインID: 150154、127907、118956、134220が、サポートされていない/脆弱なNGINXバージョンを確認。
主なリスク:
- パッチ未適用のシステムはランサムウェアやデータ侵害の影響を受けやすい。
- Web脆弱性によりクライアントデータが傍受される可能性がある。
6. NGINXセキュリティ是正のための重要アクション
- NGINXを最新の安定版(≥1.20.1)にアップグレード
- なぜ? 以下のリスクを軽減します:
- CVE-2021-23017(DNSリゾルバのメモリ破損)
- HTTP/2 DoS脆弱性(CVE-2019-9511、CVE-2018-16843など)
- サーバーバージョン開示(CVE-2019-20372)。
- アクション:
- 設定(
nginx.conf)をバックアップし、公式NGINXリポジトリを使用してアップグレードする。
- アップグレード後にバージョンを確認:
nginx -v。
- HTTP/2を無効化または堅牢化
- HTTP/2が不要な場合:
- NGINX設定で無効化する(
listen 443 ssl http2 の代わりに listen 443 ssl)。
- 必要な場合:
- NGINXにパッチが適用されていることを確認する(アップグレード後)。
- 異常なHTTP/2トラフィック(例: 高速なストリーム/フレーム)がないかログを監視する。
- パッチ管理を実装
- 更新を自動化:
unattended-upgrades(Linux)やAnsibleなどのツールを使用する。
- 監査をスケジュール: NGINX/OSパッケージの更新を毎月確認する。
- Nessusの再スキャンで修正を確認
- Nessusを再実行(プラグインID: 150154、127907など)して以下を確認:
- NGINXバージョンがフラグされなくなったこと。
- HTTP/2 CVE(有効な場合)がパッチ適用されていること。
追加の堅牢化手順
- NGINXバージョンを隠す:
nginx.conf に server_tokens off; を追加。
- HTTPメソッドを制限: 該当する場合、
GET、POST、HEAD のみ許可。
- CVEデータベースを監視: NGINXセキュリティアドバイザリを購読。
タイムライン:
- 即時(24〜48時間): NGINXをアップグレードし、HTTP/2を無効化(可能な場合)。
- フォローアップ(1週間): パッチ管理の展開と再スキャン。
是正後: 変更内容を文書化し、インシデント対応計画にHTTP/2/NGINXエクスプロイトシナリオを含めるよう更新する。
7. 課題と解決策
| 課題 | 解決策 |
|---|
| nessusプラグインのインストール | RAMを増設できなかったため、何時間も失敗を繰り返した後、プラグインのインストールにさらに長い時間待つ必要がありました |
| SMTPメールの失敗 | Gmailアプリパスワードを生成 |
| Ansibleプレイブックのエラー | ansible-lintでYAML構文を検証 |
8. 結論
この評価では、古いNGINXバージョンと未パッチのCVEにより、CyberTechのWebインフラストラクチャに重大な脆弱性が特定され、組織がDoS攻撃、メモリ破損、情報開示にさらされていることが判明しました。これらのリスクに対処するには、即時のアップグレード、HTTP/2の堅牢化、自動パッチ管理が不可欠です。
是正後、修正を検証するためのフォローアップスキャンを実施する必要があります。定期的な更新と監視を通じて積極的なセキュリティ体制を維持することで、将来の脅威を軽減し、長期的な回復力を確保できます。
10. 参考文献
- NIST NVD: https://nvd.nist.gov
- Nessusドキュメント: https://www.tenable.com
- https://www.notion.so/Nessus-1cb5f18a0bc980cdb558d62702ab23e9?pvs=4