IIS Web服务器安全加固步骤:
步骤安装和配置 Windows Server 2003。
注意:
1.将\System32\cmd.exe转移到其他目录或更名;
2.系统帐号尽量少,更改默认帐户名(如Administrator)和描述,密码尽量复杂;
3.拒绝通过网络访问该计算机(匿名登录;内置管理员帐户;Support_388945a0;Guest;所有非操作系统服务帐户)
4.建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这时需要对这些文件所在的文件夹权限进行更改,建议在做更改前先在测试机器上作测试,然后慎重更改。
5.NTFS文件权限设定(注意文件的权限优先级别比文件夹的权限高):
6.禁止C$、D$一类的缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
AutoShareServer、REG_DWORD、0x0
7.禁止ADMIN$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters
AutoShareWks、REG_DWORD、0x0
8.限制IPC$缺省共享
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
restrictanonymous REG_DWORD 0x0 缺省
0x1 匿名用户无法列举本机用户列表
0x2 匿名用户无法连接本机IPC$共享
说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server
9.仅给用户真正需要的权限,权限的最小化原则是安全的重要保障
10.在本地安全策略->审核策略中打开相应的审核,推荐的审核是:
账户管理 成功 失败
登录事件 成功 失败
对象访问 失败
策略更改 成功 失败
特权使用 失败
系统事件 成功 失败
目录服务访问 失败
账户登录事件 成功 失败
审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义。 与之相关的是:
在账户策略->密码策略中设定:
密码复杂性要求 启用
密码长度最小值 6位
强制密码历史 5次
最长存留期 30天
在账户策略->账户锁定策略中设定:
账户锁定 3次错误登录
锁定时间 20分钟
复位锁定计数 20分钟
11.在Terminal Service Configration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了。
12.解除NetBios与TCP/IP协议的绑定
控制面版——网络——绑定——NetBios接口——禁用 2000:控制面版——网络和拨号连接——本地网络——属性——TCP/IP——属性——高级——WINS——禁用TCP/IP上的NETBIOS
13.在网络连接的协议里启用TCP/IP筛选,仅开放必要的端口(如80)
14.通过更改注册表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止139空连接
15.修改数据包的生存时间(TTL)值
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128)
16.防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SynAttackProtect REG_DWORD 0x2(默认值为0x0)
17.禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
\Interfaces\interface
PerformRouterDiscovery REG_DWORD 0x0(默认值为0x2)
18.防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnableICMPRedirects REG_DWORD 0x0(默认值为0x1)
19.不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
IGMPLevel REG_DWORD 0x0(默认值为0x2)
20.设置arp缓存老化时间设置
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
ArpCacheLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为120秒)
ArpCacheMinReferencedLife REG_DWORD 0-0xFFFFFFFF(秒数,默认值为600)
21.禁止死网关监测技术
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
EnableDeadGWDetect REG_DWORD 0x0(默认值为ox1)
22.不支持路由功能
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services:\Tcpip\Parameters
IPEnableRouter REG_DWORD 0x0(默认值为0x0)
安装和配置 IIS 服务:
1.仅安装必要的 IIS 组件。(禁用不需要的如FTP 和 SMTP 服务)
2.仅启用必要的服务和 Web Service 扩展,推荐配置:
万维网服务子组件
3.将IIS目录&数据与系统磁盘分开,保存在专用磁盘空间内。
4.在IIS管理器中删除必须之外的任何没有用到的映射(保留asp等必要映射即可)
5.在IIS中将HTTP404 Object Not Found出错页面通过URL重定向到一个定制HTM文件
6.Web站点权限设定(建议)
7.建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为Full Control)。
8.程序安全:
1) 涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限;
2) 需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
3) 防止ASP主页.inc文件泄露问题;
4) 防止UE等编辑器生成some.asp.bak文件泄露问题。
安全更新。应用所需的所有 Service Pack 和 定期手动更新补丁。
安装和配置防病毒保护。推荐NAV 8.1以上版本病毒防火墙(配置为至少每周自动升级一次)。
安装和配置防火墙保护。推荐最新版BlackICE Server Protection防火墙(配置简单,比较实用)
监视解决方案。根据要求安装和配置 MOM代理或类似的监视解决方案。
加强数据备份。Web数据定时做备份,保证在出现问题后可以恢复到最近的状态。
考虑实施 IPSec 筛选器。用 IPSec 过滤器阻断端口
Internet 协议安全性 (IPSec) 过滤器可为增强服务器所需要的安全级别提供有效的方法。本指南推荐在指南中定义的高安全性环境中使用该选项,以便进一步减少服务器的受攻击面。
有关使用 IPSec 过滤器的详细信息,请参阅模块其他成员服务器强化过程。
下表列出在本指南定义的高级安全性环境下可在 IIS 服务器上创建的所有 IPSec 过滤器。
在实施上表所列举的规则时,应当对它们都进行镜像处理。这样可以确保任何进入服务器的网络通信也可以返回到源服务器。
SQL服务器安全加固
附:Win2003系统建议禁用服务列表