Win2003服务器安全加固设置--进一步提高服务器安全性_PHP教程
程序员文章站
2022-04-28 11:53:40
...
本文是我做服务器维护的点击经验,部份是我根据入侵手段所做的相应配置调整!大部份的内容网上都有,可能有人认为是抄袭,无所谓了,只要对大家有帮助就OK了,如果大家对本文有不同的看法,非常欢迎大家与我交流!
还有一点我想说的是,本文内容讨论的重点是服务器安全设置加固,是在有一定安全设置的基础上进行讨论的,并且,对于基础的内容我在本文最后也列出了标题,只是网上的好文章挺多的,我就不想再费劲写了!所以,大家看后不要再说一些对于磁盘之类设置没有做之类的话!
1、修改管理员帐号名称与来宾帐号名称
此步骤主要是为了防止入侵者使用默认的系统用户名或者来宾帐号马上进行暴利破解,在更改完后,不要忘记修改强悍的密码。
控制面板――管理工具――本地安全策略――本地策略――安全选项
在右边栏的最下方,如图所示:
2、修改远程桌面连接端口
运行 Regedt32 并转到此项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
找到“PortNumber”子项,您会看到值 00000D3D,它是 3389 的十六进制表示形式。使用十六进制数值修改此端口号,并保存新值。
小巧门:各位,别一看到是十六进制就头疼,在修改键值的时候也同样支持十进制
3、禁止不常用服务
禁用不必要的服务不但可以降低服务器的资源占用减轻负担,而且可以增强安全性。下面列出了可以禁用的服务:
Application Experience Lookup Service
Automatic Updates
BITS
Computer Browser
DHCP Client
Error Reporting Service
Help and Support
Network Location Awareness
Print Spooler
Remote Registry
Secondary Logon
Server
Smartcard
TCP/IP NetBIOS Helper
Workstation
Windows Audio
Windows Time
Wireless Configuration
4、设置组策略,加强系统安全策略
设置帐号锁定阀值为5次无效登录,锁定时间为30分钟;
从通过网络访问此计算机中删除Everyone组;
在用户权利指派下,从通过网络访问此计算机中删除Power Users和Backup Operators;
为交互登录启动消息文本。
启用 不允许匿名访问SAM帐号和共享;
启用 不允许为网络验证存储凭据或Passport;
启用 在下一次密码变更时不存储LANMAN哈希值;
启用 清除虚拟内存页面文件;
禁止IIS匿名用户在本地登录;
启用 交互登录:不显示上次的用户名;
从文件共享中删除允许匿名登录的DFS$和COMCFG;
禁用活动桌面。
5、强化TCP协议栈
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000001
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"TcpMaxConnectResponseRetransmissions"=dword:00000003
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"TcpMaxPortsExhausted"=dword:00000005
6、加固IIS
进入Windows组件安装,找到应用程序服务器,进入详细信息,勾选ASP.NET后,IIS必须的组件就会被自动选择,如果你的服务器需要运行ASP脚本,那么还需要进入Internet信息服务(IIS)-万维网服务下勾选Active Server Pages。完成安装后,应当在其他逻辑分区上单独建立一个目录用来存储WEB网站程序及数据。
一台WEB服务器上都运行着多个网站,他们之间可能互不相干,所以为了起到隔离和提高安全性,需要建立一个匿名WEB用户组,为每一个站点创建一个匿名访问账号,将这些匿名账号添加到之前建立的匿名WEB用户组中,并在本地计算机策略中禁止此组有本地登录权限。
最后优化IIS6应用程序池设置:
禁用缺省应用程序池的空闲超时;
禁用缓存ISAPI扩展;
将应用程序池标识从NetworlService改为LocalService;
禁用快速失败保护;
将关机时间限制从
7、删除MSSQL无用组件、注册表及调用的SHELL
将有安全问题的SQL过程删除.比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
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_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
全部复制到"SQL查询分析器"
点击菜单上的--"查询"--"执行",就会将有安全问题的SQL过程删除(以上是7i24的正版用户的技术支持)
更改默认SA空密码.数据库链接不要使用SA帐户.单数据库单独设使用帐户.只给public和db_owner权限.
数据库不要放在默认的位置.
SQL不要安装在PROGRAM FILE目录下面.
最近的SQL2000补丁是SP4
8、防ping处理
防ping处理建意大家用防火墙一类的软件,这样可以大大降低服务器被攻击的可能性,为什么这样说呢?主要是现在大部份的入侵者都是利用软件扫一个网段存活的主机,一般判断主机是否存活就是看ping的通与不通了!
9、禁止(更改)常用DOS命令
找到%windir%/system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 这些黑客常用的文件,在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户 在ACLs中进行拒绝访问即可。
10、修改server_U默认端口(网上有类似的视频教程及文章,做的比较不错)
11、关闭不常用端口(哪都有)
在TCP/IP属性――高级――筛选,只打开一些常用的端口就可以了!例如:80 3389 1433 等 ,根据各人需求吧!
12、磁盘(网站目录)、用户、IIS权限设置(满大街全是了)
这类的文章和视频也很多,不过在这里我想说的是,现在网站很多的文章和视频在给磁盘基本权限的时候,都是给的Administrors组权限,我个人建意大家用Administrator权限,这样为了防止提权成功后,入侵者可以完全控制机器!这样做后,即使入侵成功了,也只有一点点的浏览权限的!
首发:skyjames.cn
还有一点我想说的是,本文内容讨论的重点是服务器安全设置加固,是在有一定安全设置的基础上进行讨论的,并且,对于基础的内容我在本文最后也列出了标题,只是网上的好文章挺多的,我就不想再费劲写了!所以,大家看后不要再说一些对于磁盘之类设置没有做之类的话!
1、修改管理员帐号名称与来宾帐号名称
此步骤主要是为了防止入侵者使用默认的系统用户名或者来宾帐号马上进行暴利破解,在更改完后,不要忘记修改强悍的密码。
控制面板――管理工具――本地安全策略――本地策略――安全选项
在右边栏的最下方,如图所示:
2、修改远程桌面连接端口
运行 Regedt32 并转到此项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
找到“PortNumber”子项,您会看到值 00000D3D,它是 3389 的十六进制表示形式。使用十六进制数值修改此端口号,并保存新值。
小巧门:各位,别一看到是十六进制就头疼,在修改键值的时候也同样支持十进制
3、禁止不常用服务
禁用不必要的服务不但可以降低服务器的资源占用减轻负担,而且可以增强安全性。下面列出了可以禁用的服务:
Application Experience Lookup Service
Automatic Updates
BITS
Computer Browser
DHCP Client
Error Reporting Service
Help and Support
Network Location Awareness
Print Spooler
Remote Registry
Secondary Logon
Server
Smartcard
TCP/IP NetBIOS Helper
Workstation
Windows Audio
Windows Time
Wireless Configuration
4、设置组策略,加强系统安全策略
设置帐号锁定阀值为5次无效登录,锁定时间为30分钟;
从通过网络访问此计算机中删除Everyone组;
在用户权利指派下,从通过网络访问此计算机中删除Power Users和Backup Operators;
为交互登录启动消息文本。
启用 不允许匿名访问SAM帐号和共享;
启用 不允许为网络验证存储凭据或Passport;
启用 在下一次密码变更时不存储LANMAN哈希值;
启用 清除虚拟内存页面文件;
禁止IIS匿名用户在本地登录;
启用 交互登录:不显示上次的用户名;
从文件共享中删除允许匿名登录的DFS$和COMCFG;
禁用活动桌面。
5、强化TCP协议栈
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"SynAttackProtect"=dword:00000001
"EnablePMTUDiscovery"=dword:00000000
"NoNameReleaseOnDemand"=dword:00000001
"EnableDeadGWDetect"=dword:00000000
"KeepAliveTime"=dword:00300000
"PerformRouterDiscovery"=dword:00000000
"TcpMaxConnectResponseRetransmissions"=dword:00000003
"TcpMaxHalfOpen"=dword:00000100
"TcpMaxHalfOpenRetried"=dword:00000080
"TcpMaxPortsExhausted"=dword:00000005
6、加固IIS
进入Windows组件安装,找到应用程序服务器,进入详细信息,勾选ASP.NET后,IIS必须的组件就会被自动选择,如果你的服务器需要运行ASP脚本,那么还需要进入Internet信息服务(IIS)-万维网服务下勾选Active Server Pages。完成安装后,应当在其他逻辑分区上单独建立一个目录用来存储WEB网站程序及数据。
一台WEB服务器上都运行着多个网站,他们之间可能互不相干,所以为了起到隔离和提高安全性,需要建立一个匿名WEB用户组,为每一个站点创建一个匿名访问账号,将这些匿名账号添加到之前建立的匿名WEB用户组中,并在本地计算机策略中禁止此组有本地登录权限。
最后优化IIS6应用程序池设置:
禁用缺省应用程序池的空闲超时;
禁用缓存ISAPI扩展;
将应用程序池标识从NetworlService改为LocalService;
禁用快速失败保护;
将关机时间限制从
7、删除MSSQL无用组件、注册表及调用的SHELL
将有安全问题的SQL过程删除.比较全面.一切为了安全!删除了调用shell,注册表,COM组件的破坏权限
use master
EXEC sp_dropextendedproc 'xp_cmdshell'
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_regdeletevalue'
EXEC sp_dropextendedproc 'Xp_regenumvalues'
EXEC sp_dropextendedproc 'Xp_regread'
EXEC sp_dropextendedproc 'Xp_regremovemultistring'
EXEC sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
全部复制到"SQL查询分析器"
点击菜单上的--"查询"--"执行",就会将有安全问题的SQL过程删除(以上是7i24的正版用户的技术支持)
更改默认SA空密码.数据库链接不要使用SA帐户.单数据库单独设使用帐户.只给public和db_owner权限.
数据库不要放在默认的位置.
SQL不要安装在PROGRAM FILE目录下面.
最近的SQL2000补丁是SP4
8、防ping处理
防ping处理建意大家用防火墙一类的软件,这样可以大大降低服务器被攻击的可能性,为什么这样说呢?主要是现在大部份的入侵者都是利用软件扫一个网段存活的主机,一般判断主机是否存活就是看ping的通与不通了!
9、禁止(更改)常用DOS命令
找到%windir%/system32下找到cmd.exe、cmd32.exe net.exe net1.exe ipconfig.exe tftp.exe ftp.exe user.exe reg.exe regedit.exe regedt32.exe regsvr32.exe 这些黑客常用的文件,在“属性”→“安全”中对他们进行访问的ACLs用户进 行定义,诸如只给administrator有权访问,如果需要防范一些溢出攻击、以及溢出成功后对这些文件的非法利用;那么我们只需要将system用户 在ACLs中进行拒绝访问即可。
10、修改server_U默认端口(网上有类似的视频教程及文章,做的比较不错)
11、关闭不常用端口(哪都有)
在TCP/IP属性――高级――筛选,只打开一些常用的端口就可以了!例如:80 3389 1433 等 ,根据各人需求吧!
12、磁盘(网站目录)、用户、IIS权限设置(满大街全是了)
这类的文章和视频也很多,不过在这里我想说的是,现在网站很多的文章和视频在给磁盘基本权限的时候,都是给的Administrors组权限,我个人建意大家用Administrator权限,这样为了防止提权成功后,入侵者可以完全控制机器!这样做后,即使入侵成功了,也只有一点点的浏览权限的!
首发:skyjames.cn