9章ツール:ネットワーク監視

サイバーセキュリティの領域において、攻撃行為の早期検知は復旧の鍵である。こうした検知のためのテクニックのひとつがネットワーク上に新規の、もしくは想定外のネットワークサービス(ポートの開放など)がないかの監視である。こうした監視はコマンドラインを用いることで完璧に実現できる。

本章では、ネットワーク上でシステムがポートを開放する行為を監視するツールを作成する。ツールの要件は次のとおりである。

  1. IPアドレスもしくはホスト名が格納されたファイルを読み取る。
  2. ファイル中の各ホストについて、ネットワークのポートスキャンを行い、開放されているポートを確認する。
  3. ポートスキャンの結果をファイルに保存し、現在の日付に基づきファイル名を付与する。
  4. スクリプトを再実行する際は、ポートスキャンを行った上で、最後に保存した結果との突合せを行い、変更を画面にハイライト表示する。
  5. スクリプトを日時ベースで自動実行し、何らかの変更があった場合はシステム管理者にメールするようにする。
    [注記]

    Nmap Ndiffユーティリティにより、これを実現することもできるが、動作原理を説明するため、ここではbashにより当該の機能を実装する。Ndiffについての詳細については、nmap.org内のNdiffのページ(https://nmap.org/ndiff)を参照のこと。

9.1 利用するコマンド

本章では、crontabschtasksコマンドを紹介する。

9.1.1 crontab

Get 実践 bashによるサイバーセキュリティ対策 ―セキュリティ技術者のためのシェルスクリプト活用術 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.