vsFTPdでFTPサーバを作ろう!
ここでは、vsftpdのインストール手順を掲載しています。
※CentOS 5のサポートは2017年3月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
vsftpdとは…?
vsftpdは"Very Secure FTP Daemon"の略で、その名の通り、セキュリティに重点を置いて作られたFTPサーバです。
vsftpdのインストール
[root@co5 ~]# yum -y install vsftpd
Installed:
  vsftpd.x86_64 0:2.0.5-28.el5
Complete!
    vsftpdの設定
続いて設定を行います。
ここでは誰でも接続可能なAnonymous FTPではなく、ユーザごとにログイン可能なFTPサーバを構築します。
[root@co5 ~]# vi /etc/vsftpd/vsftpd.conf
            anonymous_enable=YES
                ↓
            anonymous_enable=NO
#xferlog_file=/var/log/vsftpd.log
              ↓
          xferlog_file=/var/log/vsftpd.log
#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 mhserv FTP service.
#chroot_list_enable=YES
              ↓
          chroot_list_enable=YES
          chroot_local_user=YES
#chroot_list_file=/etc/vsftpd/chroot_list
              ↓
          chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES
              ↓
          ls_recurse_enable=YES
        
ftpd_bannerは、FTPに接続した時に表示されるもので、自由に設定が可能です。vsftpdのバージョン情報を隠す役割もあります。
chroot_local_user=YESを追記し、chrootを有効にしておきます。
更に、設定ファイルの最後尾に以下を追記していきます。
		local_root=public_html
		
		use_localtime=YES
#パッシブ接続を行う場合、以下を追記
	  pasv_promiscuous=YES
	  pasv_min_port=64000
	  pasv_max_port=64029
	  pasv_addr_resolve=YES
#LAN内にDNSサーバを構築している場合のみ追記
	  pasv_address=取得した別のドメイン (mhserv.mydns.jpなど)
	  
FTPサーバにログインしたユーザは、local_rootで設定したディレクトリよりも上の階層に進むことはできません。
pasv…は、パッシブ接続をしたい場合に追記します。FTPサーバでは通常、20番、21番ポートを使って通信を行いますが、パッシブ接続では特定のポートではなく、その他の適当なポートを用いて通信を行います。
もし、LAN内用のDNSサーバを構築している、あるいは構築する予定がある場合、サーバのグローバルアドレスが取得可能な別のドメインをpasv_addressで指定する必要があるので、ドメインが2つ必要になります。
パッシブ接続で使用するポートの範囲をpasv_min_port、pasv_max_portで設定します。
		ssl_enable=YES
		rsa_cert_file=/etc/pki/tls/certs/server.crt
		rsa_private_key_file=/etc/pki/tls/certs/server.key
 # 暗号化しない通信も許可する場合、以下を追記
		  force_local_logins_ssl=NO
		  force_local_data_ssl=NO
暗号化した通信のみ行いたい場合、force_local_logins_sslとforce_local_data_sslをYESにします。
上位層へ移動可能なユーザの登録
もしlocal_rootで設定したディレクトリよりも上の階層に進むことのできるユーザ(ここではuser)を登録する場合、以下のようにします。
[root@co5 ~]# echo user >> /etc/vsftpd/chroot_list
Exec-Shieldを無効化
Exec-Shieldが有効になっていると、vsftpdがきちんと動作しない場合があります。
そこで、vsftpdに対するExec-Shieldだけを無効化します。
[root@co5 ~]# execstack -q /usr/sbin/vsftpd
- /usr/sbin/vsftpd
    [root@co5 ~]# execstack -s /usr/sbin/vsftpd
[root@co5 ~]# execstack -q /usr/sbin/vsftpd
X /usr/sbin/vsftpd
    Xが付いていてば設定完了です。
vsftpdの起動
[root@co5 ~]# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ][root@co5 ~]# chkconfig vsftpd on
[root@co5 ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
参考にしたサイト様
CentOSで自宅サーバー構築 - FTPサーバー構築(vsftpd)
CentOSサーバー構築マニュアル - vsftpd インストール
Red Hat Linux 9によるサーバ構築 - 3.2.2.6.FTPサーバ~vsftpd
Crimson Snow - CentOSによる自宅サーバの構築 - バッファオーバーフロー対策(Exec-Shield)
[広告]
トップページ
CentOS 5
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ファイルサーバ
○その他
Proxmox 8
Rocky Linux 10
AlmaLinux 9
Rocky Linux 8
CentOS 7
Scientific Linux 6
ブログ
[広告] 
		 
 
 までご連絡ください。
までご連絡ください。