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

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

선행 학습

1. 들어가며

권한(rwx)이 '무엇을 할 수 있나'라면, 소유권은 '누구의 것인가'입니다. 소유권이 잘못되면 권한이 아무리 엄격해도 무의미해집니다 — 소유자는 언제든 권한을 바꿀 수 있으니까요. 이번 편은 소유권 이상을 보안 관점에서 봅니다.

2. 핵심 개념

점검해야 할 소유권 이상 유형:

  • orphan 파일: 존재하지 않는 UID/GID가 소유(계정 삭제 흔적, 또는 이식된 악성 파일)
  • 잘못된 소유자: 시스템 파일이 일반 사용자 소유
  • 웹 디렉터리 소유권: 웹 서버 계정이 소스 전체를 쓰기 가능 → 웹셸 자기수정
  • 서비스 계정 소유 범위: 서비스 계정이 필요 이상으로 많은 파일 소유
위험한 웹 디렉터리 소유권
/var/www/html  소유자 = www-data (웹서버 실행 계정)
     │ 웹서버가 쓰기 가능
     ▼
웹셸 업로드 → 소스 자기수정/추가 → 지속성

안전한 구성
/var/www/html  소유자 = deploy(배포계정), 웹서버는 읽기만

3. 동작 원리

소유자는 자기 파일의 권한을 자유롭게 바꿀 수 있습니다(chmod). 따라서 소유권이 공격자/서비스 계정에게 넘어가면, 엄격한 권한도 즉시 무력화됩니다. 특히 웹의 경우, 웹서버 실행 계정(www-data/nginx)이 소스 디렉터리를 소유하면 웹셸이 자신을 복제·은닉하기 쉬워집니다.

orphan 파일(소유 UID가 passwd에 없음)은 삭제된 계정의 잔재이거나, 다른 시스템에서 tar로 옮겨진 악성 파일일 수 있어 조사 가치가 높습니다.

4. 명령어 실습

# orphan 파일 (소유 사용자/그룹이 존재하지 않음)
sudo find / -xdev \( -nouser -o -nogroup \) 2>/dev/null | head

# 웹 루트를 웹서버 계정이 쓸 수 있는지
sudo find /var/www -user www-data -writable -type f 2>/dev/null | head

# 특정 서비스 계정이 소유한 파일 범위
sudo find / -xdev -user svc_web 2>/dev/null | head

5. 실행 결과

orphan 파일 점검 형식입니다. (예시 출력 — 삭제된 계정 UID 1099의 잔재 가정)

$ sudo find / -xdev \( -nouser -o -nogroup \) 2>/dev/null
/opt/app/tmp/cache.bin
/home/olduser/.bash_history

이 파일들의 소유 UID가 /etc/passwd에 없다는 뜻입니다. 정상적으로 계정을 지운 잔재일 수도, 외부에서 이식된 파일일 수도 있으므로 생성 시각·내용을 함께 확인합니다.

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

  • 정상: 시스템 파일은 root/적절한 서비스 계정 소유, 웹 소스는 배포 계정 소유(웹서버는 읽기).
  • 위험 징후:
    • 웹서버 계정이 소스 전체를 쓰기 가능 → 웹셸 지속성
    • 시스템 경로의 orphan 파일
    • 서비스 계정이 예상 밖 경로의 파일을 소유(측면 이동 흔적)

소유권과 권한은 항상 함께 봐야 정확한 접근통제 상태가 나옵니다.

7. 탐지 방법

  • orphan 파일 정기 스캔
  • 웹 루트의 웹서버 계정 쓰기 가능 파일 점검
  • chown 실행 감사(권한 이양 순간 포착)

8. SOC 관점 — SIEM · Wazuh · IOC

웹셸 사고 분석에서 소유권은 핵심 단서입니다. 웹서버 계정 소유 + 최근 생성 + 실행 가능한 스크립트 조합은 웹셸의 전형입니다. Wazuh FIM으로 웹 루트 변경을 감시하고, 새로 생성된 www-data 소유 스크립트를 알람으로 올립니다. orphan 파일과 이상 소유권은 침해 범위 산정(50편)에 활용합니다.

9. 실습 체크리스트

[ ] orphan 파일 스캔
[ ] 웹서버 계정의 소스 쓰기 가능 여부 점검
[ ] 서비스 계정 소유 파일 범위 확인
[ ] chown 감사 설정

10. 핵심 정리

  • 소유자는 권한을 바꿀 수 있어 소유권이 권한보다 근본적이다.
  • 웹서버 계정의 소스 소유는 웹셸 지속성의 발판이다.
  • orphan 파일은 삭제 계정 잔재 또는 이식 파일일 수 있다.
  • 소유권과 권한은 항상 함께 분석한다.
  • 웹 루트 FIM과 chown 감사로 이상을 탐지한다.

11. 다음 편

다음 편에서는 25. 중요 파일 권한 점검 를 다룹니다. Part 3를 마무리하며, 반드시 점검해야 할 핵심 시스템 파일들을 한 번에 정리합니다.


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

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

0개의 댓글