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

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

선행 학습

1. 들어가며

침입 후 공격자가 하는 일은 정해져 있습니다 — 계정을 만들고, 권한을 올리고, sudo를 얻습니다. 이 '계정·권한 변경 행위'를 감사하면 침해의 핵심 단계를 직접 포착할 수 있습니다. 이번 편의 주제입니다.

2. 핵심 개념

감사할 계정·권한 변경 행위:

행위명령/도구의미
계정 생성useradd신규 계정(지속성)
계정 수정usermod권한/그룹 변경
비밀번호 변경passwd자격증명 변경
그룹 관리groupadd/gpasswd권한 그룹 조작
권한 상승sudo/su특권 실행

이들을 execve 감사(43편)와 파일 watch(44편)로 이중 포착하면 놓칠 확률이 낮아집니다.

침입 후 전형적 순서
sudo/su (권한 상승)
   ▼
useradd hacker  (계정 생성)
   ▼
usermod -aG sudo hacker  (sudo 권한 부여)
   ▼
passwd hacker  (비밀번호 설정)
   │ 각 단계가 auditd execve + passwd/group watch로 기록됨
   ▼
감사 로그에 침해 타임라인 형성

3. 동작 원리

계정 관리 명령은 실행되면(execve) 감사되고, /etc/passwd·/etc/group·/etc/shadow를 수정하므로 파일 watch에도 걸립니다. 즉 하나의 계정 생성이 '명령 실행'과 '파일 변경' 두 관점에서 기록됩니다. 여기에 auid가 붙으면 '어떤 로그인 사용자가 이 계정을 만들었나'가 명확해집니다.

sudo/su 감사는 권한 상승의 게이트를 지킵니다. sudo 로그(COMMAND=)와 auditd execve를 결합하면 '누가 어떤 특권 명령을 실행했나'가 완전히 재구성됩니다(05편).

4. 명령어 실습

# 계정 관리 도구 실행 감사 규칙
sudo tee /etc/audit/rules.d/accounts.rules >/dev/null <<'RULES'
-w /usr/sbin/useradd -p x -k account_mgmt
-w /usr/sbin/usermod -p x -k account_mgmt
-w /usr/bin/passwd  -p x -k account_mgmt
-w /usr/sbin/groupadd -p x -k account_mgmt
-w /etc/sudoers.d/ -p wa -k priv_config
RULES
sudo augenrules --load

# 계정 변경 이력 조회
sudo ausearch -k account_mgmt -i | tail
# 실패 포함 인증/권한 이벤트 리포트
sudo aureport -au --summary 2>/dev/null

5. 실행 결과

실습 환경에서 계정 관련 감사·sudoers 규칙 확인 결과입니다. (실제 캡처)

$ sudo auditctl -l | grep -E 'priv_config|sudoers'
-w /etc/sudoers -p wa -k priv_config
-w /etc/sudoers.d -p wa -k priv_config

sudoers 디렉터리 변경이 priv_config 키로 감사됩니다. 실제 실습에서 echo '...' > /etc/sudoers.d/90-bob를 수행하면 이 규칙에 걸려 '누가 sudo 권한을 부여했는가'가 기록됩니다. 이런 이벤트는 05편의 권한 상승 감시와 직결됩니다.

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

  • 정상: 관리자가 절차에 따라 수행하는 계정 작업(변경 관리 기록과 일치).
  • 침해 징후:
    • 예상 밖 시간/사용자의 useradd
    • sudo 그룹 편입, sudoers.d에 NOPASSWD 추가
    • 계정 생성 직후 SSH 키 등록(35편)/cron 등록(31편)

계정·권한 변경은 침해의 '중간 단계'라, 초기 침입(brute force)과 지속성(cron/키) 사이를 잇는 핵심 연결 고리입니다(46편 타임라인).

7. 탐지 방법

  • 계정 관리 명령 execve 감사
  • passwd/group/sudoers 파일 watch
  • sudo COMMAND 로그 결합
  • 계정 생성과 지속성 설치의 시간 연계

8. SOC 관점 — SIEM · Wazuh · IOC

계정·권한 변경은 MITRE T1136(Create Account)·T1098(Account Manipulation)·T1548(권한 상승)에 대응합니다. Wazuh는 auditd와 sudo 로그를 결합해 이를 탐지하고, SIEM은 'brute force 성공 → sudo → useradd → cron'을 하나의 사건으로 상관분석합니다. 생성된 계정명은 즉시 IOC로 등록해 다른 시스템에서도 추적합니다.

9. 실습 체크리스트

[ ] 계정 관리 명령 감사 규칙 작성
[ ] sudoers/group watch 설정
[ ] sudo COMMAND 로그 결합 분석
[ ] 계정 생성-지속성 시간 연계 확인

10. 핵심 정리

  • 침입 후 계정 생성·권한 상승·sudo는 정형 패턴이다.
  • 계정 변경은 execve 감사와 파일 watch로 이중 포착한다.
  • auid로 '누가 계정을 만들었는가'를 특정한다.
  • 계정 변경은 초기 침입과 지속성 사이의 연결 고리다.
  • T1136/T1098/T1548로 매핑해 상관분석한다.

11. 다음 편

다음 편에서는 46. Linux 로그 기반 침해사고 타임라인 를 다룹니다. Part 6를 마무리하며, 지금까지의 로그를 시간순으로 엮어 침해사고 타임라인을 만듭니다.


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

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

0개의 댓글