본문 바로가기
OS/Linux

ubuntu vsftpd 설치 및 설정하기

by KEI NETWORK 2020. 3. 28.
728x90

vsftpd란?

vsftpd는 Very Secure FTP Server Daemon 를 뜻합니다. (vsftpd 소스코드의 README 파일에 이렇게 쓰여있음)
GPLv2 라이센스를 따르며, 전세계에서 가장 많이 쓰이는 ftp 서버 프로그램입니다.

vsftpd 공식사이드(https://security.appspot.com/vsftpd.html) 에 따르면 다음의 유명한 저장소가 vsftpd 를 사용중이라고 합니다.

  • ftp.redhat.com
  • ftp.suse.com
  • ftp.debian.org
  • ftp.freebsd.org
  • ftp.gnu.org
  • ftp.gnome.org
  • ftp.kde.org
  • ftp.kernel.org
  • rpmfind.net
  • ftp.linux.org.uk
  • ftp.gimp.org
  • ftp-stud.fht-esslingen.de
  • gd.tuwien.ac.at
  • ftp.sunet.se
  • ftp.ximian.com
  • ftp.engardelinux.org
  • ftp.sunsite.org.uk
  • ftp.isc.org

따라서 우리는, 라이센스 문제가 없으며, 매우 많은 사람이 사용 중인 검증된 vsftpd 소프트웨어를 사용하여 FTP 서버를 구축하도록 하겠습니다.

 

설치 방법APT 파일목록 갱신# apt update

 

vsftpd 설치 패키지가 존재하는지 검색# apt search vsftpd

 

vsftpd 설치# apt install vsftpd

vsftpd 프로그램이 설치되고, 서비스에 등록되고, 실행된다.

 

vsftpd 실행 상태보기# service vsftpd status

 

네트워크 포트 보기# netstat -natp | grep ftp

vsftpd 가 실행중이며 TCP 21 번 포트로 LISTEN 중이라는 것을 알 수 있습니다.

 

이 명령어도 한번쯤 실행해보세요. (현재 네트워크 연결 상태 보기)

# netstat -natp

 

이 명령어도 한번쯤 실행해보세요.  (이 서버에서 연결가능한 포트번호 보기)

# netstat -natp | grep LISTEN

 

vsftpd 환경설정# vi /etc/vsftpd.conf

환경설정 파일의 옵션 및 설명은 다음 페이지에서 볼 수 있습니다.

http://vsftpd.beasts.org/vsftpd_conf.html (영어)

 

내용을 다 지우고 아래 내용으로 저장해주세요.

/etc/vsftpd.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

listen=YES

listen_ipv6=NO

anonymous_enable=NO

port_enable=NO

pasv_enable=YES

local_enable=YES

write_enable=YES

use_localtime=YES

xferlog_enable=YES

chroot_local_user=YES

allow_writeable_chroot=YES

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

ftpd_banner=Welcome to My FTP Server!

ssl_enable=YES

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

listen_port=21

pasv_min_port=60020

pasv_max_port=60030

#utf8_filesystem=YES

#local_umask=022

 

몇가지 변수 설명

ssl_enable : 인증서가 올바르지 않지만 안전하게 보안 통신합니다. 만약 당신의 소프트웨어가 보안연결을 지원하지 않는다면 NO로 바꿔주세요.
ftpd_banner : 최초연결시 표시되는 환영메세지입니다. 하지만 대부분의 FTP클라이언트에서 무시하는 값입니다.
listen_port : FTP 접속 포트입니다. TCP 21 번을 사용합니다.
pasv_min_port, pasv_max_port : FTP PASV 통신모드에서 사용할 포트입니다. 이 예제에서는 TCP 60020 ~ 60030 포트를 사용하게 설정했습니다.
즉 방화벽에서 TCP 21, TCP 60020~60030 번을 허용 설정해주어야 합니다.

* 로그인 및 파일전송 로그는 /var/log/vsftpd.log 파일에 기록됩니다.

/etc/ftpusers 파일에 쓰여진 사용자는 FTP 로그인이 거부됩니다

728x90

댓글