2.2. Ansible を使用した IDPS ルールの自動化


IDPS を自動化するには、ids_rule ロールを使用して Snort ルールを作成および変更します。Snort はルールベースの言語を使用しており、ネットワークトラフィックを分析して指定のルールセットと比較します。

以下のラボ環境では、Ansible セキュリティー自動化の統合に関するデモを紹介します。Attacker と呼ばれるマシンは、IDPS が実行されているターゲットマシン上で、攻撃パターンを想定してシミュレートします。

実際の設定では、他のベンダーやテクノロジーが含まれている点に注意してください。

2.2.1. 新しい IDPS ルールの作成

ids_rule ロールを使用して IDPS のルールおよび署名を管理します。たとえば、新しいルールを設定して、ファイアウォールで以前の攻撃に合わせた特定のパターンを検索できます。

注記

現在、ids_rule ロールは Snort IDPS のみをサポートしています。

前提条件

  • Snort サーバーに変更を加えるには、root 権限が必要です。

手順

  1. ansible-galaxy コマンドを使用して ids_rule ロールをインストールします。

    $ ansible-galaxy install ansible_security.ids_rule
    Copy to Clipboard Toggle word wrap
  2. add_snort_rule.yml という名前の新しい Playbook ファイルを作成します。以下のパラメーターを設定します。

    - name: Add Snort rule
      hosts: snort
    Copy to Clipboard Toggle word wrap
  3. become フラグを追加して、Ansible が権限昇格を処理するようにします。

    - name: Add Snort rule
      hosts: snort
      become: true
    Copy to Clipboard Toggle word wrap
  4. 以下の変数を追加して IDPS プロバイダーの名前を指定します。

    - name: Add Snort rule
      hosts: snort
      become: true
    
      vars:
        ids_provider: snort
    Copy to Clipboard Toggle word wrap
  5. Playbook に、以下のタスクおよびタスク固有の変数 (例: ルール、ルール、Snort ルールファイル、およびルールがない状態) を追加します。

    - name: Add Snort rule
      hosts: snort
      become: true
    
      vars:
        ids_provider: snort
    
      tasks:
        -  name: Add snort password attack rule
           include_role:
             name: "ansible_security.ids_rule"
           vars:
             ids_rule: 'alert tcp any any -> any any (msg:"Attempted /etc/passwd Attack"; uricontent:"/etc/passwd"; classtype:attempted-user; sid:99000004; priority:1; rev:1;)'
             ids_rules_file: '/etc/snort/rules/local.rules'
             ids_rule_state: present
    Copy to Clipboard Toggle word wrap

    タスクは、ターゲットマシンに変更を加えるコンポーネントです。このようなタスクを定義するロールを使用しているため、必要となるエントリーは include_role のみです。

    ids_rules_file 変数は local.rules ファイルに定義された場所を指定し、ids_rule_state 変数は、ルールが存在しない場合には作成する必要があることを示しています。

  6. 以下のコマンドを実行して Playbook を実行します。

    $ ansible-navigator run add_snort_rule.ym --mode stdout
    Copy to Clipboard Toggle word wrap

    Playbook を実行すると、新規作成したルールに加えて、すべてのタスクが実行します。Playbook の出力では、PLAY、TASK、RUNNING HANDLER、PLAY RECAP を確認します。

検証

IDPS ルールが正常に作成されたことを確認するには、Snort サーバーに対して SSH を実行し、/etc/snort/rules/local.rules ファイルの内容を表示します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat