6、vsftpd安装配置SSL/TLS安全加密全解
来源:互联网 发布:襄阳中百淘宝生态城 编辑:程序博客网 时间:2024/05/29 13:21
1.安装Vsftpd服务相关部件:
# yum -y install vsftpd*
2.确认安装PAM服务相关部件:
# yum -y install pam*
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
update/gpgkey | 1.8 kB 00:00
Public key for apr-util-1.2.7-11.el5_5.1.i386.rpm is not installed
在网上找到了解决方法:
此时要导入rpm的签名信息即可
以root登录,执行下面命令
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
根据我的Linux版本是CentOS 5.4
于是我执行下面命令#rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
问题终于得到解决!
3.安装DB4部件包:
这里要特别安装一个db4的包,用来支持文件数据库。
# yum -y install db4*
4.安装openssl
yum install openssl
5.启用ssl/tls加密
第一步是创建SSL/TLS证书和私钥,如下所示。它会将所创建的证书/私钥存放在目标.pem文件中。
openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
1.建立Vsftpd服务的宿主用户:
# /usr/sbin/useradd vsftpd -s /sbin/nologin
建立Vsftpd虚拟宿主用户:
# /usr/sbin/useradd virtusers -s /sbin/nologin
三.调整Vsftpd的配置文件:
1.编辑配置文件前先备份
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑主配置文件Vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
connect_from_port_20=YES
chown_uploads=NO
chroot_local_user=YES
xferlog_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
nopriv_user=vsftpd
async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
ftpd_banner=Welcome to FTP service
chroot_list_enable=NO
ls_recurse_enable=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=www
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
allow_writeable_chroot=YES
# 启用TLS/SSL
ssl_enable=YES
# 强迫客户机在登录时使用TLS
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
# 指定SSL证书/私钥
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
# 为被动模式下的连接定义端口范围
pasv_max_port=65535
pasv_min_port=64000
# touch /var/log/vsftpd.log
# /usr/sbin/useradd www -s /sbin/nologin
建立虚拟用户配置文件存放路径:
# mkdir /etc/vsftpd/vconf/
三.制作虚拟用户数据库文件
1.先建立虚拟用户名单文件:
# touch /etc/vsftpd/virtusers
建立了一个虚拟用户名单文件,这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件,
这里给它命名为virtusers。为了避免文件的混乱,我把这个名单文件就放置在/etc/vsftpd/下。
2.编辑虚拟用户名单文件:
# vim /etc/vsftpd/virtusers
ftp001
123456
ftp002
123456
ftp003
123456
编辑这个虚拟用户名单文件,在其中加入用户的用户名和口令信息。格式很简单:“一行用户名,一行口令”。
3.生成虚拟用户数据文件:
# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
4.察看生成的虚拟用户数据文件
# ll /etc/vsftpd/virtusers.db
打开reload.sh
# vim /etc/vsftpd/reload.sh
加入下面这段
# db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
wq保存退出
# chmod +x /etc/vsftpd/reload.sh四.设定PAM验证文件,并指定虚拟用户数据库文件进行读取
1.察看原来的Vsftp的PAM验证配置文件:
# cat /etc/pam.d/vsftpd
----------------------------------------------------------------
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
----------------------------------------------------------------
2.在编辑前做好备份:
# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
3.编辑Vsftpd的PAM验证配置文件
# vi /etc/pam.d/vsftpd
----------------------------------------------------------------
加#注释掉上面的全部,添加以下两条。
#%PAM-1.0auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
!!!!!!!这里有个要注意说明的:如果系统是64位系统在这里的所有lib后面要加入64!!!!!!
!!!!!!!如下这样才可以:
#%PAM-1.0
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers
五.虚拟用户的配置
建立虚拟用户配置文件模版:
# vi /etc/vsftpd/vconf/vconf.tmp
local_root=/home/htdocs/
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
pam_service_name=vsftpd
chroot_local_user=YES
mkdir /home/htdocs
chown -R www:www /home/htdocs
将vsftpd添加进iptables
# iptables -I INPUT -p tcp --dport 20 -j ACCEPT# iptables -I INPUT -p tcp --dport 21 -j ACCEPT# iptables -I INPUT -p tcp --dport 64000:65535 -j ACCEPT
重启iptables
启动服务:
# /sbin/service vsftpd start# /sbin/chkconfig vsftpd --list (查看0~6个runlevel 是否按照阁下意愿开启或关闭 ntpd服务)
# /sbin/chkconfig vsftpd --level 35 on (开启runlevel 3和5的ntpd服务)
# /sbin/chkconfig vsftpd on (开启runlevel 2345的ntpd服务)
# /sbin/chkconfig vsftpd off (关闭所有runlevel的ntpd服务)
跑vsftpd官方网站上寻找答案,原来问题出在SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)上,正常情况下都是在安装完系统后,直接 yum remove selinux* -y 删除掉。
解决办法:
1、如何禁止SELinux。
# vi /etc/selinux/config
修改为:SELINUX=disabled
重新启动vsftpd进程,问题解决。
# /sbin/service vsftpd start
2、删除SELinux
#yum remove selinux* -y
这个世界终于清净了…
- 6、vsftpd安装配置SSL/TLS安全加密全解
- 配置 OpenLDAP 使用 SSL/TLS 加密数据通信
- Vsftpd配置SSL加密FTP数据传输
- 安全之非对成加密SSL/TLS
- TLS/SSL加密协议
- ssl/tls加密通信
- vsftpd + ssl 搭建加密传输的安全FTP服务器
- Linux下vsftpd的安装、用户管理和SSL安全配置
- 配置邮件客户端(无SSL/TLS加密)
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- CA加密,网络安全HTTPS SSL-安全传输协议SSL和TLS及WTLS的原理
- SSL/TLS服务器配置
- Apache的SSL/TLS加密
- SSL/TLS/WTLS,加密解密
- SSL/TLS/WTLS,加密解密
- SSL/TLS高强度加密
- SSL/TLS/WTLS,加密解密
- https 中的SSL/TLS 加密
- 键盘的开、关控制
- Wave Driver介绍-7(驱动中对音量的控制操作-非硬件音量控制)
- mysql 多列索引和多个单列索引
- input标签写CSS时需要注意的几点
- oracle11g 源
- 6、vsftpd安装配置SSL/TLS安全加密全解
- 工作流厂商进入GIS地理信息系统领域的最佳时机
- Codeforces Round #191 (Div. 2) <全>
- win7 怎么修改记事本的默认编码(测试有效果)
- Wave Driver介绍-8(软件混音器)
- 模板完全特化,函数重载的重载,类模板的继承
- KVM 内存虚拟化及其实现
- POJ-1458-Common Subsequence
- MFC - GetSystemMenu(FALSE)