IIS Web服务器安全加固步骤:
步骤 |
注意: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安装和配置 Windows |
1. 将 2. 系统帐号尽量少,更改默认帐户名(如Administrator)和描述,密码尽量复杂; 3. 拒绝通过网络访问该计算机(匿名登录;内置管理员帐户;Support_388945a0;Guest;所有非操作系统服务帐户) 4. 建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这时需要对这些文件所在的文件夹权限进行更改,建议在做更改前先在测试机器上作测试,然后慎重更改。 5. NTFS文件权限设定(注意文件的权限优先级别比文件夹的权限高):
6. 禁止C$、D$一类的缺省共享
\lanmanserver\parameters 7. 禁止ADMIN$缺省共享 \lanmanserver
\parameters 8. 限制IPC$缺省共享
\Lsarestrictanonymous REG_DWORD 0x0 缺省 9. 仅给用户真正需要的权限,权限的最小化原则是安全的重要保障 10. 在本地安全策略->审核策略中打开相应的审核,推荐的审核是: 11. 在Terminal Service Configration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了。 12. 解除NetBios与TCP/IP协议的绑定 13. 在网络连接的协议里启用TCP/IP筛选,仅开放必要的端口(如80) 14. 通过更改注册表Local_Machine\System\CurrentControlSet \Control\LSA-RestrictAnonymous = 1来禁止139空连接 15. 修改数据包的生存时间(TTL)值
\Tcpip\Parameters 16. 防止SYN洪水攻击
\Tcpip\Parameters 17. 禁止响应ICMP路由通告报文
\Tcpip\Parameters 18. 防止ICMP重定向报文的攻击
\Tcpip\Parameters 19. 不支持IGMP协议
\Tcpip\Parameters 20. 设置arp缓存老化时间设置 \Tcpip
\Parameters 21. 禁止死网关监测技术
\Parameters 22. 不支持路由功能
\Tcpip\Parameters | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安装和配置 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. 程序安全: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安全更新。 |
应用所需的所有 Service Pack 和 定期手动更新补丁。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安装和配置防病毒保护。 |
推荐NAV 8.1以上版本病毒防火墙(配置为至少每周自动升级一次)。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
安装和配置防火墙保护。 |
推荐最新版BlackICE Server Protection防火墙(配置简单,比较实用) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
监视解决方案。 |
根据要求安装和配置 MOM代理或类似的监视解决方案。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
加强数据备份。 |
Web数据定时做备份,保证在出现问题后可以恢复到最近的状态。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
考虑实施 IPSec 筛选器。 |
用 IPSec 过滤器阻断端口 Internet 协议安全性 (IPSec) 过滤器可为增强服务器所需要的安全级别提供有效的方法。本指南推荐在指南中定义的高安全性环境中使用该选项,以便进一步减少服务器的受攻击面。 有关使用 IPSec 过滤器的详细信息,请参阅模块其他成员服务器强化过程。 下表列出在本指南定义的高级安全性环境下可在 IIS 服务器上创建的所有 IPSec 过滤器。
在实施上表所列举的规则时,应当对它们都进行镜像处理。这样可以确保任何进入服务器的网络通信也可以返回到源服务器。 |
SQL服务器安全加固
步骤 |
说明 |
MDAC 升级 |
安装最新的MDAC(http://www.microsoft.com/data/download.htm) |
密码策略 |
由于SQL Server不能更改sa用户名称,也不能删除这个超级用户,所以,我们必须对这个帐号进行最强的保护,当然,包括使用一个非常强壮的密码,最好不要在数据库应用中使用sa帐号。新建立一个拥有与sa一样权限的超级用户来管理数据库。同时养成定期修改密码的好习惯。数据库管理员应该定期查看是否有不符合密码要求的帐号。比如使用下面的SQL语句: |
数据库日志的记录 |
核数据库登录事件的“失败和成功”,在实例属性中选择“安全性”,将其中的审核级别选定为全部,这样在数据库系统和操作系统日志里面,就详细记录了所有帐号的登录事件。 |
管理扩展存储过程 |
xp_cmdshell是进入操作系统的最佳捷径,是数据库留给操作系统的一个大后门。请把它去掉。使用这个SQL语句: OLE自动存储过程(会造成管理器中的某些特征不能使用),这些过程包括如下(不需要可以全部去掉: 去掉不需要的注册表访问的存储过程,注册表存储过程甚至能够读出操作系统管理员的密码来,如下: |
防TCP/IP端口探测 |
在实例属性中选择TCP/IP协议的属性。选择隐藏 SQL Server 实例。 |
对网络连接进行IP限制 |
使用操作系统自己的IPSec可以实现IP数据包的安全性。请对IP连接进行限制,保证只有自己的IP能够访问,拒绝其他IP进行的端口连接。 |
附:Win2003系统建议禁用服务列表
名 称 |
服务名 |
建议设置 |
自动更新 |
wuauserv |
禁用 |
Background Intelligent Transfer Service |
BITS |
禁用 |
Computer Browser |
Browser |
禁用 |
DHCP Client |
Dhcp |
禁用 |
NTLM Security Support Provider |
NtLmSsp |
禁用 |
Network Location Awareness |
NLA |
禁用 |
Performance Logs and Alerts |
SysmonLog |
禁用 |
Remote Administration Service |
SrvcSurg |
禁用 |
Remote Registry Service |
RemoteRegistry |
禁用 |
Server |
lanmanserver |
禁用 |
TCP/IP NetBIOS Helper Service |
LmHosts |
禁用 |
DHCP Client |
Dhcp |
禁用 |
NTLM Security Support Provider |
NtLmSsp |
禁用 |
Terminal Services |
TermService |
禁用 |
Windows Installer |
MSIServer |
禁用 |
Windows Management Instrumentation Driver Extensions |
Wmi |
禁用 |
WMI Performance Adapter |
WMIApSrv |
禁用 |
Error Reporting |
ErrRep |
禁用 |