리눅스 시스템 기초 · 04. Linux 시스템 보안 기초 — 이 영역 글의 "N편"은 제목 앞 번호(영역 내 번호)다. 전체 250편 구성은 통합 로드맵에서 확인할 수 있다.

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

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

선행 학습

1. 들어가며

리눅스 명령어를 아는 것과 리눅스를 보안 관점에서 볼 수 있는 것은 다릅니다. SOC(보안관제) 분석가는 ls나 ps를 몰라서 침해를 놓치지 않습니다. 같은 명령 출력을 보고도 '무엇이 정상이고 무엇이 이상 징후인가'를 판단하지 못해서 놓칩니다.

이 시리즈는 그 판단 기준을 세우는 과정입니다. 첫 편에서는 앞으로 50편을 관통하는 보안의 뼈대 — CIA, 인증/인가, 접근통제, 계정관리, 감사·로그·탐지·대응 — 을 정리합니다.

2. 핵심 개념

정보보안의 목표는 흔히 CIA 3요소로 요약합니다.

  • 기밀성(Confidentiality): 권한 없는 주체가 데이터를 읽지 못하게 한다. 리눅스에서는 파일 권한·ACL·/etc/shadow 접근 제한이 여기 해당합니다.
  • 무결성(Integrity): 데이터가 인가되지 않은 방식으로 변조되지 않는다. 설정 파일 변조·바이너리 교체 탐지가 핵심입니다.
  • 가용성(Availability): 정상 사용자가 필요할 때 자원을 쓸 수 있다. 자원 고갈 공격·서비스 중단이 위협입니다.

여기에 접근을 통제하는 두 단계가 붙습니다.

  • 인증(Authentication): 너는 누구인가? (로그인, SSH 키)
  • 인가(Authorization): 너는 무엇을 할 수 있는가? (권한, sudo)

그리고 사후에 '무슨 일이 있었는가'를 남기고 보는 것이 감사(Audit)·로그(Log), 이상을 찾아내는 것이 탐지(Detection), 조치하는 것이 대응(Response) 입니다.

Linux 시스템 보안의 기본 개념 — 핵심 개념

3. 동작 원리

리눅스에서 이 개념들은 추상적 이론이 아니라 커널과 파일에 구체적 형태로 존재합니다.

  • 인증 → PAM 모듈과 /etc/shadow의 해시
  • 인가 → inode의 권한 비트(rwx), UID/GID, sudoers
  • 감사 → auditd, journald, /var/log/

SOC 분석의 출발점은 '이 개념이 리눅스에서 어느 파일·어느 로그·어느 명령으로 드러나는가'를 매핑하는 것입니다. 앞으로 각 편은 개념 → 리눅스 구현체 → 로그 근거 → 탐지 순서로 이 매핑을 하나씩 채웁니다.

4. 명령어 실습

첫 편이니 무거운 실습보다, 보안 점검의 '입구'가 되는 명령들을 먼저 손에 익힙니다.

# 나는 누구이고 어떤 권한인가 (인증/인가 확인)
id

# 이 시스템에 로그인 가능한 계정은? (계정관리)
getent passwd | awk -F: '$7 !~ /nologin|false/ {print $1, $7}'

# 최근 인증 이벤트는? (감사/로그) — Ubuntu 계열
sudo tail -n 5 /var/log/auth.log

5. 실행 결과

아래는 이 시리즈 실습 컨테이너(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차 조사 대상입니다.

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

  • 정상: 관리자가 id로 자신의 권한을 확인하고, 서비스 계정은 nologin 쉘을 가진다.
  • 악용 징후: 서비스 계정(예: svc_web)의 쉘이 /bin/bash로 바뀌어 있거나, UID 0(root)을 가진 계정이 root 외에 하나 더 있는 경우. 공격자는 종종 눈에 안 띄는 이름의 제2의 root 계정을 만들어 지속성을 확보합니다.

핵심은 '명령 자체'가 아니라 기준선(baseline)과의 차이입니다. 정상 상태를 알아야 이상이 보입니다.

7. 탐지 방법

이번 편의 탐지 관점은 단순합니다. 세 가지 질문을 로그·파일로 답할 수 있으면 됩니다.

  • 누가 로그인했나 → /var/log/auth.log(Ubuntu) / /var/log/secure(RHEL), last, lastlog
  • 누가 권한을 상승했나 → sudo 로그, auditd
  • 계정 구성이 바뀌었나 → /etc/passwd, /etc/shadow 변경 시각(stat)

각 항목의 상세 탐지는 이후 편에서 명령 단위로 파고듭니다.

8. SOC 관점 — SIEM · Wazuh · IOC

SOC의 업무 흐름은 결국 Log → Indicator → Analysis → Detection → Response 입니다.

Linux 이벤트  →  로그/증거  →  지표(IOC)  →  분석  →  탐지룰  →  대응

SIEM(Splunk 등)이나 Wazuh는 이 흐름을 자동화한 도구일 뿐, 판단의 기준은 분석가에게 있습니다. 이 시리즈의 목표는 '도구 사용법'이 아니라 '도구가 보여주는 것을 해석하는 눈'을 만드는 것입니다.

9. 실습 체크리스트

[ ] CIA 3요소를 리눅스 구현체와 매핑해 본다
[ ] 로그인 가능한 계정 목록을 뽑아 본다
[ ] auth 로그에서 최근 인증 이벤트를 확인한다
[ ] UID 0 계정이 root 하나뿐인지 확인한다

10. 핵심 정리

  • 보안은 예방(인증·인가·접근통제) → 탐지(로그·감사) → 대응의 순환이다.
  • CIA는 이론이 아니라 리눅스의 파일·권한·로그로 구현되어 있다.
  • 인증(누구인가)과 인가(무엇을 할 수 있나)는 다른 단계다.
  • SOC 분석의 핵심은 명령 암기가 아니라 기준선과의 차이 판단이다.
  • 모든 탐지는 '로그 근거'로 뒷받침되어야 한다.

11. 다음 편

다음 편에서는 02. Linux 보안 모델 이해 를 다룹니다. 보안을 구성하는 User·Group·Process·File·Permission·Kernel이 어떻게 하나로 연결되는지 봅니다.


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

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

0개의 댓글