第2章 Ansible を使用したネットワーク不正侵入および防止システム (IDPS) の自動化

Ansible を使用してネットワーク不正侵入および防止システム (IDPS) を自動化できます。本書の目的上、Snort を IDPS として使用します。Ansible 自動化ハブを使用して、タスク、ロール、モジュールなどのコンテンツコレクションを使用して自動ワークフローを作成します。

2.1. 要件および前提条件

Ansible で IDPS の自動化を開始する前に、IDPS を正常に管理するために必要なインストールと設定が正しく行われていることを確認します。

  • Ansible 2.9 以降がインストールされている。
  • SSH 接続およびキーが設定されている。
  • IDPS ソフトウェア (Snort) がインストールされ、設定されている。
  • 新しいポリシーを適用する IDPS サーバー (Snort) にアクセスできる。

2.1.1. IDPS インストールの検証

関連情報

Snort が正常に設定されたことを確認するには、sudo 経由で呼び出して、バージョンを確認します。

  $ sudo snort --version

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.13 GRE (Build 15013)
  ""    By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
        Copyright (C) 2014-2019 Cisco and/or its affiliates. All rights reserved.
        Copyright (C) 1998-2013 Sourcefire, Inc., et al.
        Using libpcap version 1.5.3
        Using PCRE version: 8.32 2012-11-30
        Using ZLIB version: 1.2.7

サービスが sudo systemctl 経由でアクティブに実行されていることを確認します。

$ sudo systemctl status snort
● snort.service - Snort service
   Loaded: loaded (/etc/systemd/system/snort.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2019-08-26 17:06:10 UTC; 1s ago
  Main PID: 17217 (snort)
   CGroup: /system.slice/snort.service
           └─17217 /usr/sbin/snort -u root -g root -c /etc/snort/snort.conf -i eth0 -p -R 1 --pid-path=/var/run/snort --no-interface-pidfile --nolock-pidfile
[...]

Snort サービスの実行がアクティブでない場合は、systemctl restart snort で再起動し、ステータスを再度確認します。

サービスがアクティブに実行されていることを確認したら、CTRLD を同時に押すか、コマンドラインで exit と入力して Snort サーバーを終了します。以降の操作はすべて、Ansible コントロールホストから Ansible を介して行われます。