기사 자격증(알기사, FTP 보안)FTP

반응형

FTP

- 파일전송 프로토콜(파일 복사)

- TCP/IP(20,21)에 의해 제공되는 표준기능

- 2개의 연결을 사용(1개는 제어채널 연결, 1개는 Data 통신)

- ID/PW방식에 의한 인증

- 연결 방식에 따라 FTP 능동모드, FTP 수동모드로 나눌 수 있다.

 

FTP 능동모드

- FTP 디폴트 모드

- 제어채널 생성을 위해 21번 포트, 데이터 전송을 위해 20 포트 사용

- 전체 FTP세션 동안 계속 연결 상태 유지

- 서버에서는 2개의 포트(21, 20)만 열면 서비스가 가능

- 두 번째 connection서버 클라이언트로 접속

- 클라이언트 방화벽 설치시 접속 불가

- PORT 명령어 사용(클라이언트 서버)

 

FTP 수동모드

- 제어채널 생성을 위해 21 포트, 데이터 전송을 위해 1024번 이후 포트 사용

- 각각의 파일 전송 때마다 설정되며 전송 완료시 폐쇄

- 서버에서는 21번 포트, 1024번 이후 포트를 모두 오픈

- PASV 명령어 사용(서버 클라이언트)

- Active, Passive 모드는 FTP 클라이언트가 결정

 

익명 FTP(Anonymous FTP)

- 서버에 계정이 없는 사용자가 서버자원에 한정된 접근이 가능하도록 권한을 제공

- 익명 FTP 접근을 위해서 따로 계정은 필요하지 않고 아이디 : anonymous, 비밀번호 : 이메일주소로 사용이 가능하다.

- 이 때 입력한 비밀번호는 실제 비밀번호가 아닌 서버가 로그에 기록하기 위한 용도이다.

 

TFTP

- FTP 기능 전부가 필요 없거나, 모두 지원하는 것이 비현실적인 경우를 위해 개발

- UDP(69) 사용

- FTPTFTP의 차이

 1. TFTP는 단순성이 가장중요하고 다양한 기능이 지원이 필요 없는 부스트래핑할 때 많이 사용

 2. TFTP인증이 되지 않기 때문에 FTP와 달리 파일을 보내고 받는 정도의 한정된 명령만 사용 가능

 3. TFTP바이너리, ASCII 표현방식만 지원

 4. FTP = TCP/IP, TFTP = UDP 사용 TFTP는 흐름제어, 오류제어 기능이 따로 없으므로 오류 메커니즘을 따로 생성해야 한다.

 

NFS와 삼바

NFS

- TCP / IP 프로토콜을 사용해 N/W상에서 파일 시스템을 운영할 수 있도록 하는 프로토콜

- 데이터의 보안 / 무결성 보장

- 인증된 N/W 사용자가 공유 N/W 파일을 자신의 장치에 있는 것처럼 사용

- NFS 이용시 디스크 공간 절약 가능

 

삼바

- SMB 프로토콜을 사용하여 유닉스 시스템과 윈도우 시스템 간 파일 및 프린터 자원을 공유기능 제공

- NFS / 삼바 동작원리

 

FTP 보안 위협

- FTP는 비밀번호를 요구하지만 비밀번호를 평문으로 저장하기 때문에 공격자가 가로채기 쉽다.

- 또한 FTP데이터 연결 또한 보호되지 않은 평문으로 데이터 전달하기 때문에 보안에 취약

- 이를 보안하기 위해 FTP 전송보안을 위해 SFTP, FTPS를 이용해 파일을 전송한다.

- SFTP(SCP) : SSH기반 파일 전송 프로토콜로서 tcp 22번 포트 이용

- FTPS : SSL/TLS 기반 파일 전송 프로토콜로서, FTP 응용계층, TCP 계층사이에 보안소켓을 추가하는 형식, tcp 990번 포트 이용

 

TFTP 보안

- TFTP는 간단한 파일 전송 프로토콜로서 보안에 대한 고려가 전혀 없다.

- TFTP중요하지 않은 파일에만 접근이 가능하도록 하고, TFTP 서버 근처 라우터에 보안을 구현하는 방식으로 최소한의 보안을 설정해야 한다.

- 만약 TFTP가 필요한 경우 secure mode로 운영한다.

 

Bounce Attack

- FTP 설계상 목적지 확인을 하지 않는 취약점을 이용한 공격

- 능동모드에서 공격자는 PORT 명령어를 통해 공격자가 원하는 곳으로 데이터를 전송하게 한다.

- Bounce Attack 보안

 1. FTP 원래 규약을 어느정도 제한

 2. FTP 원래 규약 인정하되 다른 서비스가 20번 포트 접속 요청시 거절(능동모드 접근 거절)

 

Anonymous ftp취약점

- anonymous 계정으로 접속해 보안절차를 걸치지 않는 익명의 사용자가 쓰기 권한이 있을 경우 악성코드 생성이 가능하다.

- anonymous FTP는 보안성 심각한 취약점을 가지기 때문에 반드시 사용할 경우 아니면 서비스 제거

- anonymous 사용자의 루트 디렉터리,bin,etc,pub 디렉터리 소유자 퍼미션을 관리한다.

 

FTP 보안 대책

- FTP 서비스는 평문 송수신을 하기 때문에 공격자에게 노출이 쉽기 때문에 중요계정은 FTP 접속을 피해야한다.

- ftpusers 파일은 접속을 제한할 계정정보를 담고있는 파일이다. root 등 중요계정은 ftpusers 파일에 명시하여 접속을 제한해야 한다.

- TCP Wrapper의 설정파일 /etc/host.allow, /etc/host.deny 파일을 이용해 IP기반 접근제어 수행 FTP 데몬 프로그램과 연동 설정이 필요함

 

FTP 서비스 운영

1. proftpd

 - 보안과 기능의 중점을 둔 FTP 데몬

 - wu-ftpd의 대안으로 개발

 - 매우 안정적이고 빠름

 - xinetd / standalone 형태로 동작 가능

 

2. ftp 접속시 확인 설정

 1. /etc/passwd, /etc/shadow에 사용자 계정이 있는지 검사

 2. /etc/ftpusers에 사용자 id 등록시 거부

 3. /etc/shell에 등록되지 않은 셸을 사용하는 사용자는 접근 거부

 

3. vsftpd

 - 가상 IP별 별도 환경 설정 가능

 - 가상 사용자 설정

 - 전송 대역폭 지정

 - PAM 지원

 - xinetd / standalone 방식 지원

 - IP별 다른 환경 파일 지정 가능

 - vstpd 서비스 관련 파일들

파일명

설명

/etc/vstpd

vstpd의 메인 디렉터리

/etc/vstpd/vstpd.conf

vstpd의 주요 메인 설정파일

/etc/vstpd/ftpusers

vstpd 접속 거부 리스트파일

/etc/rc.d/init.d/vstpd

vstpd 시작/ 종료 / 재시작 관련 파일

/etc/xinetd.d/vstpd

xinetd 환경에서 서비스하기위한 설정파일

/var/log/xferlog

FTP 업로드 및 다운로드 기록 파일

 

반응형