Linux 시스템 보안 기초 · 44/50편

이 글은 리눅스 시스템 기초 · 파일 · 권한 · 사용자 관리 · 서비스 · 프로세스 관리 시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.

선행 학습

1. 들어가며

43편에서 auditd 개념을 봤으니, 이번 편은 그 실전 활용 — 중요 파일에 대한 접근 감사에 집중합니다. shadow를 누가 읽었는지, sudoers를 누가 바꿨는지 추적하는 규칙을 구체적으로 설계합니다.

2. 핵심 개념

감사 대상 파일과 권한 플래그(-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 → '누가 언제 무엇으로' 접근했나

3. 동작 원리

watch 규칙(-w)은 지정 경로에 대한 접근을 해당 권한(-p) 발생 시 기록합니다. 이벤트에는 접근한 프로세스(comm/exe), 실제 사용자(auid), 대상 경로(PATH)가 함께 남아 '누가 무엇으로 접근했나'가 재구성됩니다.

핵심 통찰: 정상적으로 거의 발생하지 않는 접근을 감사하면 오탐이 적습니다. shadow read가 대표적입니다 — 운영 중 shadow를 직접 읽는 정상 작업은 드물기에, read 이벤트 자체가 강한 신호가 됩니다(08편).

4. 명령어 실습

# 규칙 파일로 영속화 (재부팅 유지)
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

5. 실행 결과

이 시리즈 실습에서 실제 걸어 둔 규칙과 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에 로그인 사용자가 찍혀 '누가 읽었는가'가 명확해집니다.

6. 보안 관점 — 정상 사용 vs 악용

  • 정상: 관리 작업에 의한 예상된 변경(패키지·관리자), read 이벤트는 거의 없음.
  • 침해 징후:
    • 비관리 프로세스(웹서버 등)의 shadow read → 자격증명 탈취 시도
    • sudoers/sshd_config 무단 변경
    • passwd 변경 직후 UID 0 등장(04편 연계)

파일 접근 감사는 25편의 무결성 점검을 '실시간 이벤트'로 끌어올린 것입니다 — 변경 결과가 아니라 변경 순간을 잡습니다.

7. 탐지 방법

  • 민감 파일 watch 규칙 영속화(rules.d)
  • shadow read 등 저빈도 접근 우선 탐지
  • ausearch -k로 키별 접근 이력 조회
  • 변경 이벤트의 auid로 행위자 특정

8. SOC 관점 — SIEM · Wazuh · IOC

파일 접근 감사는 Wazuh FIM(변경 결과)과 auditd(접근 순간)를 결합할 때 완성됩니다. FIM은 '무엇이 바뀌었나'를 diff로, auditd는 '누가 접근/변경했나'를 auid로 보여줍니다. SIEM은 이 둘을 묶어 민감 파일 이벤트를 고우선 알람으로 처리하고, 관련 행위자·프로세스를 조사 대상으로 자동 지정합니다.

9. 실습 체크리스트

[ ] 민감 파일 watch 규칙 작성·영속화
[ ] shadow는 read까지 감사
[ ] ausearch -k로 접근 이력 조회
[ ] 변경 이벤트의 auid 확인

10. 핵심 정리

  • 파일 접근 감사는 변경 '결과'가 아니라 '순간'을 잡는다.
  • 저빈도 접근(shadow read)을 감사하면 오탐이 적다.
  • 이벤트의 auid로 실제 접근자를 특정한다.
  • rules.d로 규칙을 영속화해 재부팅에도 유지한다.
  • FIM(무엇)과 auditd(누가)의 결합이 완성형이다.

11. 다음 편

다음 편에서는 45. 계정 및 권한 변경 감사 를 다룹니다. 파일에 이어, 계정·권한 변경 행위를 감사하는 규칙을 봅니다.


본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글