홈으로 돌아가기

Wazuh Syscheck: Linux 파일 모니터링

whodata를 사용한 주요 Linux 파일 모니터링을 위한 Wazuh Syscheck 구성 가이드. 중앙 구성, 중요도 12 규칙, 변경 테스트. auditd 통합으로 귀속 제공.

Wazuh Linux 파일 보호: whodata 및 알림
Advertisement 728x90

Wazuh Syscheck와 Whodata로 Linux 핵심 파일 무결성 모니터링

Wazuh Syscheck는 /etc/passwd, /etc/shadow, /etc/sudoers, /etc/ssh/sshd_config 같은 주요 Linux 파일의 변경 사항을 추적합니다. Whodata 모드는 auditd를 통해 변경을 일으킨 사용자와 프로세스를 포착합니다. 이 설정은 Linux 에이전트 그룹에 중앙 집중식으로 적용되며, 레벨 12 경고를 생성합니다.

Wazuh 아키텍처와 Syscheck 역할

Wazuh는 이벤트 처리용 매니저, 호스트의 에이전트, Kibana 기반 대시보드로 구성됩니다. Syscheck는 스케줄에 따라 또는 실시간으로 파일을 스캔하며 해시, 권한, 소유권을 검증합니다. Whodata 모드에서는 auditd와 연동해 변경 주체를 식별합니다.

주요 기능:

Google AdInline article slot
  • 300초마다 주기적 스캔.
  • 변경 diff 전송.
  • 디렉토리 내 신규 파일 탐지.
  • 노이즈 감소를 위한 임시 파일 제외.

에이전트 준비

linux 그룹의 모든 Linux 에이전트에 auditd를 설치합니다.

RHEL 계열 시스템:

sudo dnf install audit audispd-plugins -y
sudo systemctl enable --now auditd

Debian/Ubuntu:

Google AdInline article slot
sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditd

상태 확인: sudo auditctl -l.

linux 그룹 확인: ls -la /var/ossec/etc/shared/. UI에서 생성하세요.

중앙 집중식 agent.conf 설정

매니저의 /var/ossec/etc/shared/linux/agent.conf 편집:

Google AdInline article slot
<agent_config>
  <syscheck>
    <frequency>300</frequency>
    <whodata>yes</whodata>
    <diff>yes</diff>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/passwd</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/shadow</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/sudoers</directories>
    <directories check_all="yes" whodata="yes" report_changes="yes">/etc/ssh/sshd_config</directories>
    <ignore>/etc/passwd-</ignore>
    <ignore>/etc/shadow-</ignore>
    <ignore>/etc/sudoers.tmp</ignore>
    <ignore>/etc/.pwd.lock</ignore>
    <alert_new_files>yes</alert_new_files>
    <scan_on_start>yes</scan_on_start>
    <auto_ignore>no</auto_ignore>
  </syscheck>
</agent_config>

재시작: sudo systemctl restart wazuh-manager.

주요 파라미터:

  • check_all="yes" — 전체 속성 검사.
  • whodata="yes" — auditd를 통한 주체 식별.
  • report_changes="yes" — 경고에 diff 포함.
  • alert_new_files="yes" — 신규 파일 경고.

고우선순위 경고 규칙

/var/ossec/etc/rules/local_rules.xml에 추가:

<group name="syscheck,">
  <rule id="100100" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/passwd</field>
    <description>중요 변경: /etc/passwd 수정됨</description>
    <mitre>
      <id>T1078</id>
      <id>T1136</id>
    </mitre>
  </rule>
  <rule id="100101" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/shadow</field>
    <description>중요 변경: /etc/shadow 수정됨 (비밀번호)</description>
    <mitre>
      <id>T1003</id>
      <id>T1078</id>
    </mitre>
  </rule>
  <rule id="100102" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/sudoers</field>
    <description>중요 변경: /etc/sudoers 수정됨</description>
    <mitre>
      <id>T1078</id>
      <id>T1548</id>
    </mitre>
  </rule>
  <rule id="100104" level="12">
    <if_sid>550</if_sid>
    <field name="file">/etc/ssh/sshd_config</field>
    <description>중요 변경: /etc/ssh/sshd_config 수정됨</description>
    <mitre>
      <id>T1078</id>
      <id>T1548</id>
    </mitre>
  </rule>
  <rule id="100103" level="10">
    <if_sid>554</if_sid>
    <field name="file">/etc/passwd</field>
    <field name="file">/etc/shadow</field>
    <field name="file">/etc/sudoers</field>
    <options>alert_by_email</options>
    <description>중요 파일 수정 탐지: $(file) - $(audit.user.name)</description>
    <mitre>
      <id>T1078</id>
    </mitre>
  </rule>
</group>

매니저 재시작. if_sid 550(파일 변경)에서 레벨 12 트리거.

설정 테스트

에이전트에서 확인: sudo cat /var/ossec/etc/shared/agent.conf | grep -A5 "syscheck".

변경 시뮬레이션:

sudo cp /etc/passwd /etc/passwd.backup.test
echo "testuser:x:9999:9999:Test User:/home/testuser:/bin/bash" | sudo tee -a /etc/passwd

경고에 JSON으로 rule.level=12, syscheck.path, audit.user.name(root), process.name(tee), diff 표시.

복원: sudo cp /etc/passwd.backup.test /etc/passwd && sudo rm /etc/passwd.backup.test.

주요 요약

  • Whodata 활성화 Syscheck로 auditd를 통해 변경 주체 추적.
  • linux 그룹 중앙 설정으로 수동 작업 최소화.
  • /etc/passwd 등에 MITRE 태그 포함 레벨 12 규칙.
  • 포렌식용 경고에 diff와 주체 정보.
  • 임시 파일 제외로 오경고 감소.

모니터링 확장

/etc/hosts.allow, nginx/apache 설정, SSH 키로 확대. 차단용 능동 대응과 외부 알림 연동 추가.

— Editorial Team

Advertisement 728x90

다음 읽기