Wazuh를 사용하여 iptables
룰셋 변경 감지와 Security Configuration Assessment(SCA)를 통합하여 서버의 보안 상태를 점검하고, 변경 사항을 중앙에서 모니터링 및 관리하며, 이상 상태에 대한 알림을 설정하고 대응하는 전체 프로세스 체계로 각 단계별 설정 및 예시입니다.
시스템 개요
목표
iptables
룰셋 변경을 실시간으로 감지하고, 중앙 로그로 수집 및 경고(Alert) 생성.- SCA 룰셋을 활용해 주기적으로 시스템 보안 상태를 점검하고, 정책 위반(Failed)을 탐지.
- 모든 이벤트를 중앙에서 관리하고 비정상 상태에 대한 알림과 대응 조치를 수행.
구성 요소
- Wazuh Agent
- 각 서버에서
iptables
및 SCA 데이터를 수집.
- 각 서버에서
- Wazuh Manager
- 중앙에서 데이터를 분석하고 경고를 생성하며, 알림을 전송.
- Elastic Stack
- Kibana 대시보드를 통해 로그와 경고를 시각화.
- 알림 시스템
- 이메일, Slack, 웹훅 등을 통해 실시간 알림.
모니터링 프로세스
1) 파일 무결성 검사(FIM) 설정
- iptables 룰셋 파일 모니터링
- 주요 파일 경로:
/etc/sysconfig/iptables
,/etc/iptables/rules.v4
/var/ossec/etc/shared/default/agent.conf
파일 수정<syscheck> <files>/etc/sysconfig/iptables</files> <files>/etc/iptables/rules.v4</files> </syscheck>
- 주요 파일 경로:
- 룰셋 변경 감지
- 룰셋 파일이 변경될 때 이벤트가 발생하며, 로그는 다음 위치에 저장
/var/ossec/logs/alerts/alerts.json
- 룰셋 파일이 변경될 때 이벤트가 발생하며, 로그는 다음 위치에 저장
2) 로그 기반 iptables 변경 감지
- iptables 변경 시 로그 기록
/etc/rsyslog.conf
에서 로그 레벨 설정iptables -A INPUT -j LOG --log-prefix "IPTables-Change: " --log-level 4
/var/log/syslog
또는/var/log/messages
로 로그 기록.
- Wazuh 로그 수집
/var/ossec/etc/ossec.conf
파일에 로그 경로 추가<localfile> <log_format>syslog</log_format> <location>/var/log/syslog</location> </localfile>
- 경고 규칙 설정
/var/ossec/ruleset/rules/0165-firewall_rules.xml
수정<rule id="100002" level="10"> <decoded_as>syslog</decoded_as> <description>iptables rule changed</description> <group>firewall</group> <match>IPTables-Change:</match> </rule>
SCA 관리 프로세스
1) SCA 룰셋 정의
- 룰셋 작성
/var/ossec/ruleset/sca/
에 XML 파일 작성<check id="check_secure_password_policy"> <description>Ensure secure password policy is applied</description> <type>command</type> <command>grep -E '^PASS_MAX_DAYS|^PASS_MIN_DAYS' /etc/login.defs</command> <condition>contains</condition> <value>PASS_MAX_DAYS 90</value> <result>failed</result> </check>
- 룰셋 활성화
/var/ossec/etc/ossec.conf
에 SCA 설정 추가<sca> <enabled>yes</enabled> <path>shared/sca-rules/</path> </sca>
2) 정기 점검 수행
- 점검 주기 설정
/var/ossec/etc/ossec.conf
의 SCA 섹션에서 점검 간격 설정<sca> <enabled>yes</enabled> <interval>86400</interval> <!-- 하루 간격 --> </sca>
- 점검 결과 확인
- SCA 로그:
/var/ossec/logs/sca/<agent_id>/sca.log
- 경고 로그:
/var/ossec/logs/alerts/alerts.json
- SCA 로그:
3) 중앙 관리 및 알람
- 경고(Alert) 생성
/var/ossec/ruleset/rules/sca_rules.xml
에 규칙 추가<rule id="100003" level="7"> <field name="sca.check_result">Failed</field> <description>SCA policy violation detected</description> <group>sca</group> </rule>
- 알림 설정
- 이메일 알림
<global> <email_notification>yes</email_notification> <email_to>admin@example.com</email_to> <smtp_server>smtp.example.com</smtp_server> <email_from>wazuh@example.com</email_from> </global>
- Slack 알림
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
- 이메일 알림
Kibana 대시보드와 통합
- Kibana 설정
- Wazuh 데이터를 Elastic Stack과 연동하여 시각화.
- 주요 모니터링 항목
iptables
변경 이벤트- SCA 점검 결과 (Passed/Failed 비율)
- 시간별 보안 이벤트 추이
- 대시보드 예시
iptables
이벤트: 변경된 룰셋 상세 내역.- SCA 결과: 각 서버별 정책 준수 상태.
전체 명령어 및 옵션 요약
- FIM 설정:
/var/ossec/etc/shared/default/agent.conf
수정. - 로그 수집:
iptables
로그 추가 및/var/ossec/etc/ossec.conf
에 경로 추가. - SCA 룰셋:
/var/ossec/ruleset/sca/
경로에 XML 정의. - 알람 설정:
/var/ossec/ruleset/rules/
경로에 규칙 추가.
이를 통해 Wazuh를 사용한 중앙 집중식 보안 관리 체계를 구현할 수 있습니다. 리눅스 서버에서 iptables
규칙 변경을 모니터링하고, 이를 중앙에서 통합 관리하며, 비정상적인 상황이 발생했을 때 실시간으로 알림을 보내 대응할 수 있는 환경을 구축하는 방법입니다.
전체 시스템 개요
- 각 서버에서
iptables
규칙 변경 사항을 실시간으로 감지. - 변경 사항 및 비정상적인 이벤트를 중앙의 Wazuh 서버로 수집.
- 경고를 생성하여 이메일, Slack, 웹훅 등을 통해 알림.
- 중앙 대시보드에서 모든 이벤트를 모니터링하고 분석.
구성 요소 및 주요 기능
1. Wazuh 에이전트
- 각 서버에서 실행되며,
iptables
규칙 변경 및 관련 이벤트를 수집. - 파일 무결성 검사(FIM)와 로그 수집 기능을 통해
iptables
이벤트를 감지.
2. Wazuh 매니저
- 에이전트에서 수집된 데이터를 중앙으로 관리.
- 규칙 기반 경고를 생성하고 알림을 발송.
- 대시보드를 제공하여 이벤트를 실시간으로 분석 가능.
3. 통합 알림 시스템
- 이메일, Slack, 웹훅 등 다양한 알림 방식 지원.
- 비정상적인 이벤트 발생 시 즉각적으로 관리자에게 알림 전달.
구축 단계
1. Wazuh 에이전트 설치
- 각 서버에 Wazuh 에이전트 설치
curl -s https://packages.wazuh.com/4.x/install.sh | sudo bash
- 에이전트를 Wazuh 매니저에 등록
sudo /var/ossec/bin/agent-auth -m <Wazuh_Manager_IP> sudo systemctl restart wazuh-agent
2. iptables 관련 변경 감지 설정
방법 1: 파일 무결성 검사 (FIM)
iptables
규칙이 저장된 파일을 모니터링하여 변경 시 이벤트 생성.
- 파일 무결성 검사 대상 추가
/var/ossec/etc/shared/default/agent.conf
에 다음 내용을 추가<syscheck> <directories>/etc/sysconfig</directories> <files>/etc/sysconfig/iptables</files> <files>/etc/iptables/rules.v4</files> </syscheck>
- FIM 변경 사항 확인
변경 사항은/var/ossec/logs/alerts/alerts.json
에 기록되며, 이를 대시보드에서 확인 가능.
방법 2: 로그 기반 감지
iptables
명령 실행 시 시스템 로그를 모니터링하여 변경 감지.
- iptables 변경 시 로그 설정
iptables
규칙 추가iptables -A INPUT -j LOG --log-prefix "IPTables-Change: " --log-level 4
- Wazuh 로그 수집 설정
/var/ossec/etc/ossec.conf
에 로그 파일 경로 추가<localfile> <log_format>syslog</log_format> <location>/var/log/syslog</location> </localfile>
- 규칙 파일 수정
/var/ossec/ruleset/rules/0165-firewall_rules.xml
에 아래와 같은 규칙 추가<rule id="100001" level="10"> <decoded_as>syslog</decoded_as> <description>IPTables Rule Change Detected</description> <group>iptables,</group> <match>IPTables-Change:</match> <firedtimes>1</firedtimes> <frequency>1</frequency> </rule>
3. 중앙 로그 수집 및 비정상 이벤트 처리
중앙 로그 수집
- Wazuh 매니저는 각 서버에서 수집한 로그를 중앙으로 통합.
- Elastic Stack(ELK)을 연동하여 시각화 및 분석 가능.
비정상 이벤트 처리
- 비정상 이벤트 정의
iptables
규칙 변경 외에도 불필요한 연결 시도나 특정 패턴의 로그를 비정상으로 정의.- 예: 외부 IP의 반복적인 SSH 접근 시도.
- 규칙 설정
- Wazuh 내장 규칙 또는 커스텀 규칙을 사용하여 비정상 이벤트에 경고 생성.
- 경고 관리
- 경고는 Wazuh 대시보드의 "Alerts" 섹션에서 확인 가능.
- 심각도에 따라 경고 레벨을 조정하여 관리.
4. 알림 설정
이메일 알림
/var/ossec/etc/ossec.conf
에 이메일 알림 설정 추가<global> <email_notification>yes</email_notification> <email_to>admin@example.com</email_to> <smtp_server>smtp.example.com</smtp_server> <email_from>wazuh@example.com</email_from> </global>
Slack 알림
- Slack 웹훅 생성
- Slack의 앱 설정에서 새 웹훅 URL을 생성.
/var/ossec/integrations/slack
파일 설정export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
Webhook 알림
- 외부 API 또는 자동화 도구(n8n 등)로 이벤트를 전달.
5. Wazuh 대시보드 사용
대시보드 모니터링
- 주요 모니터링 항목
iptables
규칙 변경 이벤트.- 비정상적인 접근 시도.
- 주요 트렌드와 이벤트 발생 빈도.
- 시각화
- Elastic Stack(ELK)과 연동하여 Kibana 대시보드에서 그래프 및 통계 확인.
사례별 대응 프로세스
- iptables 규칙 변경 감지
- Wazuh 경고 생성 → 이메일/Slack 알림 발송 → 관리자 확인 후 조치.
- 비정상적인 접근 시도
- SSH 접근 시도 증가 감지 → 경고 생성 → IP 차단 스크립트 자동 실행.
- 이벤트 기반 자동화
- Wazuh 경고를 n8n과 같은 도구로 전달 → 알림 및 대응 자동화.
장점과 확장성
장점
- 중앙 관리로 이벤트 모니터링 및 분석 효율성 향상.
- 파일 무결성 검사(FIM)와 로그 기반 감지로 높은 정확도 제공.
- 다양한 알림 방식으로 즉각적인 대응 가능.
확장성
- Wazuh를 다른 보안 도구(예: SIEM, EDR)와 연동하여 추가적인 보안 기능 제공.
- Elastic Stack과 통합하여 로그 데이터의 분석 및 검색 기능 강화.
Wazuh는 iptables
규칙 변경을 포함한 시스템 이벤트를 효과적으로 모니터링하고, 이를 기반으로 경고와 알림을 통해 보안 사고에 신속히 대응할 수 있는 중앙 집중화된 관리 솔루션입니다. 이를 통해 보안 관리자는 리소스를 절약하고, 다수의 서버를 효율적으로 통제하며, 비정상적인 상황에 대한 대응력을 강화할 수 있습니다.
728x90
댓글