검색

2.2. Ansible을 사용하여 IDPS 규칙 자동화

download PDF

IDPS를 자동화하려면 ids_rule 역할을 사용하여 스노트 규칙을 생성하고 변경합니다. snort는 네트워크 트래픽을 분석하고 지정된 규칙 집합과 비교하는 규칙 기반 언어를 사용합니다.

다음 랩 환경에서는 Ansible 보안 자동화 통합이 어떤지 보여줍니다. "Attacker"라고 하는 머신은 IDPS가 실행 중인 대상 시스템에서 잠재적인 공격 패턴을 시뮬레이션합니다.

실제 설정은 다른 공급업체와 기술을 사용할 수 있다는 점에 유의하십시오.

Ansible 보안 자동화 통합 샘플

2.2.1. 새 IDPS 규칙 생성

ids_rule 역할을 사용하여 IDPS에 대한 규칙과 서명을 관리합니다. 예를 들어 방화벽의 이전 공격과 일치하는 특정 패턴을 찾는 새 규칙을 설정할 수 있습니다.

참고

현재 ids_rule 역할은 Snort IDPS만 지원합니다.

사전 요구 사항

  • Snort 서버를 변경하려면 root 권한이 필요합니다.

절차

  1. ansible-gal Galaxyy 명령을 사용하여 ids_rule 역할을 설치합니다.

    $ ansible-galaxy install ansible_security.ids_rule
  2. add_snort_rule.yml 이라는 새 플레이북 파일을 생성합니다. 다음 매개변수를 설정합니다.

    - name: Add Snort rule
      hosts: snort
  3. become 플래그를 추가하여 Ansible에서 권한 에스컬레이션을 처리하도록 합니다.

    - name: Add Snort rule
      hosts: snort
      become: true
  4. 다음 변수를 추가하여 IDPS 공급자의 이름을 지정합니다.

    - name: Add Snort rule
      hosts: snort
      become: true
    
      vars:
        ids_provider: snort
  5. 다음 작업 및 작업 관련 변수(예: 규칙, Snort 규칙 파일 및 규칙 상태 - present 또는 absent)를 플레이북에 추가합니다.

    - 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

    작업은 대상 머신을 변경하는 구성 요소입니다. 이러한 작업을 정의하는 역할을 사용하므로 include_role 은 필요한 유일한 항목입니다.

    ids_rules_file 변수는 local.rules 파일의 정의된 위치를 지정하고 ids_rule_state 변수는 존재하지 않는 경우 규칙을 생성해야 함을 나타냅니다.

  6. 다음 명령을 실행하여 플레이북을 실행합니다.

    $ ansible-navigator run add_snort_rule.ym --mode stdout

    플레이북을 실행하면 새로 생성된 규칙 외에도 모든 작업이 실행됩니다. 플레이북 출력은 PLAY, TASK, RUNNING HANDLER 및 PLAY RECAP을 확인합니다.

검증

IDPS 규칙이 성공적으로 생성되었는지 확인하려면 Snort 서버에 SSH로 연결하고 /etc/snort/rules/local.rules 파일의 내용을 확인합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.