CentOS 6.5基于AD域账号联动认证的vsftpd结合SSL加密服务器配置
一、实现功能:
域用户认证
SSL加密
虚拟域用户隔离认证
实现公共目录功能
实现多用户同目录功能
二、实施步骤:
1、系统基础设置
计算机名、IP地址、网关、子网掩码、DNS设置
2、安装所需要的软件
Yum install httpd -y
Yum install vsftpd* -y
Yum install pam* -y
Yum install mod_ssl* -y
3、建立vsftpd服务宿主用户
Useradd vsftpd –s /sbin/nologin
4、建立vsftpd虚拟宿主用户
Useradd virtusers –s /sbin/nologin
5、VSFTPD相关配置
1)编辑vsftpd.conf 配置文件
Cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak /备份配置文件
Vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO /设定不允许匿名访问
local_enable=YES /设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。
write_enable=YES /设定可以进行写操作。
local_umask=022 /设定上传后文件的权限掩码。
anon_upload_enable=NO /禁止匿名用户上传
anon_mkdir_write_enable=NO /禁止匿名用户建立目录
dirmessage_enable=YES /设定开启目录标语功能。
xferlog_enable=YES /设定开启日志记录功能。
connect_from_port_20=YES /设定端口20进行数据连接
Chown_uploads=NO /设定禁止上传文件更改宿主
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES /设定日志使用标准的记录格式。
idle_session_timeout=1200 / 设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。
data_connection_timeout=7200 /设定单次最大连续传输时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值120,单位秒。
nopriv_user=vsftpd /设定支撑vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。
async_abor_enable=YES /设定支持异步传输功能
ascii_upload_enable=YES /设定支持ASCII模式的上传功能
ascii_download_enable=YES /设定支持ASCII模式的下载功能
ftpd_banner=Welcome to airmate ftp service. /设定Vsftpd的登陆标语
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
ls_recurse_enable=NO /禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服务器造成威胁。
#ls_recurse_enable=YES
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd /设定PAM服务下Vsftpd的验证配置文件名。
userlist_enable=YES /启用userlist功能
userlist_deny=YES
userlist_file=/etc/vsftpd/allowusers_list /配置userlist用户列表文件位置
tcp_wrappers=YES /设定支持TCP Wrappers
guest_enable=YES /设定启用虚拟用户功能
guest_username=virtusers /指定虚拟用户的宿主用户
virtual_use_local_privs=YES /设定虚拟用户的权限符合他们的宿主用户
port_enable=YES /允许使用主动模式进行连接到FTP服务器
pasv_enable=YES /允许使用被动模式进行连接到FTP服务器
pasv_min_port=50000 /配置被动模式的最小端口为50000
pasv_max_port=50200 /配置被动模式的最大端口为50200
pasv_address=8.8.8.8 / 使vsftpd在pasv命令回复时跳转到提定的IP地址
ssl_enable=YES /开启ssl功能
rsa_cert_file=/etc/vsftpd/vsftpd.pem /指定证书位置
ssl_ciphers=HIGH
syslog_enable=yes /将FTP日志记录到/var/log/messages文件中,有效解决日志乱码问题
2)建立虚拟用户配置文件存放路径
mkdir /etc/vsftpd/vconf/
3)建立FTP用户文件存放位置
Mkdir /opt/vsftp/
Chown –R virtusers.virtusers /opt/vsftp/
6、 配置通过pam认证方式
1)修改vsftpd的PAM认证参数
设置vsftpd的pam认证配置,添加如下两
auth sufficient pam_ldap.so #keep this as the first 'auth' item
account sufficient pam_ldap.so #keep this as the first 'account' item
3)关闭SElinux以简化配置
如果安装了SElinux且不懂配置的,建议将其关闭。方法是修改/etc/selinux/config文件的如下内容:
SELINUX=disabled #effective after restart
7、配置SSL加密进入/etc/vsftpd/目录下输入以下命令生成证书
req -x509 -nodes -days 365 -newkey rsa:1024 -subj "/C=CN/ST=GD/L=SZ/O=linuxidc/CN=linuxidc" -keyout /etc/vsftpd/vsftpd1.pem -out /etc/vsftpd/vsftpd1.pem
8、防火墙开启VSFTPD功能
在/etc/sysconfig/iptables里面添加以下内容,并重启iptables服务。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
推荐阅读: