벌써 필기 시험까지 10일 남았다. 시간 왤케 빠름

- 파일 관련 프로토콜
- FTP
- 개요
- 하나의 호스트에서 다른 호스트로 파일을 복사하기 위해 TCP/IP에 의해 제공되는 표준 기능
- 호스트간에 두 개의 연결 설정
- 20번 — 데이터 전송
- 21번 — 명령과 응답 등의 제어 정보
- FTP 로그인 순서와 인증
- 사용자명/비밀번호 방식 — USER, PASS
- 사용자 DB에서 대조 및 확인
- FTP 연결
- FTP Active Mode(능동 모드, 일반 연결)
- 특징
- 클라이언트에서 서버측 21번 포트로 접속하여 제어 채널을 생성하고, 데이터는 서버에서 클라이언트로 접속하여 데이터를 보내는 방식
- 클라이언트 PC에 방화벽이 설치되어 외부에서의 접속을 허용하지 않는다면 FTP 접속은 되지만, 데이터 채널 연결이 불가능함
- 동작 방식
- FTP 클라이언트는 FTP 서버의 21번 포트로 연결 설정하여 제어 채널 생성
- 사용자가 파일 목록을 보기 위해 ls를 입력하면 FTP 클라이언트는 사용할 임시 포트(1024번 이상)를 결정하여 FTP 서버에 알림
- FTP 서버는 임시 포트로 연결을 설정하여 데이터 채널 생성
- 데이터 송신 후 데이터 채널 연결 종료
- 특징
- FTP Passive Mode(수동 모드, 수동 연결)
- 특징 — 클라이언트에서 서버측 21번 포트로 접속하여 제어 채널을 생성하고, 데이터 채널도 클라이언트에서 서버로 접속하여 데이터 전송
- 동작 방식
- FTP 클라이언트는 FTP 서버의 21번 포트로 연결 설정하여 제어 채널 생성
- 사용자가 파일 목록을 보기 위해 ls를 입력하면 클라이언트는 수동 모드 연결을 위해 PASV 명령을 전송하고, FTP 서버는 사용할 임시 포트를 결정하여 FTP 클라이언트에게 알림
- FTP 클라이언트는 임시 포트로 연결을 설정하여 데이터 채널 생성
- 데이터 송신 후 데이터 채널 연결 종료
- FTP Active Mode(능동 모드, 일반 연결)
- 개요
- 익명 FTP
- 개요
- 익명 FTP를 지원하여 서버에 계정이 없는 사용자가 서버 자원에 한정된 접근을 할 수 있는 권한 제공
- 기술 지원, 고객 지원, 파일 배포 등을 하고자 하는 단체에서 사용
- 사용자 이름으로 anonymous, 패스워드로 이메일 주소 사용 → 서버 로그 기록용
- 개요
- FTP(Trivial File Transfer Protocol)
- 개요
- 기본 개념
- FTP의 기능을 전부 지원할 필요가 없거나 모두 지원하는 것이 비현실적인 경우를 위해 더 간단한 TFTP 개발
- UDP(69번 포트) 사용
- 소프트웨어 패키지를 읽기 전용 메모리나 디스크 없는 워크스테이션에 설치할 때 사용
- FTP와 TFTP의 차이점
- 전송 — 다양한 기능을 지원하는 것이 중요하지 않을 때 사용. 부트 스트래핑할 때 사용
- 한정된 개수의 명령 — 보내고 받는 기능만 지원
- 한정된 데이터 표현 방식 — ASCII, 바이너리
- 인증의 부족
- 기본 개념
- 데이터 전송
- 파일은 데이터와 블록으로 나뉘고, 마지막 블록을 제외한 각 블록은 정확히 512바이트의 크기를 가짐. 마지막 블록은 0~511바이트
- TFTP는 연속적인 데이터 블록으로 파일을 전송하기 위해 흐름 제어와 오류 제어 메커니즘을 생성해야 함
- 개요
- NFS와 Samba
- NFS(Network File System)
- TCP/IP 프로토콜을 사용하여 네트워크상에서 파일 시스템을 운영할 수 있도록 하는 프로토콜
- 데이터 보안과 무결성을 보장하면서 인증된 네트워크 사용자가 공유된 네트워크 파일을 마치 자신의 저장 장치에 있는 것처럼 사용할 수 있는 방법 제공
- 함께 사용하는 대용량 프로그램이나 데이터를 하나의 호스트에 넣어두고 NFS로 연결하여 사용 → 디스크 공간 절약
- Samba
- SMB 프로토콜을 사용하여 유닉스 계열 시스템과 윈도우 시스템 간에 파일 및 프린터 자원을 공유할 수 있는 기능 제공
- 리눅스는 기본 제공
- NFS(Network File System)
- FTP
- FTP 보안 위협 및 대책
- FTP 보안
- FTP의 비밀번호는 평문으로 저장됨
- FTP 응용 계층과 TCP 계층 사이에 보안 소켓 계층 추가 → SSL-FTP
- FTPS(FTP over SSL/TLS) — 990/tcp 포트
- SFTP
- SSH 프로토콜의 일부분
- SSH 클라이언트와 서버 사이에서 파일을 전송하기 위해 인터페이스 명령 세트 사용
- TFTP 보안
- 중요하지 않은 파일에만 접근할 수 있도록 제한
- 최소한의 보안성을 위해 TFTP 서버 근처의 라우터에 보안을 구현하여 특정 호스트만 접근 가능하도록
- secure mode — chroot 기능 이용. 지정한 디렉터리를 최상위 디렉터리로 지정하여 상위 디렉터리로 접근하지 못하도록
- Bounce attack
- 개요
- 제어 채널과 데이터 채널을 다르게 사용하고 데이터 채널을 생성할 때 목적지를 확인하지 않는 FTP 설계의 구조적 취약점 이용
- 능동 모드에서 FTP 서버의 파일을 요청하면 클라이언트에서 파일을 받을 IP와 포트를 지정해서 전달. 이때 IP와 포트를 요청한 클라이언트가 아닌 임의의 주소를 지정할 수 있는 것 이용
- 익명 FTP 서버를 이용, PORT 명령을 조작하여 공격 대상 네트워크를 스캔하고 FTP 서버로 하여금 공격자가 원하는 곳으로 데이터 전송
- 보안
- FTP의 원래 규약 제한
- FTP의 원래 규약은 인정하되 다른 서비스가 20번 포트 접속을 요청하면 거절
- 개요
- Anonymous FTP 취약점
- 개요
- 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버로의 접근 허용
- 익명 사용자가 쓰기 원한이 있을 때 악성코드 생성 가능
- Anonymous FTP 보안 대책
- 웬만하면 서비스 제거
- anonymous 사용자의 루트 디렉터리, bin, etc, pub 디렉터리의 소유자와 퍼미션 관리
- 개요
- FTP 접근제어 설정
- ftpusers 파일을 통한 접근제어
- 중요 계정에 대해 접속을 제한해야 함
- ftpusers — 접속을 제한할 계정 정보를 담고 있는 설정 파일
- TCPWrapper를 통한 접근제어
- TCPWrapper의 설정 파일인 hosts.allow, hosts.deny 파일을 이용하여 IP 기반의 접근제어 수행
- FTP 데몬 프로그램별로 TCPWrapper 연동 설정 필요
- ftpusers 파일을 통한 접근제어
- FTP 보안
- FTP 서비스 운영
- proftpd
- 특징
- wu-ftpd의 대안으로 개발
- 매우 안정적이고 빠름
- xinetd / standalone 형태로 작동 가능
- ftp 접속 시 확인 설정
- /etc/passwd, /etc/shadow에 사용자 계정이 있는지 검사
- /etc/ftpusers에 사용자 id가 있다면 거부
- /etc/shell에 등록되지 않은 셸을 사용하는 유저 접근 거부
- RequireValidShell off
- proftpd 설정 파일 옵션
- ServerType standalone (inetd) — 서버 타입 설정
- RootLogin off — 루트 계정 로그인 허용 안함
- User nobody — 데몬 동작 계정
- Group nobody — 데몬 동작 그룹
- ServerIdent On “Welcome to FTP” — 버전 정보 숨기기
- MaxClients — 최대 접속 허용
- TimeoutLogin — 아이디/암호로 인증이 완료될 때까지의 제한 시간
- TimeoutIdleftp — 접속 후 아무런 데이터 전송이 없는 idle 상태
- TimeoutSession — 일정 시간 후 무조건 접속 종료
- Limit Command — 사용 가능한 command 제한
- 특징
- vsftpd(Very Secure FTP Daemon)
- 주요 기능
- 가상 IP별 별도의 환경 설정 기능(설정 파일의 listen_address = 이용)
- 가상 사용자 설정
- 전송 대역폭 지정
- PAM 지원(1.2.0부터는 PAM을 통한 wtmp에 로그인 로그를 남김)
- xferlog 표준 로그 파일보다 상세한 자체 로그 파일 형식 지원
- Standalone 방식과 inetd(xinetd)를 통한 운영 모두 지원)
- IP 별로 다른 환경 파일 지정 가능(tcp_wrappers와 함께 사용)
- vsftpd 서비스 관련 파일
- /etc/vsftpd — vsftpd의 메인 디렉터리
- /etc/vsftpd/vsftpd.conf
- /etc/vstfpd/ftpusers — PAM에서 사용하는 ftp 접속 제한자 리스트 파일.
- /etc/rc.d/init.d/vsftpd — vsftpd 시작/종료/재시작 스크립트
- /etc/xinetd.d/vsftpd — xinetd 환경에서 서비스하기 위한 vsftpd의 xinetd 설정 파일
- /var/log/xferlog — FTP 업로드 및 다운로드 기록을 위한 로그 파일
- 주요 기능
- proftpd
'정보보안기사' 카테고리의 다른 글
| [정보보안기사] SECTION 33 웹 보안 (1) | 2026.02.18 |
|---|---|
| [정보보안기사] SECTION 32 이메일 보안 (0) | 2026.02.16 |
| [정보보안기사] SECTION 30 최신 네트워크 보안 기술 (0) | 2026.02.13 |
| [정보보안기사] SECTION 29 VPN (0) | 2026.02.11 |
| [정보보안기사] SECTION 28 침입 차단 시스템(방화벽, Firewall) (0) | 2026.02.09 |