FTP 능동 모드(Active mode)

Active mode - 일반적인 모드.

Control Channel(TCP/21)과 Data Channel(TCP/20)로 구분

 

Client가 Control channel에 접속 후 데이터 요청하면,

Server의 Data channel에서 Client로 연결을 생성하여 데이터 전송

 

* 방화벽 설정 시 Control channel 접속 후, Data channel에는 접속 불가.

 

해결방안

* Client 단 방화벽에 원격 FTP Data Channel 허용

* 수동 모드(Passive mode)를 사용

 

FTP 수동 모드(Passive mode)

Client가 Server의 Data channel을 생성하여 데이터 전송

 

* 서버측 방화벽에서 Data channel에 사용하는 Port를 모두 허용해야함.

 

해결방안

* 방화벽에서 상태 검사(Stateful Inspection)를 활성화 하여 연결 상태 추적

 

FTP Bounce Attack

Control channel과 Data channel이 분리되어 있고,

Data channel을 생성할 때 임의의 목적지 IP와 Port 번호를 설정할 수 있는 FTP 구조적 취약점을 이용한 공격

 

* Data channel에서 'PORT' 명령을 이용하여 내부 시스템에 연결 시도 혹은 네트워크를 스캔 가능

* 공격파일을 업로드 요청하면서, 'PORT' 명령을 조작하여 내부 서버로 파일 전달

 

TFTP Attack

UDP/69을 사용. 별도의 인증과정 없이 디렉터리 접근 가능.

 

해결방안

* TFTP 기능 비활성화 혹은 secure mode 활성화

tftp
---------------
...
service tftp
{
    #disable		= yes	## 비활성화
    ...
    disable		= no
    server_args		= -s /tftpboot	## 최상위 디렉터리 설정(Secure mode)
    ...
}

 

Anonymous FTP attack

* 익명 접속 비활성화

anonymous_enable=NO

 

FTP 접근 제어 설정

ftpusers / user_list
----------
root
daemon
ftpuser
----------
userlist_enable=YES