|
楼主 |
发表于 2005-12-24 00:54:00
|
显示全部楼层
Windows网络服务器安全配置
<FONT size=4><SPAN class=tpc_content twffan="done"><B>额外措施:</B><BR><BR> 我们可以通过增加一些设备和措施来进一步加强系统安全性.<BR><BR> <B>1.代理型防火墙.如ISA2004</B><BR><BR> 代理型防火墙可以对进出的包进行内容过滤.设置对HTTP REQUEST内的request string或者form内容进行过滤,将SELECT.DROP.DELETE.INSERT等都过滤掉.因为这些关键词在客户提交的表单或者内容中是不可能出现的.过滤了以后可以说从根本杜绝了SQL 注入<BR><BR> <B>2.用SNORT建立IDS</B><BR><BR> 用另一台服务器建立个SNORT.对于所有进出服务器的包都进行分析和记录,特别是FTP上传的指令以及HTTP对ASP文件的请求,可以特别关注一下.<BR><BR> 本文提到的部分软件在提供下载的RAR中包含,包括COM命令行执行记录,URLSCAN 2.5以及配置好的配置文件,IPSEC导出的端口规则,evtsys,一些注册表加固的注册表项.<BR><BR> <B>实践篇</B><BR><BR> 下面我用的例子.将是一台标准的虚拟主机.<BR><BR> 系统:windows2003<BR><BR> 服务:[IIS] [SERV-U] [IMAIL] [SQL SERVER 2000] [PHP] [MYSQL]<BR><BR> 描述:为了演示,绑定了最多的服务.大家可以根据实际情况做筛减<BR><BR> <B>1.WINDOWS本地安全策略 端口限制</B><BR><BR> A.对于我们的例子来说.需要开通以下端口<BR><BR> 外->本地 80<BR><BR> 外->本地 20<BR><BR> 外->本地 21<BR><BR> 外->本地 PASV所用到的一些端口<BR><BR> 外->本地 25<BR><BR> 外->本地 110<BR><BR> 外->本地 3389<BR><BR> 然后按照具体情况.打开SQL SERVER和MYSQL的端口<BR><BR> 外->本地 1433<BR><BR> 外->本地 3306<BR><BR> B.接着是开放从内部往外需要开放的端口<BR><BR> 按照实际情况,如果无需邮件服务,则不要打开以下两条规则<BR><BR> 本地->外 53 TCP,UDP<BR><BR> 本地->外 25<BR><BR> 按照具体情况.如果无需在服务器上访问网页.尽量不要开以下端口<BR><BR> 本地->外 80<BR><BR> C.除了明确允许的一律阻止.这个是安全规则的关键.<BR><BR> 外->本地 所有协议 阻止<BR><BR> <B>2.用户帐号</B><BR><BR> a.将administrator改名,例子中改为root<BR><BR> b.取消所有除管理员root外所有用户属性中的<BR><BR> 远程控制->启用远程控制 以及<BR><BR> 终端服务配置文件->允许登陆到终端服务器<BR><BR> c.将guest改名为administrator并且修改密码<BR><BR> d.除了管理员root,IUSER以及IWAM以及ASPNET用户外.禁用其他一切用户.包括SQL DEBUG以及TERMINAL USER等等<BR><BR> <B>3.目录权限</B><BR><BR> 将所有盘符的权限,全部改为只有<BR><BR> administrators组 全部权限<BR><BR> system 全部权限<BR><BR> 将C盘的所有子目录和子文件继承C盘的administrator(组或用户)和SYSTEM所有权限的两个权限<BR><BR> 然后做如下修改<BR><BR> C:\rogram Files\Common Files 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限<BR><BR> C:\WINDOWS\ 开放Everyone 默认的读取及运行 列出文件目录 读取三个权限<BR><BR> C:\WINDOWS\Temp 开放Everyone 修改,读取及运行,列出文件目录,读取,写入权限<BR><BR> 现在WebShell就无法在系统目录内写入文件了.<BR><BR> 当然也可以使用更严格的权限.在WINDOWS下分别目录设置权限.可是比较复杂.效果也并不明显.<BR><BR> <B>4.IIS</B><BR><BR> 在IIS 6下.应用程序扩展内的文件类型对应ISAPI的类型已经去掉了IDQ,PRINT等等危险的脚本类型,在IIS 5下我们需要把除了ASP以及ASA以外所有类型删除.<BR><BR> 安装URLSCAN<BR><BR> 在[DenyExtensions]中<BR><BR> 一般加入以下内容<BR><BR> .cer<BR><BR> .cdx<BR><BR> .mdb<BR><BR> .bat<BR><BR> .cmd<BR><BR> .com<BR><BR> .htw<BR><BR> .ida<BR><BR> .idq<BR><BR> .htr<BR><BR> .idc<BR><BR> .shtm<BR><BR> .shtml<BR><BR> .stm<BR><BR><BR> <B>5.WEB目录权限</B><BR><BR> 作为虚拟主机.会有许多独立客户。比较保险的做法就是为每个客户,建立一个windows用户,然后在IIS的响应的站点项内把IIS执行的匿名用户.绑定成这个用户并且把他指向的目录权限变更为:<BR><BR> administrators 全部权限<BR><BR> system 全部权限<BR><BR> 单独建立的用户(或者IUSER) 选择高级->打开除 完全控制,遍历文件夹/运行程序,取得所有权 3个外的其他权限.<BR><BR> 如果服务器上站点不多.并且有论坛,我们可以把每个论坛的上传目录去掉此用户的执行权限,只有读写权限,这样入侵者即便绕过论坛文件类型检测上传了webshell也是无法运行的.<BR><BR> <B>6.MS SQL SERVER2000</B><BR><BR> 使用系统帐户登陆查询分析器<BR><BR> 运行以下脚本<BR><BR> use master<BR><BR> exec sp_dropextendedproc 'xp_cmdshell'<BR><BR> exec sp_d |
|