1. FTP 개요

- 웹 서비스의 일부로 통합 운영

- 시스템간 파일을 주고받는 프로토콜

- 리소스를 많이 차지 하는 단점이 있다 ( 다른 서비스에 대해 대략 2배정도를 차지함 )

- 사용하는 port 번호

21 : 서버 연결

20 : 데이터 연결 ( 다운로드 ) ( passive mode 의 경우 1024 이후 임의 포트 사용 )

- 접속 및 전송 과정

1) FTP client는 21번 port를 통해서 서버와 control connection을 설정

2) 제어연결을 통해 사용자 계정과 비밀번호를 전송

3) Client는 제어연결을 통해 원격지의 디렉토리 변경과 같은 명령을 전송

4) 서버측은 제어연결을 통해 파일 전송을 위한 명령을 받으면 TCP data connection을 초기화

5) 하나의 파일 전송이 끝나면 data연결은 close

6) 다음 파일 전송을 위해서는 새로운 TCP connection을 생성


2. 설정 파일

1. 관련 파일

1) 데몬 : /usr/sbin/vsftpd

2) 설정 파일 : /etc/vsftpd/vsftpd.conf

3) PAM 모듈 : /etc/pam.d/vsftpd

- 인증 보조 모듈 ( 접속 제어 )

4) 접근 제한 파일 : [ /etc/vsftpd/ftpusers ] [ /etc/vsftpd/user_list ]

- 해당 파일에 기록되어 있는 계정은 접속 불가 ( 계정별 보안 )

2. vsftp.conf 파일 설정

- 익명 사용자 관련 설정

anonymous_enable=YES

#anon_upload_enable=YES (d:NO)

#anon_mkdir_write_enable=YES (d:NO)

#deny_email_enable=YES (d:NO banned_email_file )

- banned 파일에 지정된 메일 계정은 접속이 차단

#banned_email_file=/etc/vsftpd.banned_emails

#non_anon_password=NO

#anon_root=/var/ftp (d:/var/ftp)

#ftp_username=ftp (d:ftp)

 

- 제한 설정

#max_clients=30

- 동일 접속자 수 설정

#max_per_ip=3 (0은 무제한)

- IP당 접속 가능 갯수 ( 0이면 무제한 )

#ls_recurse_enable=YES

- [ ls -R ]옵션 사용 가능여부 체크 ( ls –R 명령은 부하가 크다 )

- chroot 설정 ( 현재 접속 디렉터리를 최상위 디렉터리로 설정 )

#chroot_local_user=YES (d:No)

#chroot_list_enable=YES

- chroot_local_user가 NO일 때 chroot_list_file에 지정된 사용자만 chroot를 적용한다.

- chroot_local_user가 YES일 때 chroot_list_file에 지정된 사용자만 chroot를 적용하지 않는다.

#chroot_list_file=/etc/vsftpd/chroot_list

- Default 값 : /etc/vsftpd/chroot_list

#allow_writeable_chroot=YES

- chroot 적용 사용자의 경우 이 설정이 반드시 필요하다.

• chroot 설정은 외부 디렉토리로 연결된 link 디렉토리에 접근도 금지되며 이때는 mount 명령을 이용

mount --bind [원본 디렉토리] [연결할 디렉토리]

- standalone 인 경우만 사용되는 항목

listen=YES

tcp_wrappers=YES

- /etc/hosts.deny, /etc/hosts.allow 파일에 정의

- vsftpd : 192.168.10. ( 10번 대역 모두 적용 )

local_max_rate=1024 # byte/sec

anon_max_rate=1024

- 등록된 사용자(/etc/passwd) 관련 설정

local_enable=YES // 접속가능 여부

write_enable=YES // 파일 올리기 여부

local_umask=022 // 권한 제거

- 사용자 제한 설정(user_list)

1) userlist_file(/etc/vsftpd/user_list)에 등록된 계정에 대한 접속 제어는

userlist_enable과 userlist_deny에 따라 결정

2) userlist_enable의 defaul는 No지만 YUM으로 설치된 경우 Yes로 설정


3. vsftp 설치 및 연결 실습

1) vsftp 설치

2) vsftp 서비스 활성화

3) 활성화 상태 체크

4) 테스트를 위해 일반 사용자로 로그인 [ su - hong ]

5) 연결 상태 확인

6) ls 로 파일 확인

 

+ Recent posts