====== 71 vsftpd ====== A simple FTP Server ===== Installation ===== # yum install vsftpd ===== Modifying the Configuration File ===== # vi /etc/vsftpd/vsftpd.conf anonymous_enable=YES ↓ Disable anonymous user login anonymous_enable=NO ascii_upload_enable=NO ascii_download_enable=NO ↓ Allow uploads and downloads in ASCII mode ascii_upload_enable=YES ascii_download_enable=YES #ftpd_banner=Welcome to blah FTP service. ↓ Uncomment this line to prevent the software name and version from displaying on login. ftpd_banner=Welcome to blah FTP service. #chroot_local_user=YES #chroot_list_enable=YES ↓ By default, deny access beyond the home directory ↓ Enable the list of users allowed to access beyond the home directory chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ↓ List of users allowed to access beyond the home directory #chroot_list_file=/etc/vsftpd/chroot_list #ls_recurse_enable=YES ↓ Enable recursive deletion of directories ls_recurse_enable=YES Add the following at the bottom: use_localtime=YES ← Set the timestamp to Japan time pasv_addr_resolve=YES ← Obtain the PASV mode connection IP address from the hostname pasv_address=centossrv.dip.jp ← The hostname that resolves to the PASV mode connection IP address ※ pasv_min_port=60010 ← Minimum port number for PASV mode connection pasv_max_port=60040 ← Maximum port number for PASV mode connection ssl_enable=YES ← Enable SSL rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ← Specify the server certificate force_local_logins_ssl=NO ← Do not enforce SSL connection for login (use only if non-encrypted connections are also allowed) force_local_data_ssl=NO ← Do not enforce SSL connection for data transfer (use only if non-encrypted connections are also allowed) ===== Creating a Server Certificate ===== # cd /etc/pki/tls/certs/ # make vsftpd.pem ===== Registering Users Allowed to Access Beyond the Home Directory ===== # echo centos >> /etc/vsftpd/chroot_list ===== Registering Users Denied Access to the FTP Server ===== # echo centos >> /etc/vsftpd/ftpusers ===== Editing hosts.allow ===== # vi /etc/hosts.allow ------ Add the following ------ vsftpd : .jp : allow ALL : ALL : deny ===== Opening Passive Mode Ports in iptables ===== # vi /etc/sysconfig/iptables ------------ Add the following --------------- -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 60010:60040 -j ACCEPT # /etc/init.d/iptables restart ===== Setting vsftpd to Start Automatically ===== # chkconfig vsftpd on ===== Starting vsftpd ===== # service vsftpd start ====== Difference Between PASV Mode and ACTIVE Mode ====== [[http://ameblo.jp/itboy/entry-10249857007.html]] [[http://www.nina.jp/server/basic/ftp.html]] [[http://y-router.com/yamaha06/ftp02.html]] Active mode is not well-suited to working with firewalls and NAT. ===== Enabling Deletion Logs ===== log_ftp_protocol=YES dual_log_enable=YES Deletion logs: # tail vsftpd.log Fri Sep 6 03:20:47 2022 [pid 841836] [hoge@hogehoge.com] OK UPLOAD: Client "XXX.XXX.XXX.XXX", "/test.txt", 5 bytes, 0.13Kbyte/sec Fri Sep 6 03:21:51 2022 [pid 841836] [hoge@hogehoge.com] FTP command: Client "XXX.XXX.XXX.XXX", "DELE /test.txt" {{tag>vsftp ftp}}