目次

71 vsftpd

簡単なFTP Server

インストール

 # yum install vsftpd

設定ファイル修正

 # vi /etc/vsftpd/vsftpd.conf
 anonymous_enable=YES
      ↓ anonymousユーザ(匿名ユーザ)のログイン禁止
 anonymous_enable=NO
 
 ascii_upload_enable=YES
 ascii_download_enable=YES
      ↓ アスキーモードでのアップロード・ダウンロードを許可
 ascii_upload_enable=YES
 ascii_download_enable=YES
 
 #ftpd_banner=Welcome to blah FTP service.
      ↓ コメントアウトを外す。ログイン時ソフト名とバージョンが表示されないよう。
 ftpd_banner=Welcome to blah FTP service.
 
 #chroot_local_user=YES
 #chroot_list_enable=YES
      ↓ デフォルトでホームディレクトリより上層へのアクセスを禁止する
      ↓ ホームディレクトリより上層へのアクセスを許可するユーザのリストの有効化
 chroot_local_user=YES
 chroot_list_enable=YES
 
 chroot_list_file=/etc/vsftpd/chroot_list
      ↓ ホームディレクトリより上層へのアクセスを許可するユーザのリスト
 #chroot_list_file=/etc/vsftpd/chroot_list
 
 #ls_recurse_enable=YES
      ↓ ディレクトリごと削除できるようにする
 ls_recurse_enable=YES
 
 以下を最下行へ追加
 use_localtime=YES ← タイムスタンプ時間を日本時間にする
 pasv_addr_resolve=YES ← PASVモード接続先IPアドレスをホスト名から取得する
 pasv_address=centossrv.dip.jp ← PASVモード接続先IPアドレスが牽けるホスト名※
 pasv_min_port=60010 ← PASVモード接続時の最小ポート番号
 pasv_max_port=60040 ← PASVモード接続時の最大ポート番号
 ssl_enable=YES ← SSLの有効化
 rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem ← サーバー証明書を指定
 force_local_logins_ssl=NO ← ログイン時にSSL接続を強制しない※暗号化しない接続もできるようにする場合のみ
 force_local_data_ssl=NO ← データ転送時にSSL接続を強制しない※暗号化しない接続もできるようにする場合のみ

サーバー証明書作成

 # cd /etc/pki/tls/certs/
 # make vsftpd.pem

ホームディレクトリより上層へのアクセスを許可するユーザの登録

 # echo centos >> /etc/vsftpd/chroot_list

FTPサーバーへのアクセスを禁止するユーザの登録

 # echo centos >> /etc/vsftpd/ftpusers

hosts.allow編集

 # vi /etc/hosts.allow
 ------ 追加 ------
 vsftpd : .jp : allow
 
 ALL : ALL : deny

iptablesでパッシブモードのポート開放

 # vi /etc/sysconfig/iptables
 ------------  追加 ---------------
 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 60010:60040 -j ACCEPT
 
 # /etc/init.d/iptables restart

vsftpd自動起動設定

 # chkconfig vsftpd on

起動

 # service vsftpd start

PASVモードと、ACTIVEモードの違いについて

http://ameblo.jp/itboy/entry-10249857007.html
http://www.nina.jp/server/basic/ftp.html
http://y-router.com/yamaha06/ftp02.html
アクティブモードは、ファイアウォールとNATとの相性が悪い

削除ログを出力

/etc/vsftpd/vsftpd.conf

log_ftp_protocol=YES
dual_log_enable=YES

削除ログ

# 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"