一、综述
Windows server 2008是目前最先进、最可靠和最安全的windows操作系统,也是中百网站架构的运行支撑平台。针对目前生产服务器的需求情况,基于“最少的服务+最小的权限=最大的安全”原则,从规划、安装、配置几个环节描述如何搭建一个安全的标准系统。
本文档适用于公司在IDC托管的Windows Server 2008操作系统安装和测试环境的Windows系统,本文仅为基准系统的安装。
二、规划
1. 服务规划
规划好系统安装过程与服务器的所需程序、服务,准备好这些安装程序且确保这些安装程序没有任何问题,尽量使用官方提供的安装程序。不要安装任何多余的程序或组件,遵循“最少的服务+最小的权限=最大的安全”原则。
2. 分区规划
所有分区采用NTFS格式,NTFS在空间的利用、安全和性能方面比FAT格式都有较大的提升。
建议分四个区。系统在C盘,空间15G-20G;D/E/F盘平分剩余空间,软件和数据库程序安装在D盘,E盘放临时文件和工具文件,F盘存放日志文件和备份。
尽可能少的向系统盘写入非系统文件以减少系统备份的工作量。
三、基本安全设置
首次登录服务器,在做系统安全配置之前,需要首先进行一些基本的安全设置。
1. 帐户优化
(1)将administrator帐户重新命名为cn100admin,按照密码策略修改密码,可用KeePass软件生成一个密码。
(2)创建一个账户administrator,将密码设置为超级复杂,并且没有任何权限,日常是不使用仅做陷阱账户。
(3)禁用或删除掉guest帐号(手工或工具均可,推荐删除guest)。
2. 启用系统防火墙
鼠标右击“桌面”,在下拉框中选择 “个性化”-“更改桌面图标”,把“计算机、回收站、控制面板、网络”选上,然后“确定”。
鼠标右击“网络”,在下拉框中选择“属性”,依次选择“windows防火墙”-“更改设置”-“启用”,然后“确定”。
3. 杀毒软件
建议所有windows服务器都安装macfee企业版杀毒软件。
如果安装的是MCFEE,请确保启用了以下服务
AutoUpdate 每天
按访问扫描程序 默认
电子邮件传递扫描程序 默认
访问保护 :端口阻挡 默认 文件…保护 全选
缓冲区溢出保护 启用
4. 系统补丁更新
通过Windows Updata安装所有的Windows核心补丁,并且设置成“下载更新,但是让我选择是否安装更新”,在例行维护的时候统一更新。
四、配置本地安全策略
1. 帐户策略
推荐设置如下:
密码策略:密码必须符合复杂性要求<启用>,密码长度最小值设为<8个字符>,密码最短使用期限<0天>,密码最长使用期限<30天>,强制密码历史<3个记住的密码>。
帐户锁定策略:帐户锁定阈值设为<3次无效登录>,复位帐户锁定计数器<60分钟之后>,帐户锁定时间<60分钟>。
2. 本地策略
推荐设置如下:
审核策略:审核策略更改<成功,失败>,审核登录事件<成功,失败>,审核对象访问<失败>,审核目录服务访问<失败>,审核特权使用<失败>,审核系统事件<成功,失败>,审核帐户登录事件<成功,失败>,审核帐户管理<成功,失败>。
用户权限分配:拒绝从网络访问这台计算机中添加guest帐号。
安全选项:不显示最后的用户名<启用>,不允许SAM帐户的匿名枚举<启用>,不允许SAM帐户和共享的匿名枚举<启用>,防止用户安装打印机驱动程序<启用>,将 CD-ROM 的访问权限仅限于本地登录的用户<启用>,将软盘的访问权限仅限于本地登录的用户<启用>,允许在未登录的情况下弹出<禁用>,允许系统在未登录的情况下关闭<禁用>。
五、服务优化
1. 必须禁用的服务
以下服务危险性较大,必须禁用 [先停止服务再将属性设置为:禁用]。
Remote Registry [说明:禁止远程连接注册表]
server [说明:禁止默认共享]
Telnet [说明:禁止telnet远程登陆]
workstation [说明:防止一些漏洞和系统敏感信息获取]
Certificate Propagation [说明:为智能卡提供证书,我们不用智能卡]
2. 建议禁用的服务
CNG Key Isolation [说明:不使用自动有线网络配置和无线网络的可以禁用]
Computer Browser [说明:维护网络上计算机的更新列表]
Desktop Window Manager Session Manager [说明:关于桌面Aero的]
Diagnostic Policy Service [说明:诊断策略服务]
Diagnostic Service Host [说明:关于服务诊断的,可以跟上面的一起禁用]
Diagnostic System Host [说明:关于系统诊断的,可以一起禁用]
Fax [说明:和传真有关的,跟本用不到]
Human Interface Device Access [说明:键盘上特别的附加按键的启用,不需要]
IKE and AuthIP IPsec Keying Modules [说明:不用×××或第三方×××的可以禁用]
IP Helper [说明:就是让IPv4和IPv6互相兼容,现在的情况下不是特别需要]
IPsec Policy Agent [说明:如需要用到windows域,该服务需要开启]
Netlogon [说明:登录域会用到它,其实情况下禁用]
Portable Device Enumerator Service [说明:windows media player相关的]
Print Spooler [说明:打印服务]
Remote Access Auto Connection Manager [说明:不需要让程序读取网络信息时自动连接到网络]
Shell Hardware Detection [说明:为自动播放硬件事件提供通知]
Smart Card [说明:管理此计算机对智能卡的读取访问]
Smart Card Removal Policy [说明:允许系统配置为移除智能卡时锁定用户桌面]
TCP/IP NetBIOS Helper [说明:NetBIOS名称解析]
Terminal Services UserMode Port Redirector [说明:允许为 RDP 连接重定向打印机/驱动程序/端口]
Windows Audio [说明:管理基于 Windows 的程序的音频]
注:其它服务就按默认的设置
六、配置windows防火墙
Windows server 2008的防火墙的配置有两种方法:(1)通过高级安全windows防火墙配置界面进行配置;(2)在命令行模式下使用命令进行配置。推荐使用配置界面进行配置,只需手动配置一台服务器,然后将配置导出成一个文件,其他服务器只需导入这个配置文件即可。
1. 打开防火墙配置界面方法
“开始”-“管理工具”-“高级安全windows防火墙”。
鼠标右击“计算机”,选择“管理”,展开“配置”,再展开“高级安全windows 防火墙”。
“开始”-“运行”,输入WF.msc
2. windows防火墙配置
我们做完以上那些后,防火墙默认规则也就剩核心网络这些了,防火墙属性按默认配置即可。Windows 2008防火墙共有三个规则,入站规则、出站规则和连接安全规则,我们一般只需在入站规则里面添加规则。该防火墙还有一点好处,就是以后不管是配置服务器还是安装微软自己的软件,防火墙默认都会添加规则允许通过。安装第三方软件的话,就需要手动添加规则了。
3. 添加一条入站规则(举例)
例如我现在要开放8173端口供WEB服务器文件同步用,源服务器IP:192.168.0.144,目的服务器IP:192.168.0.109、192.168.0.102,那我们只需要添加一条入站规则即可。
右击“入站规则”-“新规则”,打开“新建入站规则向导”,选中“端口”,下一步。
选中“TCP”,端口指定为8173,下一步
选中“允许连接”,下一步
根据需要可以选择域、专用或公用网络,局域网和internet的话就选择公用网络,下一步。
输入规则名称,描述可不输入,点击“完成”。
在入站规则里面就可以看到我们添加的这条规则了。
双击这条规则,继续配置,点击“用作域”
输入允许访问的本机IP地址和远程IP地址,点击“确定”。
七、网络安全配置
Ø 设置网络连接,在属性里只保留TCP/IP协议,禁用TCP/IP上的NetBios。
Ø 修改注册表,禁止建立远程空连接。
运行 regedit ,找到如下主键 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] 把 RestrictAnonymous ( DWORD )的键值改为 :00000001
Ø 隐藏重要文件/目录
进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Fol der\Hidden\SHOWALL,将CheckedValue值由1改为0
Ø 可以安装第三方网络防火墙。
Ø 启用TCP/IP筛选,仅开放必须的TCP端口,禁用所有UDP端口。
Ø 实现简单抵御DDOS***。
下面是一个脚本,将其保存为 *.reg 文件,运行后会自动修改注册表相应的选项,以防止 DDOS ***。
- Windows Registry Editor Version 5.00
- [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
- "NoRecentDocsMenu"=hex:01,00,00,00
- "NoRecentDocsHistory"=hex:01,00,00,00
- [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
- "DontDisplayLastUserName"="1"
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
- "restrictanonymous"=dword:00000001
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Parameters]
- "AutoShareServer"=dword:00000000
- "AutoShareWks"=dword:00000000
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
- "EnableICMPRedirect"=dword:00000000
- "KeepAliveTime"=dword:000927c0
- "SynAttackProtect"=dword:00000002
- "TcpMaxHalfOpen"=dword:000001f4
- "TcpMaxHalfOpenRetried"=dword:00000190
- "TcpMaxConnectResponseRetransmissions"=dword:00000001
- "TcpMaxDataRetransmissions"=dword:00000003
- "TCPMaxPortsExhausted"=dword:00000005
- "DisableIPSourceRouting"=dword:00000002
- "TcpTimedWaitDelay"=dword:0000001e
- "TcpNumConnections"=dword:00004e20
- "EnablePMTUDiscovery"=dword:00000000
- "NoNameReleaseOnDemand"=dword:00000001
- "EnableDeadGWDetect"=dword:00000000
- "PerformRouterDiscovery"=dword:00000000
- "EnableICMPRedirects"=dword:00000000
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
- "BacklogIncrement"=dword:00000005
- "MaxConnBackLog"=dword:000007d0
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters]
- "EnableDynamicBacklog"=dword:00000001
- "MinimumDynamicBacklog"=dword:00000014
- "MaximumDynamicBacklog"=dword:00007530
- "DynamicBacklogGrowthDelta"=dword:0000000a
八、IIS安全配置(以ASP为例)
1. 停止默认站点,删除默认站点的虚拟目录c:\inetpub,并将虚拟目录更改到其他盘。
2. 配置所有站点的公共设置,设置好相关的连接数限制,带宽设置以及性能设置等其他设置。启用ASP应用程序扩展。
3. 创建虚拟站点。虚拟站点的HTML文件夹只授权administrators ,system完全控制,为此虚拟站点设置IIS匿名用户读取运行、列出目录。
4. 修改站点的日志存放目录,更改为非C盘下。
5. 修改403错误页面,将其转向到其他页,可防止一些扫描器的探测。
6. 防范asp***
开始-运行,输入CMD,执行以下脚本,卸载最不安全组件。
__________________________________________________
ren c:\WINDOWS\system32\wshom.ocx wshom.ocx.save
ren C:\windows\system32\shell32.dll shell32.dll.save
regsvr32 /u C:\WINDOWS\System32\wshom.ocx
regsvr32 /u C:\WINDOWS\system32\shell32.dll
__________________________________________
即可将WScript.Shell, Shell.application, WScript.Network组件卸载,可有效防止asp***通过wscript或shell.application执行命令以及使用***查看一些系统敏感信息。另法:可取消以上文件的users用户的权限,重新启动IIS即可生效。但不推荐该方法。九、SQL server安全配置
1、System、Administrators 角色最好不要超过两个
2、如果是在本机最好将身份验证配置为Win登陆
3 、为sa帐户配置一个超级复杂的密码,数据库连接不使用sa帐户,单数据库单独设使用帐户,只给public和db_owner权限。十、修改远程终端服务和SQLserver默认端口
1. 修改远程终端的默认端口(3389):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber=”设定值 ” 。
2. 隐藏 SQL Server、更改默认的1433端口
开始-所有程序-microsoft SQL server 2008-配置工具-SQL server配置管理器-SQL server网络配置-MSSQLSERVER的协议,双击右边窗口的“TCP/IP”,打开TCP/IP属性窗口,点击“IP地址”,找到IPALL这项,修改TCP端口即可。
在防火墙的规则里添加远程终端服务端口和SQL server端口(千万别忘记了),并设置可访问此端口的IP地址。以后如需要用到什么端口,只需在防火墙规则中添加即可。