Linux 시스템 보안 기초 · 45/50편
이 글은
리눅스 시스템 기초·파일 · 권한 · 사용자 관리·서비스 · 프로세스 관리시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.
침입 후 공격자가 하는 일은 정해져 있습니다 — 계정을 만들고, 권한을 올리고, sudo를 얻습니다. 이 '계정·권한 변경 행위'를 감사하면 침해의 핵심 단계를 직접 포착할 수 있습니다. 이번 편의 주제입니다.
감사할 계정·권한 변경 행위:
| 행위 | 명령/도구 | 의미 |
|---|---|---|
| 계정 생성 | 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로 기록됨
▼
감사 로그에 침해 타임라인 형성
계정 관리 명령은 실행되면(execve) 감사되고, /etc/passwd·/etc/group·/etc/shadow를 수정하므로 파일 watch에도 걸립니다. 즉 하나의 계정 생성이 '명령 실행'과 '파일 변경' 두 관점에서 기록됩니다. 여기에 auid가 붙으면 '어떤 로그인 사용자가 이 계정을 만들었나'가 명확해집니다.
sudo/su 감사는 권한 상승의 게이트를 지킵니다. sudo 로그(COMMAND=)와 auditd execve를 결합하면 '누가 어떤 특권 명령을 실행했나'가 완전히 재구성됩니다(05편).
# 계정 관리 도구 실행 감사 규칙
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
실습 환경에서 계정 관련 감사·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편의 권한 상승 감시와 직결됩니다.
계정·권한 변경은 침해의 '중간 단계'라, 초기 침입(brute force)과 지속성(cron/키) 사이를 잇는 핵심 연결 고리입니다(46편 타임라인).
계정·권한 변경은 MITRE T1136(Create Account)·T1098(Account Manipulation)·T1548(권한 상승)에 대응합니다. Wazuh는 auditd와 sudo 로그를 결합해 이를 탐지하고, SIEM은 'brute force 성공 → sudo → useradd → cron'을 하나의 사건으로 상관분석합니다. 생성된 계정명은 즉시 IOC로 등록해 다른 시스템에서도 추적합니다.
[ ] 계정 관리 명령 감사 규칙 작성
[ ] sudoers/group watch 설정
[ ] sudo COMMAND 로그 결합 분석
[ ] 계정 생성-지속성 시간 연계 확인
다음 편에서는 46. Linux 로그 기반 침해사고 타임라인 를 다룹니다. Part 6를 마무리하며, 지금까지의 로그를 시간순으로 엮어 침해사고 타임라인을 만듭니다.
본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.