본문으로 바로가기

FTP

category SECURITY/Network 2017. 5. 29. 21:18


   FTP


  FTP (File Transfer Protocol)


- 능동모드 (Active Mode) : 클라이언트에서 서버측 21번 포트로 접속하고, 데이터는 서버가 클라이언트 포트에 접속해 데이터를 보내는 방식

- 수동모드 (Passive Mode) : 클라이언트가 서버측 21번 포트로 접속하고, 데이터 채널도 클라이언트측에 접속해서 데이터를 전송하는 방식


   리눅스에서 FTP 서버 생성

1.  FTP 서버 설치 ( vsftpd, proftpd 등...)

 - 저는 vsftpd를 사용하겠습니다.

 - yum install vsftpd.i686

2. FTP 설정

 - 기본적으로 홈디렉터리 : /etc/vsftpd/

 - anonymous 홈디렉터리 : /var/ftp/

 vsftpd 디렉터리 안에는 기본 설정파일들이 있습니다.

ftpusers 의 경우 접속을 제한할 계정들의 정보를 담고있는 파일입니다. 기본적으로 밑에 있는 계정들이 설정되어있습니다.

user_list의 경우 마찬가지로 제한할 사용자들에 대한 계정정보를 담고있습니다. default 권한으로 접속을 제한하고 있고, deny를 허용하게 되면, 허용할 계정정보만 설정할 수 있습니다.

3. 사용법

service vsftpd start 로 ftp 서버를 실행시켜줍니다. 

netstat -ant로 확인할 수 있습니다. (ftp는 21,22번입니다.)

이 상태에서 ftp:// 192.168.0.110으로 인터넷으로 접속하게 되면 인터넷에서도 파일을 다운 받을 수 있습니다.

만약 ftp 서버가 연결이 안될경우에는 selinux가 허용되어있는지 확인해줍니다. ( /etc/sysconfig/selinux )

밑에와 같은 설정으로 되어있다면, enforcing을 disabled로 바꾸어서 설정해주고( SELINUX=disabled ), reboot해줍니다.


1) 기본유저(anonymous) 의 경우 비밀번호를 치지 않아도 접속할 수 있습니다. 단점은 파일을 다운로드밖에 할 수 없습니다.

   window의 경우 ftp -A IP주소 로 anonymous로 들어갈 수 있습니다.

2) 리눅스 사용자 계정의 경우 비밀번호를 치고 들어가야하며, 파일 업로드, 다운로드 모두 가능합니다.


   파일 업로드, 다운로드

현재 VMWARE 환경입니다. 서버 : 192.168.0.110 클라이언트 : 192.168.0.130

클라이언트 측에서 cmd로 들어가 ftp 접속을 했습니다. 

저는 리눅스에 있는 계정으로 들어갈 것이며, 로그인을 성공시킨뒤 현재 바탕화면에 있는 TWICE-KNOCK_KNOCK.mp4라는 파일을 올려보겠습니다.

파일을 업로드 할 때에는 put 명령어를 사용하면되고, 다운로드 할 때에는 get 명령어를 이용하면됩니다.

ftp 창을 나갈때에는 quit, by 를 통해 나갈 수 있습니다.

파일을 업로드 할 때에는 ftp 서버로 접속하기 전 cmd에서 바탕화면으로 이동시킨 뒤 들어가서 파일을 올려주면 됩니다.

ftp서버가 있는 리눅스에 들어가 방금전 로그인한 ftp_user의 홈디렉터리로 들어가 파일을 확인해보면 올려져 있는 것을 볼 수 있습니다.

이 것을 기본 ftp 홈디렉터리인 /var/ftp/pub/안에 넣어두게 되면 anonymous도 다운 받을 수 있게 됩니다.

인터넷으로 확인해보면 올라가 있는 것을 확인해 볼 수 있습니다.

윈도우의 경우에는 능동모드만 지원하기 때문에 리눅스에서 수동모드와 능동모드에 대한 차이점을 확인해보겠습니다.

리눅스의 경우 ftp client를 지원하는 프로그램이 설치되어있어야 합니다. yum install ftp.i686

-A : 능동모드 -p : 수동모드 -d : 디버깅

FTP 수동모드 접속

FTP 능동모드 접속



'SECURITY > Network' 카테고리의 다른 글

HTTP 공격  (0) 2017.06.01
HTTP  (0) 2017.05.31
DNS - 2  (0) 2017.05.24
DNS - 1  (0) 2017.05.24
DHCP  (0) 2017.05.23