📋 학습 요약
- 주제: FTP 프로토콜의 동작 원리(Active/Passive) 이해 및 접근 제어 설정
- 도구: Rocky Linux 9.4, Xshell, Windows 10,11
- 핵심 키워드: FTP, Active/Passive Mode, chroot, UMASK, Port Forwarding
💻 주요 실습 내용
1. 네트워크 및 시스템 이론
- FTP 이론: 제어 포트(21)와 데이터 포트(20/가변)가 분리된 동작 방식 이해
- Router vs Switch: L3 계층의 경로 배정(Routing)과 L2 계층의 MAC 기반 전달(Switching) 차이
- UMASK: 파일(666-umask) 및 디렉토리(777-umask) 생성 시 기본 권한 결정 원리
2. Xshell 가독성 팁 (IP 하이라이팅 설정)
터미널에서 IP 주소를 쉽게 식별하기 위한 정규식 하이라이팅 설정을 적용했습니다.
- 설정 방법: [도구] → [하이라이터 모음] → 정규식(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})) 추가 및 색상 지정
3. FTP 서버 실습 (Active Mode vs Passive Mode)
[실습 1: Active Mode 구성 - 사용자 x, y]
- 주요 설정:
- 보안: anonymous 사용 금지, chroot를 사용자 x에게만 적용(list 방식)
- 로그/배너: 배너 파일(/ftp/ban), 전송 로그(/ftp/xferlog) 지정
- 타임아웃: 세션 타임아웃 3분(180s), 데이터 전송 타임아웃 30s
- 파일 생성: 각 사용자 홈 디렉토리에 500MB 더미 파일 생성 (dd 명령어 활용)
[실습 2: Passive Mode 구성 - 이니셜 계정]
- 주요 설정:
- 포트 범위: Passive 데이터 전송 포트를 60000-60010으로 고정
- 경로 커스텀: 모든 설정 파일 및 로그를 /이니셜/ 디렉토리 하위로 집중 관리
- 외부 접속: 팀원 간 원격 접속이 가능하도록 Port Forwarding 작업 병행

🔍 주요 설정값 메모 (vsftpd.conf)
- Active Mode 관련: port_enable=YES, connect_from_port_20=YES
- Passive Mode 관련: pasv_min_port=60000, pasv_max_port=60010
- 타임아웃: idle_session_timeout=180, data_connection_timeout=30
- chroot: chroot_local_user=NO, chroot_list_enable=YES
⚠️ 트러블슈팅 및 주의사항
- 방화벽 설정: FTP는 21번 포트 외에도 데이터 전송을 위한 포트(ex 60000-60010)를 반드시 함께 개방해야 함.
- 포트포워딩: NAT 환경에서 팀원 PC로 접속 시, 본인 호스트 PC의 방화벽 인바운드 규칙에 해당 포트들이 등록되어 있는지 확인 필수.
📝 오늘의 회고
FTP의 Active 모드와 Passive 모드가 방화벽 환경에서 어떻게 다르게 동작하는지 몸소 체험할 수 있었다. 특히 chroot를 통해 사용자의 디렉토리 이동을 제한하는 설정은 보안 관리자로서 필수적인 역량임을 느꼈다.
'매일 배운 것 정리' 카테고리의 다른 글
| [20260508] Sendmail & Dovecot을 이용한 메일 서버 구축 실습 (0) | 2026.04.30 |
|---|---|
| [20260507] Apache(httpd) 웹 서버 심화: 가상 호스트 및 접근 제어 실습 (0) | 2026.04.30 |
| [260423] Rocky Linux 설치 및 SSH 설정 (OpenSSH 포트 충돌 해결) (0) | 2026.04.27 |
| [260429] Windows Server 2022 DHCP 옵션 체계 및 IIS 기반 FTP 서버 구축 (0) | 2026.04.27 |
| [260427] DHCP 프로토콜 이해 및 리눅스·Windows 서버 구축 (0) | 2026.04.27 |
