システムが正常に動いているからといって、安全だとは限りません。
最近、OS、フレームワーク、ソフトウェアライブラリ、広く使われているプラットフォームで、深刻な脆弱性が相次いで公表されています。
中には、リモートからのコード実行、サーバーの乗っ取り、データの窃取、業務の停止につながるものもあります。さらにAIや自動化ツールの登場により、攻撃者が脆弱性を見つけて悪用するまでのスピードは上がり、一度に狙える範囲も広がっています。
ソースコードに一切手を加えていなくても、新たなリスクが生まれることがあります。問題が起きてから慌てて対応するのではなく、日頃からシステムの点検・更新・監視を行うことが重要です。
最近の深刻な脆弱性
| 脆弱性 | 影響範囲 | 深刻度 | 状況 |
|---|---|---|---|
| PHP2Shell – CVE-2026-109618、CVE-2026-109619(2026年10月) | PHP(PHP-FPM、Apache mod_php、php-cgi、FrankenPHP、LiteSpeed) | CVSS v4.0 9.2 – 認証なしでリモートからコード実行が可能 | 攻撃コードが公開済みで、実際の攻撃も確認されています。修正版:PHP 8.5.12、8.4.27、8.3.36、8.2.35 |
| React2Shell – CVE-2025-55182(2025年12月) | React Server Components と、Next.js などRSCを使うフレームワーク | CVSS 10.0 – 認証なしでリモートからコード実行が可能 | CISA KEVに掲載。初期設定のままのNext.jsアプリも対象です |
| SharePoint – CVE-2026-58644(2026年7月) | Microsoft SharePoint Server | CVSS 9.8 – デシリアライズの不備によるリモートコード実行 | 修正プログラムの公開前から攻撃に使われていました(ゼロデイ)。CISA KEVに掲載 |
| Gitea – CVE-2026-60004(2026年8月) | Gitea(セルフホスト型のソースコード管理システム) | CVSS 9.8 – サーバー上でOSコマンドを実行可能 | CISA KEVに掲載。暗号資産マイニング用のマルウェアを仕込まれた事例も確認されています |
これらはいずれも、企業が自ら書いたコードではなく、アプリケーションの土台となるプラットフォーム側の問題です。何年もトラブルなく動いてきたPHPやNext.jsのWebサイトでも、脆弱性の公表からわずか数日で乗っ取られるおそれがあります。
1. 企業が注意すべきセキュリティリスク
| コンポーネント | 想定されるリスク |
|---|---|
| OS(Linux、Windows) | 権限昇格、不正アクセス、サーバーの乗っ取り |
| 言語・フレームワーク(PHP、React、Next.js、Rails、Spring など) | リモートコード実行、認証の回避、情報漏えい |
| オープンソースライブラリ | ライブラリへのマルウェア混入(サプライチェーン攻撃)、依存パッケージの脆弱性によるリモートコード実行や情報漏えい |
| Webサーバー・リバースプロキシ | 脆弱性や設定ミスを突いた不正アクセス |
| データベース | データの漏えい・改ざん・削除 |
| クラウド・インフラ | 認証情報の漏えい、アクセス権限の設定ミス |
| CI/CD・管理システム | デプロイ権限の乗っ取り、アプリケーションへのマルウェア混入 |
| 人 | フィッシングメールによる被害、パスワードの漏えい、誤操作によるマルウェアの感染 |
特に次のようなシステムには注意が必要です。
- 長年運用しているものの、ほとんど更新されていないシステム
- 保守の担当者がいないシステム
- サポートが終了したソフトウェアを使っているシステム
- 管理画面にインターネットからアクセスできるシステム
- 監視やバックアップの仕組みがないシステム
2. 企業が取るべき7つの対策
① システムの棚卸しと現状把握
まずは、自社が何を運用しているのかを正確に把握することから始めます。
- 利用中のサーバー、アプリケーション、データベース、クラウドサービスを一覧にする。
- OS、フレームワーク、主要ライブラリのバージョンを記録する。
- サポートが終了したコンポーネントを特定する。
- インターネットからアクセスできるサービスを確認する。
- システムごとに担当者を決める。
② 定期的な脆弱性チェック
- OS、サーバーソフトウェア、アプリケーションのライブラリに対して脆弱性スキャンを行う。
- セキュリティ設定を見直し、ベンダーからのセキュリティ情報を確認する。
- CISA – Known Exploited Vulnerabilities Catalog(GitHub上のデータ)と照合し、すでに悪用されている脆弱性を優先して対応する。
- 悪用のしやすさ、インターネットへの露出度、事業への影響をもとにリスクを評価する。CVSSスコアは判断材料の一つにすぎません。
③ 迅速なアップデートとパッチ適用
- 脆弱性のあるOS、フレームワーク、ライブラリにパッチを適用する。
- サポートが終了したコンポーネントの置き換えを計画する。
- ステージング環境がある場合は、本番環境に適用する前にステージングで検証する。
- パッチ適用後にシステムを再確認する。
- すでに悪用されている深刻な脆弱性には、ただちに対応する。修正版がまだない場合は、アクセス制限、該当機能の停止、ネットワークからの切り離しなどでリスクを下げる。
注意: 影響を確認しないまま一斉にアップデートすると、サービスの停止や互換性の問題を招くことがあります。
④ アクセス制御の強化
- 必要のない限り、管理用サービスをインターネットに公開しない。
- SSH、データベース、管理画面へのアクセス元を制限する。
- VPNなど、同等に安全なアクセス方法を使う。
- 特に管理者アカウントでは多要素認証を有効にする。
- 業務に必要な最小限の権限だけを付与し、使われなくなった権限は削除する。
- APIキー、パスワード、認証情報を安全な場所に保管し、ソースコードに含めない。
- フィッシングメールやアカウント乗っ取りの手口を見分けられるよう、従業員を教育する。
⑤ セキュリティ監視とアラート
不審なログイン、不正アクセス、重要ファイルの変更、見覚えのないアカウントやプロセス、疑わしい通信、攻撃の兆候があるリクエストなどを監視します。
SIEM(Wazuhなど)やEDRの導入も有効です。ただし、ツールを入れただけでは意味がありません。アラートを受け取り、内容を分析し、対処する担当者が欠かせません。
⑥ データのバックアップと復元テスト
- データの重要度に応じた頻度で、自動バックアップを設定する。
- バックアップは本番環境とは別の場所に保管する。可能であれば、変更・削除できないバックアップやオフラインのバックアップを使う。
- バックアップシステムへのアクセスを制限する。
- 定期的に復元テストを行い、障害時の復旧手順を定めておく。
バックアップを取っていることと、復旧できることは別の話です。実際に復元に成功して初めて、そのバックアップが役に立つと言えます。
⑦ 継続的なセキュリティ管理の仕組みづくり
検知 → リスク評価 → 優先順位付け → 対応 → 再確認 → 監視
脆弱性情報の収集、影響の評価、修正、修正結果の確認、インシデント発生時の取りまとめを、それぞれ誰が担うのかをはっきりさせておきましょう。開発中のプロジェクトであれば、CI/CDにセキュリティチェックを組み込むことをおすすめします。
3. チェックリスト:セキュリティリスクへの備えはできていますか?
| No. | 確認項目 | 実施済み |
|---|---|---|
| A | システム管理 | |
| 1 | 運用中のサーバー、アプリケーション、サービスをすべて把握した一覧がある | ☐ |
| 2 | OS、フレームワーク、主要コンポーネントのバージョンを把握している | ☐ |
| 3 | サポート終了のソフトウェアを使っていない(使う場合はリスク対策を講じている) | ☐ |
| B | 脆弱性管理 | |
| 4 | CVEや脆弱性を定期的に確認している | ☐ |
| 5 | ベンダーからのセキュリティ情報を確認している | ☐ |
| 6 | 深刻な脆弱性に優先順位を付けて対応する手順がある(CISA KEVの活用など) | ☐ |
| 7 | パッチ適用後にテストと確認を行っている | ☐ |
| C | アクセス制御 | |
| 8 | 必要のない管理用サービスをインターネットに公開していない | ☐ |
| 9 | 管理者アカウントを多要素認証で保護している | ☐ |
| 10 | アクセス権限を業務上必要な範囲に限定している | ☐ |
| 11 | 使われていないアカウントや権限を削除している | ☐ |
| 12 | APIキーやパスワードを安全に保管し、ソースコードに含めていない | ☐ |
| 13 | 従業員にフィッシングメールの見分け方を教育している | ☐ |
| D | 監視と検知 | |
| 14 | ログを収集し、セキュリティ監視を行っている | ☐ |
| 15 | 不審な挙動を検知するとアラートが届く | ☐ |
| 16 | アラートに対応する担当者がいる | ☐ |
| E | バックアップと復旧 | |
| 17 | 自動バックアップを行い、その結果を確認している | ☐ |
| 18 | 本番とは別にバックアップを保管し、不正な削除・変更から守っている | ☐ |
| 19 | 定期的にデータの復元テストを行っている | ☐ |
| F | 運用体制 | |
| 20 | セキュリティ保守を担当する人または組織がある | ☐ |
| 21 | インシデント対応の手順がある | ☐ |
| 22 | CI/CDで自動のセキュリティチェックを行っている | ☐ |
| 23 | 定期的なセキュリティの見直しと改善の計画がある | ☐ |
チェックリストの使い方
チェックが付かなかった項目は、それぞれリスクを評価したうえで改善計画を立ててください。特に、サポート終了のソフトウェアを使っている、悪用されている脆弱性がある、管理用サービスがインターネットに公開されている、バックアップがない・復元を試したことがない、セキュリティの担当者がいない、といった場合はすぐに対応が必要です。
このチェックリストは簡易的な自己評価のためのもので、専門的なセキュリティ診断の代わりにはなりません。
4. 納品後のシステムで見落としがちなこと
納品後、定期的な保守が行われないまま何年も使われ続けるシステムは少なくありません。その間にも新たな脆弱性は見つかり、OSやフレームワークはサポート期限を迎え、古いライブラリは更新が止まり、当初の設定も現状に合わなくなっていきます。
納品時に安全だったシステムが、運用期間を通じて安全であり続けるとは限りません。
そのため、新機能の開発予定がなくても、セキュリティ保守のための予算と計画は確保しておくべきです。あわせて、開発会社、インフラの運用会社、システムを所有する企業の間で、誰が何に責任を持つのかを明確にしておくことも大切です。
5. まとめ:セキュリティは継続的な取り組み
完全に安全なシステムは存在しません。それでも、脆弱性の点検、ソフトウェアの更新、アクセス制御、監視、バックアップを継続して行えば、攻撃を受けるリスクを下げ、万一のときの被害も小さく抑えられます。
企業がまず取り組むべきことは次の3つです。
- 点検: システムを見直し、影響しうる脆弱性を洗い出す。
- 対応: 深刻な脆弱性、特に悪用されているものから優先して対応する。
- 維持: 保守、更新、監視を定期的に続ける。
アイデアから安定稼働まで、BUNBUは企画・要件定義・開発・テスト・運用のすべての工程で貴社に伴走します。まずはお気軽に無料相談をご利用ください。