「うちは中小企業だから、わざわざ攻撃者に狙われることはない」——現場で何度も耳にする言葉です。
しかし実際には、攻撃者はターゲットを手動で選定するのではなく、インターネット上の全IPアドレスを自動スキャンして弱点を機械的に探し回っています。会社の規模は関係ありません。
問題は、社内にどんな弱点があるのか自分たちには見えていないことです。
この記事では、脆弱性スキャンの基本から、無料ツールを使った社内ネットワークの可視化手順まで、情シス1人体制でも実践できるレベルで解説します。NmapとGreenbone Community Editionの2ツールを中心に、スキャン結果の読み方と対応優先度の決め方までカバーします。

脆弱性スキャンとは?なぜ中小企業にも必要なのか
脆弱性スキャン(Vulnerability Scanning)とは、自社のサーバー・ネットワーク機器・PCに存在する既知の脆弱性(セキュリティ上の欠陥)を自動的に検出する作業です。
医療で例えると「健康診断」に近い概念です。自覚症状が出る前に問題を発見し、悪化する前に手を打つための仕組みです。
中小企業にも必要な3つの理由
・攻撃者は会社規模を見ない: ShodanやCensysといった検索エンジンは、インターネット上のIPアドレスを常時スキャンしています。パッチが当たっていないVPN機器や、デフォルトパスワードのままのルーターは、大企業も中小企業も同じように発見されます。
・パッチ適用だけでは足りない: OSの自動更新は効果的ですが、社内NASのファームウェア、ネットワークカメラ、担当者が把握していないアプリケーションはカバーされません。スキャンで「棚卸し」してこそ全体が見えます。
・コストがほぼゼロで始められる: 大企業向けの高額な商用ツールがなくても、無料ツールだけでかなりの水準の可視化が可能です。
攻撃者はどうやって弱点を見つけるのか
攻撃者が本格的な攻撃を仕掛ける前に行うのが「偵察(Reconnaissance)」です。この段階でやっていることは、私たちが行う脆弱性スキャンと本質的に同じです。つまり、自社に対して先に脆弱性スキャンを実行するのは、「攻撃者の視点で先手を打つ」行為と言えます。
攻撃者の典型的な偵察手順
・ポートスキャン: TCPポートを順番に「ノック」し、応答があったポートを記録します。22番(SSH)、3389番(RDP)、80番(HTTP)、443番(HTTPS)などが開放していれば、それぞれのサービスへの攻撃を試みます。
・サービスバージョン取得: 開放ポートからバナー情報を取得し、稼働しているソフトウェアとバージョンを特定します。「Apache 2.4.x」とわかれば、その時点で既知の脆弱性(CVE)と照合できます。
・認証情報のブルートフォース: SSH・RDP・Webの管理画面などにデフォルトパスワードや辞書攻撃を仕掛けます。「admin/admin」「root/root」で接続できる機器は今でも多数存在します。
これらをツールで自動実行することで、攻撃者は数時間のうちに何千ものIPを探索できます。
無料ツールで実践する脆弱性スキャンの手順
1. Nmapで開放ポートとサービスを把握する
まずはNmap(Network Mapper)で「何が動いているか」を可視化します。NmapはポートスキャンとサービスのバージョンChecks検出を行うオープンソースツールで、Linux・Windows・macOSに対応しています。
# 社内ネットワーク全体をスキャン(よく使われる1,000ポート) nmap 192.168.1.0/24 # 特定サーバーのサービスバージョンを取得(-sVオプション) nmap -sV 192.168.1.100 # スキャン結果をファイルに保存 nmap -sV -oN scan_result.txt 192.168.1.0/24
スキャン結果で特に注意すべきポートは次の通りです。
・22番(SSH): インターネットから直接到達できる状態になっていないか確認する
・3389番(RDP): 外部公開は極力避ける。VPN経由のアクセスを推奨
・23番(Telnet): 平文通信で通信内容が筒抜け。稼働していれば即刻無効化を
・445番(SMB): EternalBlue等の攻撃が今も続いている。外部公開は絶対に避けること
Linuxサーバーのファイアウォール設定については、姉妹サイトLinuxMaster.JPで詳しく解説しています。firewalldやiptablesの設定方法を確認しておくと、不要なポートを閉じる作業がスムーズに進みます。
重要な注意事項: 許可なく第三者のネットワークをスキャンするのは不正アクセス禁止法に抵触する可能性があります。必ず自社管理下のネットワークに対してのみ実行してください(詳細は法律の専門家にご確認ください)。
2. Greenbone Community Editionで深堀りスキャンを実行する
NmapでポートとサービスVersionを把握したら、次はGreenbone Community Edition(旧OpenVAS)で既知の脆弱性データベースと照合します。このツールはCVE(共通脆弱性識別子)のデータベースと稼働サービスを突き合わせ、「このサーバーはこの脆弱性の影響を受ける可能性がある」という具体的なレポートを生成します。
Greenbone Community EditionはDockerコンテナで提供されており、Linux環境にDockerが入っていれば比較的簡単に起動できます。
# Greenbone Community Containers のセットアップ例 # 公式ドキュメント: https://greenbone.github.io/docs/latest/ curl -f -L https://greenbone.github.io/docs/latest/_static/setup-and-start-greenbone-community-edition.sh \ -o setup-and-start-greenbone-community-edition.sh bash setup-and-start-greenbone-community-edition.sh
スキャン完了後はWebUI(デフォルトで localhost:9392)からレポートが確認できます。各脆弱性はCVSSスコア付きで一覧化されます。
3. スキャン結果の読み方と対応優先度の決め方
スキャン結果には多数の指摘が含まれますが、すべてに即時対応する必要はありません。CVSSスコア(脆弱性の深刻度を0~10で示す指標)を基準に優先度を決めます。
| CVSSスコア | 深刻度 | 対応目安 |
|---|---|---|
| 9.0以上 | Critical(致命的) | 即時対応(24時間以内を目標に) |
| 7.0~8.9 | High(高) | 1週間以内に対応計画を立てる |
| 4.0~6.9 | Medium(中) | 1ヶ月以内に計画的に対応 |
| 0~3.9 | Low/Info(低・情報) | リスクを受容するか定期対応 |
重要な補足として、「CVSSスコアが高くても、インターネットから直接到達できない内部サーバーならリスクは相対的に低い」という視点も合わせて持っておくと、対応の優先順位がより適切に決まります。
中小企業でも今日からできること
段階的なアプローチで始めることを強くおすすめします。
・Step 1(今日): Nmapをインストールして社内スキャンを1回実行する: インストール5分、基本スキャン3分。「何が動いているか把握する」だけでも大きな前進です。
・Step 2(今週): 外部公開が不要なポートをファイアウォールで閉じる: Nmapで見つかった不要な開放ポートを一つずつ確認し、業務上不要なものは閉じます。
・Step 3(今月): Nessus Essentials(無料・16IPまで)も試す: GUIが直感的で使いやすく、特に重要なサーバー16台に絞った定期スキャンに向いています。
・Step 4(習慣化): 月1回のスキャンをカレンダーに入れる: 脆弱性は毎日新しいものが公開されます。定期スキャンをルーティンに組み込んで初めて「継続的な監視」になります。
よくある誤解と注意点
【誤解1】「自社ネットワークなら自由にスキャンできる」は半分正解
自社管理下の機器に対するスキャン自体は問題ありませんが、同一ネットワークセグメントに取引先VPNや共用ホスティング環境が混在している場合は注意が必要です。スキャン対象のIPレンジを事前に明確にし、自社管理外のIPを含まないことを確認してから実行しましょう。
【誤解2】「スキャンするとサーバーが落ちる」は古い話
かつての高強度スキャンは対象システムに過負荷をかけることがありましたが、Nmapの標準設定では過度な負荷はほとんどかかりません。ただし、念のため業務時間外(深夜や早朝)に実行するのが無難です。
【誤解3】「脆弱性ゼロにすれば安全」は過信
脆弱性スキャンはあくまで「既知の脆弱性」を検出するものです。まだ公開されていないゼロデイ脆弱性や、設定ミスによるリスクはスキャンでは検出できません。脆弱性スキャンはセキュリティ対策の重要な一部ですが、それだけで完結するものではありません。
本記事のまとめ
| 項目 | 内容 |
|---|---|
| 脆弱性スキャンとは | 既知の脆弱性を自動検出する「社内ネットワークの健康診断」 |
| 主な無料ツール | Nmap(ポートスキャン)/ Greenbone CE(CVE照合)/ Nessus Essentials(16IP無料) |
| 対応優先度 | CVSSスコア9以上は即時対応、7以上は1週間以内に計画 |
| 習慣化のポイント | 月1回のスキャンをカレンダーに入れて継続 |
| 注意点 | スキャン対象の明確化、業務外実行推奨、「ゼロ=安全」は過信 |
脆弱性スキャンは「攻撃者より先に自分の弱点を見つける」行為です。高額なツールや専門チームがなくても、Nmapと月1回の習慣化だけで、今日よりずっと実態に即したセキュリティ管理が実現できます。
まずはNmapをインストールして、自社ネットワークを一度スキャンしてみるところから始めましょう。
社内の脆弱性を把握した後、次に何をすべきか迷っていませんか?
スキャンで弱点は見えても、優先順位づけや対策手順まで一人で整理するのは大変です。
正しいセキュリティ知識を体系的に身につけたい方へ、メルマガで実践的なセキュリティ対策ノウハウをお届けしています。