«

»

二月 23

CentOS-VSFTPD server

[root@localhost ~]#yum install vsftpd
[root@localhost ~]#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
1.不允許匿名登入
anonymous_enable=YES 修改成--> anonymous_enable=NO

2.實體用戶相關
local_enable=YES(/etc/passwd內的帳號才登入)
write_enable=YES(可寫入,且新增目錄)
local_umask=002(權限775)

3.主機有關的設定
dirmessage_enable=YES(進入目錄時,顯示該目錄需內容,顯示的檔案預設是 .message)
xferlog_enable=YES(紀錄使用者上傳與下載檔案)
connect_from_port_20=YES(ftp-data 的埠號)
#xferlog_file=/var/log/vsftpd.log 修改成--> xferlog_file=/var/log/xferlog
xferlog_std_format=YES(設定為 wuftp 相同的登錄檔格式)
listen=YES(以 standalone 的方式來啟動)
dual_log_enable=YES(兩個登錄檔)
vsftpd_log_file=/var/log/vsftpd.log
pam_service_name=vsftpd(pam 模組的名稱)
local_max_rate=10000000
max_clients=50
max_per_ip=5
pasv_enable=YES
pasv_min_port=65400
pasv_max_port=65410
tcp_wrappers=YES
use_localtime=YES

4.設定拒絕使用者登入
userlist_enable=YES
userlist_deny=YES 修改成--> userlist_deny=NO(寫入 /etc/vsftpd/user_list 才可以使用 FTP 的帳號)
userlist_file=/etc/vsftpd/user_list

5.拒絕切換到根目錄以外,開放某些可完整存取
chroot_local_user=YES(所有用戶被 chroot)
chroot_list_enable=YES(可完整存取不被chroot)
chroot_list_file=/etc/vsftpd/chroot_list(帳號名單)

[root@localhost ~]#vim /etc/vsftpd/user_list
註解所有帳號,寫入 /etc/vsftpd/user_list 才可以使用 FTP 的帳號
[root@localhost ~]#vim /etc/vsftpd/chroot_list
[root@localhost ~]#/etc/rc.d/init.d/vsftpd start
[root@localhost ~]#chkconfig vsftpd on

SELinex

[root@localhost ~]#setsebool -P ftp_home_dir=1

增加 SSL 加密功能
檢查 vsftpd 有無支援 ssl 模組(有出現 libssl.so 的字樣,就是有支援!)

[root@localhost ~]#ldd $(which vsftpd) | grep ssl
libssl.so.10 => /usr/lib/libssl.so.10 (0x00833000)

建立專門給 vsftpd 使用的憑證資料

[root@localhost ~]#cd /etc/pki/tls/certs
[root@localhost certs]#make vsftpd.pem
umask 77 ; \
PEM1=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
PEM2=`/bin/mktemp /tmp/openssl.XXXXXX` ; \
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2 -set_serial 0 ; \
cat $PEM1 >  vsftpd.pem ; \
echo ""    >> vsftpd.pem ; \
cat $PEM2 >> vsftpd.pem ; \
rm -f $PEM1 $PEM2
Generating a 2048 bit RSA private key
..........................................................+++
................................................+++
writing new private key to '/tmp/openssl.u6Ppas'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:TW
State or Province Name (full name) []:Taiwan
Locality Name (eg, city) [Default City]:Tainan
Organization Name (eg, company) [Default Company Ltd]:SHES
Organizational Unit Name (eg, section) []:NETWORK
Common Name (eg, your name or your server's hostname) []:test.tw
Email Address []:root@test.tw
[root@localhost certs]#cp -a vsftpd.pem /etc/vsftpd/
[root@localhost certs]#ll /etc/vsftpd/vsftpd.pem(注意權限)

修改 vsftpd.conf 的設定檔

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
# 針對 SSL 所設定的項目都很重要
ssl_enable=YES              <==啟動 SSL 的支援
allow_anon_ssl=NO           <==但是不允許匿名者使用 SSL 喔!
force_local_data_ssl=YES    <==強制實體用戶資料傳輸加密
force_local_logins_ssl=YES  <==同上,但連登入時的帳密也加密
ssl_tlsv1=YES               <==支援 TLS 方式即可,底下不用啟動
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem <==預設 RSA 加密的憑證檔案所在
[root@localhost ~]#/etc/rc.d/init.d/vsftpd start
[root@localhost ~]#chkconfig vsftpd on
Related Posts Plugin for WordPress, Blogger...

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

您可以使用這些 HTML 標籤和 attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>