리눅스 시스템 기초 · 04. Linux 시스템 보안 기초 — 이 영역 글의 "N편"은 제목 앞 번호(영역 내 번호)다. 전체 250편 구성은 통합 로드맵에서 확인할 수 있다.
Linux 시스템 보안 기초 · 01/50편
이 글은
리눅스 시스템 기초·파일 · 권한 · 사용자 관리·서비스 · 프로세스 관리시리즈를 선행 학습으로 두고, 동일한 개념을 보안관제(SOC) 관점에서 한 단계 확장합니다.
리눅스 명령어를 아는 것과 리눅스를 보안 관점에서 볼 수 있는 것은 다릅니다. SOC(보안관제) 분석가는 ls나 ps를 몰라서 침해를 놓치지 않습니다. 같은 명령 출력을 보고도 '무엇이 정상이고 무엇이 이상 징후인가'를 판단하지 못해서 놓칩니다.
이 시리즈는 그 판단 기준을 세우는 과정입니다. 첫 편에서는 앞으로 50편을 관통하는 보안의 뼈대 — CIA, 인증/인가, 접근통제, 계정관리, 감사·로그·탐지·대응 — 을 정리합니다.
정보보안의 목표는 흔히 CIA 3요소로 요약합니다.
/etc/shadow 접근 제한이 여기 해당합니다.여기에 접근을 통제하는 두 단계가 붙습니다.
그리고 사후에 '무슨 일이 있었는가'를 남기고 보는 것이 감사(Audit)·로그(Log), 이상을 찾아내는 것이 탐지(Detection), 조치하는 것이 대응(Response) 입니다.

리눅스에서 이 개념들은 추상적 이론이 아니라 커널과 파일에 구체적 형태로 존재합니다.
/etc/shadow의 해시sudoersauditd, journald, /var/log/SOC 분석의 출발점은 '이 개념이 리눅스에서 어느 파일·어느 로그·어느 명령으로 드러나는가'를 매핑하는 것입니다. 앞으로 각 편은 개념 → 리눅스 구현체 → 로그 근거 → 탐지 순서로 이 매핑을 하나씩 채웁니다.
첫 편이니 무거운 실습보다, 보안 점검의 '입구'가 되는 명령들을 먼저 손에 익힙니다.
# 나는 누구이고 어떤 권한인가 (인증/인가 확인)
id
# 이 시스템에 로그인 가능한 계정은? (계정관리)
getent passwd | awk -F: '$7 !~ /nologin|false/ {print $1, $7}'
# 최근 인증 이벤트는? (감사/로그) — Ubuntu 계열
sudo tail -n 5 /var/log/auth.log
아래는 이 시리즈 실습 컨테이너(Ubuntu 24.04)에서 실제 실행한 결과입니다. (실제 캡처)
$ id
uid=0(root) gid=0(root) groups=0(root)
$ getent passwd | awk -F: '$7 !~ /nologin|false/ {print $1, $7}'
root /bin/bash
alice /bin/bash
bob /bin/bash
nologin 필터를 씌우면 '실제로 로그인 가능한 계정'만 추려집니다. 이 목록에 예상치 못한 이름이 있으면 그것이 1차 조사 대상입니다.
id로 자신의 권한을 확인하고, 서비스 계정은 nologin 쉘을 가진다.svc_web)의 쉘이 /bin/bash로 바뀌어 있거나, UID 0(root)을 가진 계정이 root 외에 하나 더 있는 경우. 공격자는 종종 눈에 안 띄는 이름의 제2의 root 계정을 만들어 지속성을 확보합니다.핵심은 '명령 자체'가 아니라 기준선(baseline)과의 차이입니다. 정상 상태를 알아야 이상이 보입니다.
이번 편의 탐지 관점은 단순합니다. 세 가지 질문을 로그·파일로 답할 수 있으면 됩니다.
/var/log/auth.log(Ubuntu) / /var/log/secure(RHEL), last, lastlogsudo 로그, auditd/etc/passwd, /etc/shadow 변경 시각(stat)각 항목의 상세 탐지는 이후 편에서 명령 단위로 파고듭니다.
SOC의 업무 흐름은 결국 Log → Indicator → Analysis → Detection → Response 입니다.
Linux 이벤트 → 로그/증거 → 지표(IOC) → 분석 → 탐지룰 → 대응
SIEM(Splunk 등)이나 Wazuh는 이 흐름을 자동화한 도구일 뿐, 판단의 기준은 분석가에게 있습니다. 이 시리즈의 목표는 '도구 사용법'이 아니라 '도구가 보여주는 것을 해석하는 눈'을 만드는 것입니다.
[ ] CIA 3요소를 리눅스 구현체와 매핑해 본다
[ ] 로그인 가능한 계정 목록을 뽑아 본다
[ ] auth 로그에서 최근 인증 이벤트를 확인한다
[ ] UID 0 계정이 root 하나뿐인지 확인한다
다음 편에서는 02. Linux 보안 모델 이해 를 다룹니다. 보안을 구성하는 User·Group·Process·File·Permission·Kernel이 어떻게 하나로 연결되는지 봅니다.
본 실습은 격리된 테스트 VM(Rocky Linux / Ubuntu, VMware) 및 테스트 계정 환경을 기준으로 하며, 운영 서버를 대상으로 하지 않습니다. 실행 결과는 실제 캡처와 예시 출력을 명확히 구분해 표기합니다.