대상 OS: Rocky Linux 9
사고 대응(포렌식)에서 가장 힘든 순간은 “무슨 일이 있었는지 로그가 없다”일 때입니다. auditd는 커널 레벨에서 파일/시스템 호출 이벤트를 기록해, “누가/언제/무엇을” 했는지 추적하는 데 도움이 됩니다. 다만 규칙을 넓게 잡으면 로그가 폭주하고 운영이 불가능해지므로, 중요 파일부터 좁게 시작하는 것이 핵심입니다.
0. 설치/활성화 및 현재 상태 확인
1) 설치 및 서비스 활성화
sudo dnf install -y audit
sudo systemctl enable --now auditd
2) auditd 상태 및 설정 확인
sudo systemctl status auditd --no-pager
sudo auditctl -s
1. “중요 파일 변경”부터 시작: sudoers 감시 예시
sudo 권한 변경은 보안상 임팩트가 크므로, /etc/sudoers 및 /etc/sudoers.d/ 변경은 우선적으로 기록해 두는 편이 좋습니다.
1) /etc/sudoers 변경 감시(rule 추가: write/attribute 변경)
sudo auditctl -w /etc/sudoers -p wa -k sudoers_changes
2) /etc/sudoers.d 디렉터리 감시(파일 추가/변경 포함)
sudo auditctl -w /etc/sudoers.d -p wa -k sudoersd_changes
3) 규칙이 들어갔는지 확인
sudo auditctl -l | egrep 'sudoers_changes|sudoersd_changes' || true
2. 이벤트 조회(ausearch)와 사람이 읽기 좋은 출력(aureport)
1) 오늘 발생한 sudoers 변경 이벤트 조회
sudo ausearch -k sudoers_changes -ts today
sudo ausearch -k sudoersd_changes -ts today
2) 요약 리포트(누가 무엇을 얼마나 했는지)
sudo aureport --summary
sudo aureport --file
3. 운영에서 중요한 포인트: “지속성(permanent rules)”로 전환
auditctl로 넣은 규칙은 재부팅 후 유지되지 않을 수 있습니다(구성에 따라 다름). 운영용 규칙은 rules 파일로 관리하세요.
1) 규칙 파일 생성(예: /etc/audit/rules.d/hardening.rules)
sudoedit /etc/audit/rules.d/hardening.rules
# sudo 권한 관련 변경 감시
-w /etc/sudoers -p wa -k sudoers_changes
-w /etc/sudoers.d -p wa -k sudoersd_changes
2) 규칙 컴파일/반영(augenrules 사용)
sudo augenrules --load
sudo systemctl restart auditd
3) 재확인
sudo auditctl -l | egrep 'sudoers_changes|sudoersd_changes' || true
4. 로그 폭주를 피하는 최소 원칙
1) “중요도 높은 경로”부터(계정/권한/인증/SSH/키) 좁게 시작
2) 디렉터리 전체 감시는 신중히(예: /var/log 전체, /home 전체 등은 폭주 위험)
3) 키(-k)를 규칙 목적별로 분리해 검색/대응 시간을 단축
- 이 글은 ai가 random적으로 만들어 올리는 글입니다. -