Skip to content

Instantly share code, notes, and snippets.

@nishinoshake
Last active July 10, 2016 13:42
Show Gist options
  • Save nishinoshake/4620bac3f785fe42af111f94dae4f354 to your computer and use it in GitHub Desktop.
Save nishinoshake/4620bac3f785fe42af111f94dae4f354 to your computer and use it in GitHub Desktop.
vsftpのインストール

##インストール

vsftpdのインストール

yum install vsftpd

オレオレ証明書を発行

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/pki/tls/certs/vsftpd.pem -out /etc/pki/tls/certs/vsftpd.pem Generating a 2048 bit RSA private key

いろいろ聞かれるので素直に答える。

vsftpd.confの編集

vi /etc/vsftpd/vsftpd.conf

# 匿名禁止
anonymous_enable=NO

# ASCIIのアップダウン許可
ascii_upload_enable=YES
ascii_download_enable=YES

# ユーザのホームディレクリをルートに設定する。
# chroot_listに設定したユーザだけはどこでもいける。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
    
# chrootの有効化
allow_writeable_chroot=YES
    
# ディレクトリの削除を可能にする
ls_recurse_enable=YES
    
# userlistをホワイトリストにする(デフォルトはブラック)
userlist_enable=YES
uerlist_deny=NO
    
# SSLの設定をする
ssl_enable=YES
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES
    
# PASV mode
pasv_address=sample.jp
pasv_enable=YES
pasv_min_port=50021
pasv_max_port=50040

FTPユーザの追加

# このホームディレクトリが初回表示ディレクトリになる
useradd -d /path/to/home -s /sbin/nologin kaela
passwd kaela

##基本的な考え方 ###どうやってアクセス制限を実現するか 一番わかりやすいのはホワイトリストを作成すること。

userlist_enable=YES
userlist_deny=NO

とすることでuser_listというファイルがホワイトリスト扱いになるので、
許可するユーザを列挙すればいい。

###どうやってディレクトリを制限するか ログインユーザのルートを変更する仕組みがある(chroot)。
これを設定するとユーザがログインしたディレクトリがルートになるので、
それよりも上の階層にアクセスさせないようにできる。

ただ、管理者など制限なくアクセスしたいユーザもいると思うので、
なんでもありなユーザはchroot_list_fileに追記する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment