Linux 시스템 보안 기초 · 44/50편
이 글은
리눅스 시스템 기초·파일 · 권한 · 사용자 관리·서비스 · 프로세스 관리시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.
43편에서 auditd 개념을 봤으니, 이번 편은 그 실전 활용 — 중요 파일에 대한 접근 감사에 집중합니다. shadow를 누가 읽었는지, sudoers를 누가 바꿨는지 추적하는 규칙을 구체적으로 설계합니다.
감사 대상 파일과 권한 플래그(-p):
| 파일 | 감시 이유 | -p |
|---|---|---|
| /etc/passwd | 계정 변경 | wa(쓰기·속성) |
| /etc/shadow | 해시 읽기/변경 | rwa(읽기 포함) |
| /etc/sudoers | 권한 부여 변경 | wa |
| /etc/ssh/sshd_config | 인증 정책 변경 | wa |
r(읽기)까지 볼지가 관건입니다. shadow는 정상 읽기가 드물어 r을 넣으면 고신뢰 탐지가, passwd는 정상 읽기가 잦아 w(변경)만 보는 게 실용적입니다.
-w /etc/shadow -p rwa -k identity
│
▼
누군가 shadow를 read/write/속성변경
│ 커널 감사
▼
audit.log: type=PATH name=/etc/shadow, comm=?, auid=?
│
▼
ausearch -k identity → '누가 언제 무엇으로' 접근했나
watch 규칙(-w)은 지정 경로에 대한 접근을 해당 권한(-p) 발생 시 기록합니다. 이벤트에는 접근한 프로세스(comm/exe), 실제 사용자(auid), 대상 경로(PATH)가 함께 남아 '누가 무엇으로 접근했나'가 재구성됩니다.
핵심 통찰: 정상적으로 거의 발생하지 않는 접근을 감사하면 오탐이 적습니다. shadow read가 대표적입니다 — 운영 중 shadow를 직접 읽는 정상 작업은 드물기에, read 이벤트 자체가 강한 신호가 됩니다(08편).
# 규칙 파일로 영속화 (재부팅 유지)
sudo tee /etc/audit/rules.d/identity.rules >/dev/null <<'RULES'
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p rwa -k identity
-w /etc/sudoers -p wa -k priv_config
-w /etc/ssh/sshd_config -p wa -k sshd_config
RULES
sudo augenrules --load # 규칙 적용
# 접근 이벤트 조회
sudo ausearch -k identity -i | tail
이 시리즈 실습에서 실제 걸어 둔 규칙과 shadow 접근 포착 결과입니다. (실제 캡처)
$ sudo auditctl -l | grep identity
-w /etc/passwd -p wa -k identity
-w /etc/shadow -p rwa -k identity
$ sudo ausearch -k identity -i | grep -E 'name=/etc/shadow|comm=' | tail -2
type=PATH name=/etc/shadow inode=... mode=file,640 ouid=root ogid=shadow
type=SYSCALL comm=cat exe=/usr/bin/cat success=yes ...
cat이 shadow를 읽은 이벤트가 identity 키로 검색됩니다. 실제 서버라면 여기 auid에 로그인 사용자가 찍혀 '누가 읽었는가'가 명확해집니다.
파일 접근 감사는 25편의 무결성 점검을 '실시간 이벤트'로 끌어올린 것입니다 — 변경 결과가 아니라 변경 순간을 잡습니다.
ausearch -k로 키별 접근 이력 조회파일 접근 감사는 Wazuh FIM(변경 결과)과 auditd(접근 순간)를 결합할 때 완성됩니다. FIM은 '무엇이 바뀌었나'를 diff로, auditd는 '누가 접근/변경했나'를 auid로 보여줍니다. SIEM은 이 둘을 묶어 민감 파일 이벤트를 고우선 알람으로 처리하고, 관련 행위자·프로세스를 조사 대상으로 자동 지정합니다.
[ ] 민감 파일 watch 규칙 작성·영속화
[ ] shadow는 read까지 감사
[ ] ausearch -k로 접근 이력 조회
[ ] 변경 이벤트의 auid 확인
다음 편에서는 45. 계정 및 권한 변경 감사 를 다룹니다. 파일에 이어, 계정·권한 변경 행위를 감사하는 규칙을 봅니다.
본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.