📄 2025.11.24 (Day 21) [Linux 시스템 기초 및 파일 접근 통제]
1. 핵심 개념 정리 (Concepts & Theory)
| # | 핵심 개념 | 간결한 설명 | 실무/보안 관점에서의 중요성 |
|---|---|---|---|
| 1 | 오너십 및 권한 (Permissions) | 파일/디렉터리의 소유자(U), 그룹(G), 기타(O) 사용자별 접근 권한(읽기/쓰기/실행)을 제어하는 모델. | 시스템 접근 통제의 핵심이며, 최소 권한 원칙을 시스템에 적용하는 기반임. |
| 2 | Setuid / Sticky Bit | 일반 사용자가 실행 시 일시적으로 소유자 권한을 얻게 하거나 (Setuid), 공유 디렉터리(/tmp) 내 파일 삭제 권한을 소유자에게만 부여하는 특수 권한. | 권한 상승(Privilege Escalation) 공격의 주요 대상이자, 공유 자원 무결성 유지에 필수적임. |
| 3 | Umask | 파일 또는 디렉터리 생성 시 기본적으로 제외되는 권한을 지정하는 시스템 설정 값. | 시스템의 보안 기준을 설정하며, 생성되는 모든 파일의 불필요한 초기 권한 부여를 방지함. |
2. 실습 코드 & 응용 (Practice & Code Walkthrough)
(A) 핵심 명령어/함수 실습
- 탐색/파일 관리:
pwd,cd,ls,cp,mv,rm등 파일 시스템 탐색 및 관리 기본 명령어 실습. - 파일 내용 확인:
cat,head,tail명령어를 활용하여 로그 파일의 내용을 효율적으로 확인하는 방법 숙지. - 권한 제어:
chmod(숫자/문자 모드),chown,chgrp명령어를 활용하여 파일 소유권 및 권한을 세밀하게 제어. - 계정 관리:
useradd,groupadd,usermod,su명령어를 통한 시스템 접근 제어 실습.
(B) 실습 결과 및 분석
- Setuid 위협 재현: Setuid가 설정된 바이너리 파일 복사 및 권한 변경 실습을 통해 일반 사용자의 권한 상승 시나리오를 재현하고 위협을 인지.
- 권한 적용 일관성:
chmod적용 시 숫자 모드와 문자 모드의 결과가 일치하는지 확인하며, 권한 설정의 정확성을 검증.
3. 실무/보안 관점 분석 (Insight & Scenario Mapping)
| 분야 | 적용 시나리오 |
|---|---|
| SOC / 관제 | find / -perm -4000 명령어를 정기적으로 스크립트화하여 Setuid/Setgid 파일 목록을 탐지하고, 변경 시도를 비정상 행위로 모니터링. |
| CERT / 사고 대응 | 침입 발생 시, debsums와 같은 도구를 사용하여 주요 시스템 바이너리 파일의 무결성을 신속하게 검사하는 초기 대응 절차를 수립. |
| 시스템 운영 | Umask 값을 보수적으로 설정하여 생성되는 모든 파일의 기본 권한을 최소화하고, /tmp 디렉터리에 Sticky Bit를 설정하여 공유 자원의 무분별한 삭제를 방지. |
4. 개인 인사이트 및 다음 단계 (Reflection & Next Steps)
- 배운 점/느낀 점: 리눅스에서 파일 권한이 단순한 접근 제어를 넘어, 시스템 보안의 가장 기본적인 방어선이자 공격자가 가장 먼저 노리는 취약점이라는 점을 명확히 이해하게 됨.
- 심화 방향: 다음 학습 범위인
vi editor사용법을 숙지하여 CLI 환경에서의 파일 관리 효율성을 높이고, 파이프/리다이렉션 등 쉘의 고급 기능을 통해 로그 분석 스크립팅 능력을 강화할 계획.