NTFS
🌿 자라는 중
윈도우 서버 보안에서 NTFS가 중요한 이유는 하나다 - FAT에는 보안이 없다. FAT32 파일에는 “누가 읽을 수 있나”라는 정보 자체가 없어서, NTFS로 와야 비로소 파일마다 권한 명부가 붙는다.
FAT vs NTFS
| FAT16 / FAT32 | NTFS | |
|---|---|---|
| 파일·폴더 권한 | 없음 | ACL로 개별 설정 |
| 암호화 | 없음 | EFS |
| 장애 복구 | 없음 | 저널링(트랜잭션 로그) |
| 파일 크기 | FAT32는 최대 4GB | 사실상 무제한 |
“FAT32는 파일 단위 보안 설정이 가능하다” → ✕. 이 한 줄이 그대로 선지로 나온다.
NTFS의 보안 기능
- ACL (Access Control List): 파일·폴더마다 붙는 “누가 뭘 할 수 있는지” 명부. 소유자가 정한다 - 접근 통제 모델로 분류하면 DAC의 교과서 사례.
- EFS (Encrypting File System): 파일·폴더 단위 암호화. NTFS 압축과 동시 적용 불가 - 암호화하면 압축이 풀리고, 압축하면 암호화가 풀린다 (함정 단골).
- 저널링 (Journaling): 작업을 로그에 먼저 기록하고 실행. 도중에 전원이 나가도 로그를 보고 복구할 수 있어 파일 시스템이 깨지지 않는다.
- 디스크 쿼터 (Disk Quota): 사용자별 디스크 사용량 제한.
보안 관점 하나 더 - ADS (Alternate Data Streams): 한 파일에 보이지 않는 두 번째 데이터 흐름을 붙일 수 있는 NTFS 기능. file.txt:evil.exe처럼 악성코드 은닉에 악용된다. 탐색기나 dir로는 안 보인다.
NTFS 권한 6종
| 권한 | 할 수 있는 것 |
|---|---|
| 모든 권한 (Full Control) | 아래 전부 + 권한 변경, 소유권 가져오기 |
| 수정 (Modify) | 읽기·쓰기·실행 + 삭제 |
| 읽기 및 실행 (Read & Execute) | 내용 보기 + 프로그램 실행 |
| 폴더 내용 보기 (List Folder Contents) | 폴더 안 목록만 (폴더 전용) |
| 읽기 (Read) | 내용·속성 보기 |
| 쓰기 (Write) | 새 파일 만들기, 내용 수정 |
권한 계산 규칙 3개
- 권한은 누적된다 - 사용자에게 준 권한 + 소속 그룹에 준 권한의 합집합.
- 거부(Deny)가 허용(Allow)보다 우선 - 어디 하나라도 거부면 최종 거부.
- 공유 권한과 NTFS 권한이 같이 걸리면 더 제한적인 쪽이 이긴다.
이동·복사하면 권한은 어떻게 되나
왜 이렇게 되는지 이해하면 안 외워도 된다: 같은 볼륨 안에서 이동은 파일 데이터가 그대로 있고 위치 정보만 바뀌는 것이라 권한도 그대로다. 반면 복사는 새 파일을 만드는 것이고, 다른 볼륨으로 이동도 내부적으로는 “복사 후 원본 삭제”라서 - 새로 태어난 파일은 태어난 곳(대상 폴더)의 권한을 물려받는다.
시험 포인트
- 함정 1: “FAT32도 파일 단위 권한 설정이 가능하다” → ✕. 권한·암호화·저널링은 NTFS부터.
- 함정 2: 허용과 거부가 충돌하면? → 거부 우선. “누적되니까 허용”으로 내는 선지에 안 속기.
- 함정 3: 이동·복사 4가지 경우 중 권한이 유지되는 건 같은 볼륨 내 이동 딱 하나.
- 함정 4: EFS 암호화와 NTFS 압축은 동시 적용 불가.
- 함정 5: 공유 권한 ∩ NTFS 권한 = 더 제한적인 쪽. “더 관대한 쪽”으로 바꿔치기해서 낸다.
한 줄: NTFS = ACL(DAC)·EFS·저널링·쿼터, 거부 > 허용, 권한 생존은 같은 볼륨 이동뿐, EFS와 압축은 양자택일.
연결되는 것들
- NTFS 권한은 소유자가 임의로 정하는 DAC의 교과서 사례 → 접근 통제 - MAC·DAC·RBAC
- 파일 시스템 드라이버는 커널 모드에서 돈다 - 여기가 뚫리면 시스템 전체가 넘어가는 이유 → 사용자 모드와 커널 모드
- ADS에 숨는 악성코드 구분법 → 바이러스·웜·트로이목마