四、 FTP服务设置
建立FTP目录,权限设为只保留 ADM组、SYS组权限。在总目录下为每个用户设置HOME目录,HOME目录不要与用户同名。
五、 WEB服务设置
1、基本设置
·停止默认web站点,删除c:\inetpub目录。
·允许GUESTS组用户完全控制WINDOWS的TEMP目录。
·解除FSO上传程序小于200k限制:
停止IIS admin service服务
编辑C:\WINDOWS\system32\inetsrv\MetaBase.xml的ASPMaxRequestEntityAllowed项,将其修改为需要的值、默认为204800、即200K
重启IIS admin service服务
2、IIS站点基本权限设置
每个IIS站点设置一个匿名用户,要求仅属于GUESTS组,密码10位以上(建议使用随机32位GUID)。
此站点的主目录对应文件夹权限设置为:ADM组、SYS组完全控制,允许此前创建的用户只读权限。
不需要执行权限的目录如上传目录、图片目录、JS目录等一律将目录执行权限设为“无” 。
在IIS的【站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑】填写刚刚创建的那个用户名及密码。
3、IIS站点基本属性设置
在站点管理中删除扩展名:shtml stm shtm cdx idc cer(最好只保留需要用到的扩展名映射,比如PHP站点可以删除ASP和ASPX)
在应用程序配置里,设置调试为向客户端发送自定义的文本信息。
为站点设置独立的应用程序池。
使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理。更改日志存放路径,同时设置日志的访问权限,只保留 ADM组、SYS组权限完全控制权限。
尽可能重定向404错到自定义页面
4、禁止下载Access数据库
方法1:Internet 信息服务(IIS)管理器→网站→属性→主目录→配置→添加,可执行文件:(任意不相关的DLL均可),扩展名:.mdb
方法2:直接将数据库文件通过URL重向到任意网址。
六、 ASP.NET网站设置
每个ASP.NET站点除了按基本设置要求建立匿名访问用户外,还要设置仅隶属于IIS_WPG的启动IIS进程帐号。此站点的主目录对应文件夹权限添加启动IIS进程帐号读取权限。给每个ASP.NET站点单独设置应用程序池,并在应用池属性的“标识->配置”中设置帐号为先前添加的启动IIS进程帐号。
给此站点允许上传的目录以及允许修改的文件,单独配置对应启动IIS进程帐号以写的权限。
七、 PHP网站设置
1、PHP目录尽量不要安装在系统盘,应该赋予IIS_WPG和IUSR_XXX(Internet来宾账户)读取和运行的权限。PHP临时目录创建后,需设IIS_WPG和IUSR_XXX(Internet来宾账户)的权限为完全控制。
2、PHP.INI设置:
short_open_tag = On
safe_mode=On (可以将要执行程序的路径,在safe_mode_exec_dir 中指定。然后把要用的程序拷到此目录下。这样被限制的函数还能执行该目录里的程序)
display_errors=Off
log_errors = On (在error_log中设置错误日志存放的文件)
register_globals=Off
expose_php=Off
allow_url_fopen=Off (禁止远程文件功能,视情况关闭)
disable_functions (设置不希望执行的函数,比如disable_functions= phpinfo,system,exec,passthru,shell_exec,popen,is_dir)
magic_quotes_gpc=On (防止SQL注入,视情况关闭)
3、如果程序需要使用file_exists()判断相对路径,则必须给程序所在盘符以users用户组默认权限。
八、 MSSQL设置
1、基本设置
SA设置高强度口令。为每个库建立自动备份任务。
2、权限设置
为每个应用单独建立数据库用户并设此用户为对应库的所有者。
[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限。
[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×”。
3、数据库日志的记录
审核数据库登录事件的"失败和成功",在实例属性中选择"安全性",将其中的审核级别选定为全部。
4、删除存在安全隐患的扩展
use master
exec sp_dropextendedproc 'xp_cmdshell'
exec sp_dropextendedproc 'xp_dirtree'
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'Sp_OACreate'
exec sp_dropextendedproc 'Sp_OADestroy'
exec sp_dropextendedproc 'Sp_OAGetErrorInfo'
exec sp_dropextendedproc 'Sp_OAGetProperty'
exec sp_dropextendedproc 'Sp_OAMethod'
exec sp_dropextendedproc 'Sp_OASetProperty'
exec sp_dropextendedproc 'Sp_OAStop'
exec sp_dropextendedproc 'Xp_regaddmultistring'
exec sp_dropextendedproc 'Xp_regdeletekey'
exec sp_dropextendedproc 'Xp_regdelete'
exec sp_dropextendedproc 'Xp_regenums'
exec sp_dropextendedproc 'Xp_regread'
exec sp_dropextendedproc 'Xp_regremovemultistring'
exec sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
go
九、 MYSQL设置
十、 其他注意项
1、工作环境配置是一项复杂而又繁琐地工作,一定要慎重。如果没有把握地话,每做一步设置都应该测试系统工作是否正常,发现问题及时恢复。
2、要特别注意网站目录的权限配置时,往往权限作用有一个延迟。如果条件允许,可以重启一下IIS服务,使权限立即生效,避免因为延迟导致网站出现意外。
3、做网站目录安全时,可以使用木马对系统进行探测,帮助发现问题。设置结束后要切记及时删除。