FreeBSD下构建安全的Web服务器
NO
(2) 允许本地用户登陆,因为我们需要使用ftp用户来对我们网站进行管理:
local_enable=YES
(3) 只允许系统中的ftp用户或者某些指定的用户访问ftp,因为系统中帐户众多,不可能让谁都访问。
打开用户文件列表功能:
userlist_enable=YES
只允许用户文件列表中的用户访问ftp:
userlist_deny=NO
用户名文件列表路径:
userlist_file=/etc/vsftpd.user_list
然后在/etc下建立文件 vsftpd.user_list 文件,一行一个,把用户ftp加进去,同时也可以加上你允许访问的系统帐户名。
(4) 禁止某些用户登陆ftp:
pam_service_name=vsftpd
指出VSFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是/etc/pam.d/vsftpd。
/etc/vsftpd.ftpusers
VSFTPD禁止列在此文件中的用户登录FTP服务器,用户名是一行一个。这个机制是在/etc/pam.d/vsftpd中默认设置的。
这个功能和(3)里的功能有点类似,他们俩能结合使用,那样就最好了。
(5) 把本地用户锁定在自己的主目录,防止转到其他目录,比如把/etc/passwd给下载了:
chroot_local_users=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
然后在/etc下建立vsftpd.chroot_list文件,里面把我们要限制的本地帐户加进去,一行一个,我们加上ftp,防止它登陆到系统。
(6) 隐藏文件真实的所有用户和组信息,防止黑客拿下ftp后查看更多系统用户信息:
hide_ids=YES
(7) 取消ls -R命令,节省资源,因为使用该命令,在文件列表很多的时候将浪费大量系统资源:
ls_recurse_enable=NO
(8) 上传文件的默认权限,设置为022:
local_umask=022
如果要覆盖删除等,还要打开:
write_enable=YES
(9) ftp的banner信息,为了防止黑客获取更多服务器的信息,设置该项:
ftpd_banner=banner string
把后面的banner string设为你需要的banner提示信息,为了安全,建议不要暴露关于vsFTPd的任何信息。
另外,如果你的信息比较多的话,可以设置为提示信息是读取一个文件中的信息:
banner_file=/directory/vsftpd_banner_file
(10) 打开日志功能:
xferlog_enable=YES
同时设置日志的目录:
xferlog_file=/var/log/vsftpd.log
启用详细的日志记录格式:
xferlog_enable=YES
(11) 如果打开虚用户功能等,那么建议关闭本地用户登陆:
local_enable=NO
本文链接地址:http://www.oyaya.net/fanwen/view/141458.html
(2) 允许本地用户登陆,因为我们需要使用ftp用户来对我们网站进行管理:
local_enable=YES
(3) 只允许系统中的ftp用户或者某些指定的用户访问ftp,因为系统中帐户众多,不可能让谁都访问。
打开用户文件列表功能:
userlist_enable=YES
只允许用户文件列表中的用户访问ftp:
userlist_deny=NO
用户名文件列表路径:
userlist_file=/etc/vsftpd.user_list
然后在/etc下建立文件 vsftpd.user_list 文件,一行一个,把用户ftp加进去,同时也可以加上你允许访问的系统帐户名。
(4) 禁止某些用户登陆ftp:
pam_service_name=vsftpd
指出VSFTPD进行PAM认证时所使用的PAM配置文件名,默认值是vsftpd,默认PAM配置文件是/etc/pam.d/vsftpd。
/etc/vsftpd.ftpusers
VSFTPD禁止列在此文件中的用户登录FTP服务器,用户名是一行一个。这个机制是在/etc/pam.d/vsftpd中默认设置的。
这个功能和(3)里的功能有点类似,他们俩能结合使用,那样就最好了。
(5) 把本地用户锁定在自己的主目录,防止转到其他目录,比如把/etc/passwd给下载了:
chroot_local_users=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
然后在/etc下建立vsftpd.chroot_list文件,里面把我们要限制的本地帐户加进去,一行一个,我们加上ftp,防止它登陆到系统。
(6) 隐藏文件真实的所有用户和组信息,防止黑客拿下ftp后查看更多系统用户信息:
hide_ids=YES
(7) 取消ls -R命令,节省资源,因为使用该命令,在文件列表很多的时候将浪费大量系统资源:
ls_recurse_enable=NO
(8) 上传文件的默认权限,设置为022:
local_umask=022
如果要覆盖删除等,还要打开:
write_enable=YES
(9) ftp的banner信息,为了防止黑客获取更多服务器的信息,设置该项:
ftpd_banner=banner string
把后面的banner string设为你需要的banner提示信息,为了安全,建议不要暴露关于vsFTPd的任何信息。
另外,如果你的信息比较多的话,可以设置为提示信息是读取一个文件中的信息:
banner_file=/directory/vsftpd_banner_file
(10) 打开日志功能:
xferlog_enable=YES
同时设置日志的目录:
xferlog_file=/var/log/vsftpd.log
启用详细的日志记录格式:
xferlog_enable=YES
(11) 如果打开虚用户功能等,那么建议关闭本地用户登陆:
local_enable=NO
vsFTPd还有很多安全设置,毕竟人家的名字就是:Very Secure FTP Daemon,反正它的溢出漏洞什么的是很少的,如果要更安全,建议按照自己的需要设置vsftpd,设置的好,它绝对是最安全的。
5. SSH安全设置
SSH是一个基于SSL的安全连接远程管理的服务程序,主要出现就是为了解决telnet、rlogin、rsh等程序在程序交互过程中存在明文传输易被监听的问题而产生的,目前基本上是推荐使用ssh来代替telnet、rlogin、rsh等远程管理服务。
ssh能够直接在windows平台下通过Secure SSH Client等客户端工具进行连接管理,目前最流行的服务器端就是OpenSSH程序,目前最新版本是OpenSSH4.0版,详细可以参考www.openssh.com网站。
OpenSSH在FreeBSD下已经集成安装了,FreeBSD5.3下的OpenSSH版本是3.8.1,建议ports升级到4.0。
主要的安全配置文件是/etc/ssh/sshd_config文件,我们编辑该文件。
(1) 使用