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

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

선행 학습

1. 들어가며

Part 3의 개념들(권한·SUID·ACL·소유권)을 종합해, 실무에서 가장 먼저 점검하는 핵심 시스템 파일 체크리스트를 만듭니다. 이 몇 개 파일의 권한만 정확히 유지해도 상당수 공격을 예방합니다.

2. 핵심 개념

필수 점검 파일과 기준 권한:

파일권장 권한소유자:그룹
/etc/passwd644root:root
/etc/shadow640 (또는 600)root:shadow
/etc/group644root:root
/etc/gshadow640root:shadow
/etc/sudoers440root:root
/etc/ssh/sshd_config600root:root

숫자를 외우기보다 '민감할수록 좁게(shadow/sudoers는 특히 엄격)'라는 원칙으로 이해합니다.

점검 스크립트 흐름

대상 파일 목록
     │  stat -c '%a %U:%G'
     ▼
기준값과 비교 ── 불일치 ──> 경고 + 시정
     │ 일치
     ▼
  정상

3. 동작 원리

이 파일들은 인증·권한 부여의 근간이라, 권한이 느슨해지면 즉시 공격 표면이 됩니다. 예: sudoers가 world-writable이면 누구나 자신에게 sudo를 부여할 수 있고, sshd_config가 쓰기 가능하면 인증 정책이 무력화됩니다.

점검은 단발이 아니라 기준선(baseline) 대비 지속 비교여야 합니다. 최초 정상 상태의 권한·해시를 저장하고 주기적으로 대조하면, 공격자의 변조를 조기에 탐지할 수 있습니다.

4. 명령어 실습

# 핵심 파일 권한/소유자 일괄 확인
for f in /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/sudoers /etc/ssh/sshd_config; do
  sudo stat -c '%n %a %U:%G' "$f" 2>/dev/null
done

# 무결성 기준선 저장(최초 1회)
sudo sha256sum /etc/passwd /etc/group /etc/ssh/sshd_config | sudo tee /root/baseline.sha256
# 이후 비교
sudo sha256sum -c /root/baseline.sha256

5. 실행 결과

실습 컨테이너에서 핵심 파일 권한 확인 실제 결과입니다. (실제 캡처)

$ for f in /etc/passwd /etc/shadow /etc/group /etc/ssh/sshd_config; do
    sudo stat -c '%n %a %U:%G' "$f"; done
/etc/passwd 644 root:root
/etc/shadow 640 root:shadow
/etc/group 644 root:root
/etc/ssh/sshd_config 600 root:root

모두 기준 권한과 일치합니다. 하나라도 어긋나면(예: shadow가 644) 즉시 chmod로 시정하고 변경 원인을 조사해야 합니다.

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

  • 정상: 위 기준 권한 유지, 무결성 해시 일치.
  • 위험/침해 징후:
    • shadow/sudoers 권한 완화
    • 핵심 파일의 예상 밖 변경(해시 불일치)
    • 변경 시각이 침입 추정 시각과 겹침

이 체크리스트는 침해사고 초동 대응(48편)의 '무결성 확인' 단계와 그대로 연결됩니다.

7. 탐지 방법

  • 권한/소유자 기준값 대비 스캔
  • 무결성 해시(sha256sum -c) 정기 검증
  • 핵심 파일 변경 감사(auditd -w ... -p wa, 44편)

8. SOC 관점 — SIEM · Wazuh · IOC

이 파일들은 Wazuh FIM의 최우선 감시 대상입니다. 변경 발생 시 diff와 함께 즉시 알람이 오며, auditd의 identity/priv_config 키(41·44편에서 설정)와 결합하면 '누가 언제 변경했는가'까지 추적됩니다. 권한 완화·무결성 위반은 침해 타임라인(46편)의 핵심 증거가 됩니다.

9. 실습 체크리스트

[ ] 핵심 파일 권한/소유자 일괄 확인
[ ] 기준값 불일치 시정
[ ] 무결성 해시 기준선 저장·검증
[ ] 핵심 파일 변경 감사 설정

10. 핵심 정리

  • 몇 개 핵심 파일의 권한만 지켜도 공격을 크게 예방한다.
  • shadow·sudoers·sshd_config는 특히 엄격해야 한다.
  • 점검은 기준선 대비 지속 비교여야 한다.
  • 권한 완화·무결성 위반은 침해의 강한 증거다.
  • FIM+auditd로 '누가 언제 변경했는가'까지 추적한다.

11. 다음 편

다음 편에서는 26. Linux 프로세스 보안 를 다룹니다. Part 4로 넘어가, 살아 움직이는 실행 주체 — 프로세스를 보안 관점에서 해부합니다.


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

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

0개의 댓글