Windows Server R2常规安全设置及基本安全策略.docx
《Windows Server R2常规安全设置及基本安全策略.docx》由会员分享,可在线阅读,更多相关《Windows Server R2常规安全设置及基本安全策略.docx(16页珍藏版)》请在冰豆网上搜索。
WindowsServerR2常规安全设置及基本安全策略
WindowsServer2008R2
常规安全设置及基本安全策略
1、目录权限
除系统所在分区之外的所有分区都赋予Administrators和SYSTEM有完全控制权,之后再对其下的子目录作单独的目录权限
2、远程连接
我的电脑属性--〉远程设置--〉远程--〉只允许运行带网络超级身份验证的远程桌面的计算机连接,选择允许运行任意版本远程桌面的计算机连接(较不安全)。
备注:
方便多种版本Windows远程管理服务器。
windowsserver2008的远程桌面连接,与2003相比,引入了网络级身份验证(NLA,networklevelauthentication),XPSP3不支持这种网络级的身份验证,vista跟win7支持。
然而在XP系统中修改一下注册表,即可让XPSP3支持网络级身份验证。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa在右窗口中双击SecurityPakeages,添加一项“tspkg”。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders,在右窗口中双击SecurityProviders,添加credssp.dll;请注意,在添加这项值时,一定要在原有的值后添加逗号后,别忘了要空一格(英文状态)。
然后将XP系统重启一下即可。
再查看一下,即可发现XP系统已经支持网络级身份验证
3、修改远程访问服务端口
更改远程连接端口方法,可用windows自带的计算器将10进制转为16进制。
更改3389端口为8208,重启生效!
WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp]
"PortNumber"=dword:
0002010
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp]
"PortNumber"=dword:
00002010
(1)在开始--运行菜单里,输入regedit,进入注册表编辑,按下面的路径进入修改端口的地方
(2)HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp
(3)找到右侧的"PortNumber",用十进制方式显示,默认为3389,改为(例如)6666端口
(4)HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp
(5)找到右侧的"PortNumber",用十进制方式显示,默认为3389,改为同上的端口
(6)在控制面板--Windows防火墙--高级设置--入站规则--新建规则
(7)选择端口--协议和端口--TCP/特定本地端口:
同上的端口
(8)下一步,选择允许连接
(9)下一步,选择公用
(10)下一步,名称:
远程桌面-新(TCP-In),描述:
用于远程桌面服务的入站规则,以允许RDP通信。
[TCP同上的端口]
(11)删除远程桌面(TCP-In)规则
(12)重新启动计算机
4、配置本地连接
网络--〉属性--〉管理网络连接--〉本地连接,打开“本地连接”界面,选择“属性”,左键点击“Microsoft网络客户端”,再点击“卸载”,在弹出的对话框中“是”确认卸载。
点击“Microsoft网络的文件和打印机共享”,再点击“卸载”,在弹出的对话框中选择“是”确认卸载。
解除Netbios和TCP/IP协议的绑定139端口:
打开“本地连接”界面,选择“属性”,在弹出的“属性”框中双击“Internet协议版本(TCP/IPV4)”,点击“属性”,再点击“高级”—“WINS”,选择“禁用TCP/IP上的NETBIOS”,点击“确认”并关闭本地连接属性。
禁止默认共享:
点击“开始”—“运行”,输入“Regedit”,打开注册表编辑器,打开注册表项“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters”,在右边的窗口中新建Dword值,名称设为AutoShareServer,值设为“0”。
关闭445端口:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters,新建Dword(32位)名称设为SMBDeviceEnabled值设为“0”
5、共享和发现
右键“网络”属性网络和共享中心 共享和发现--关闭,网络共享,文件共享,公用文件共享,打印机共享,显示我正在共享的所有文件和文件夹,显示这台计算机上所有共享的网络文件夹
6、用防火墙限制Ping
打开该系统的“开始”菜单,从中依次选择“程序”/“管理工具”/“服务器管理器”选项,在弹出的服务器管理器窗口中,依次展开左侧显示区域中的“配置”/“高级安全Windows防火墙”分支选项,进入WindowsServer2008服务器系统的防火墙高级安全设置窗口;
用防火墙限制Ping
其次从该设置窗口中找到“查看和创建防火墙规则”设置项,单击该设置项下面的“入站规则”选项,右侧操作列表中,单击其中的“新规则”选项,进入防火墙高级安全规则创建向导窗口,当向导窗口提示我们选择创建类型时,我们可以先选中“自定义”选项,并单击“下一步”按钮;
之后向导窗口会提示我们该规则应用于所有程序还是特定程序,此时我们可以选中“所有程序”选项,继续单击“下一步”按钮,打开如图3所示的向导设置界面,选中其中的“ICMPv4”选项,再单击“下一步”按钮,紧接着将此规则设置为匹配本地的“任何IP地址”以及远程的“任何IP地址”,再将连接条件参数设置为“阻止连接”,最后依照向导提示设置好适用该规则的具体网络环境,为安全规则取个名称,完毕后重新启动。
7、防火墙的设置
控制面板→Windows防火墙设置→更改设置→例外,勾选FTP、HTTP、远程桌面服务核心网络
HTTPS用不到可以不勾
3306:
Mysql
1433:
Mssql
8、禁用不需要的和危险的服务,以下列出服务都需要禁用。
控制面板管理工具服务
Distributedlinktrackingclient 用于局域网更新连接信息
PrintSpooler 打印服务
RemoteRegistry 远程修改注册表
Server计算机通过网络的文件、打印、和命名管道共享
TCP/IPNetBIOSHelper 提供
TCP/IP(NetBT)服务上的
NetBIOS和网络上客户端的
NetBIOS名称解析的支持
Workstation 泄漏系统用户名列表与TerminalServicesConfiguration关联
ComputerBrowser维护网络计算机更新默认已经禁用
NetLogon 域控制器通道管理默认已经手动
RemoteProcedureCall(RPC)Locator RpcNs*远程过程调用(RPC)默认已经手动
删除服务scdeleteMySql
9、安全设置-->本地策略-->安全选项
在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-->Windows设置-->安全设置-->本地策略-->安全选项
交互式登陆:
不显示最后的用户名 启用
网络访问:
不允许SAM帐户的匿名枚举 启用已经启用
网络访问:
不允许SAM帐户和共享的匿名枚举 启用
网络访问:
不允许储存网络身份验证的凭据 启用
网络访问:
可匿名访问的共享 内容全部删除
网络访问:
可匿名访问的命名管道 内容全部删除
网络访问:
可远程访问的注册表路径 内容全部删除
网络访问:
可远程访问的注册表路径和子路径 内容全部删除
帐户:
重命名来宾帐户 这里可以更改guest帐号
帐户:
重命名系统管理员帐户 这里可以更改Administrator帐号
10、安全设置-->账户策略-->账户锁定策略
在运行中输入gpedit.msc回车,打开组策略编辑器,选择计算机配置-->Windows设置-->安全设置-->账户策略-->账户锁定策略,将账户锁定阈值设为“三次登陆无效”,“锁定时间为30分钟”,“复位锁定计数设为30分钟”。
11、本地安全设置
选择计算机配置-->Windows设置-->安全设置-->本地策略-->用户权限分配
关闭系统:
只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:
加入Guests组、IUSR_*****、IWAM_*****、NETWORKSERVICE、SQLDebugger
通过终端服务允许登陆:
加入Administrators、RemoteDesktopUsers组,其他全部删除
12、更改Administrator,guest账户,新建一无任何权限的假Administrator账户
管理工具→计算机管理→系统工具→本地用户和组→用户
新建一个Administrator帐户作为陷阱帐户,设置超长密码,并去掉所有用户组
更改描述:
管理计算机(域)的内置帐户
13、密码策略
选择计算机配置-->Windows设置-->安全设置-->密码策略
启动密码必须符合复杂性要求
最短密码长度
14、禁用DCOM("冲击波"病毒RPC/DCOM漏洞)
运行Dcomcnfg.exe。
控制台根节点→组件服务→计算机→右键单击“我的电脑”→属性”→默认属性”选项卡→清除“在这台计算机上启用分布式COM”复选框。
15、ASP漏洞
主要是卸载WScript.Shell和Shell.application组件,是否删除看是否必要。
regsvr32/uC:
\WINDOWS\System32\wshom.ocx
regsvr32/uC:
\WINDOWS\system32\shell32.dll
删除可能权限不够
delC:
\WINDOWS\System32\wshom.ocx
delC:
\WINDOWS\system32\shell32.dll
如果确实要使用,或者也可以给它们改个名字。
WScript.Shell可以调用系统内核运行DOS基本命令
可以通过修改注册表,将此组件改名,来防止此类木马的危害。
HKEY_CLASSES_ROOT\WScript.Shell\及HKEY_CLASSES_ROOT\WScript.Shell.1\
改名为其它的名字,如:
改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName
自己以后调用的时候使用这个就可以正常调用此组件了
也要将clsid值也改一下
HKEY_CLASSES_ROOT\WScript.Shell\CLSID\项目的值
HKEY_CLASSES_ROOT\WScript.Shell.1\CLSID\项目的值
也可以将其删除,来防止此类木马的危害。
Shell.Application可以调用系统内核运行DOS基本命令
可以通过修改注册表,将此组件改名,来防止此类木马的危害。
HKEY_CLASSES_ROOT\Shell.Application\及HKEY_CLASSES_ROOT\Shell.Application.1\改名为其它的名字,如:
改为Shell.Application_ChangeName或Shell.Application.1_ChangeName
自己以后调用的时候使用这个就可以正常调用此组件了
也要将clsid值也改一下
HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值
HKEY_CLASSES_ROOT\Shell.Application\CLSID\项目的值
也可以将其删除,来防止此类木马的危害。
禁止Guest用户使用shell32.dll来防止调用此组件。
2000使用命令:
caclsC:
\WINNT\system32\shell32.dll/e/dguests
2003使用命令:
caclsC:
\WINDOWS\system32\shell32.dll/e/dguests
禁止使用FileSystemObject组件,FSO是使用率非常高的组件,要小心确定是否卸载。
改名后调用就要改程序了,SetFSO=Server.CreateObject("Scripting.FileSystemObject")。
FileSystemObject可以对文件进行常规操作,可以通过修改注册表,将此组件改名,来防止此类木马的危害。
HKEY_CLASSES_ROOT\Scripting.FileSystemObject\
改名为其它的名字,如:
改为FileSystemObject_ChangeName
自己以后调用的时候使用这个就可以正常调用此组件了
也要将clsid值也改一下HKEY_CLASSES_ROOT\Scripting.FileSystemObject\CLSID\项目的值
也可以将其删除,来防止此类木马的危害。
2000注销此组件命令:
RegSrv32/uC:
\WINNT\SYSTEM\scrrun.dll
2003注销此组件命令:
RegSrv32/uC:
\WINDOWS\SYSTEM\scrrun.dll
如何禁止Guest用户使用scrrun.dll来防止调用此组件?
使用这个命令:
caclsC:
\WINNT\system32\scrrun.dll/e/dguests
15、打开UAC
控制面板用户账户打开或关闭用户账户控制
16、程序权限
"net.exe","net1.exe","cmd.exe","tftp.exe","netstat.exe","regedit.exe","at.exe","attrib.exe","cacls.exe","","c.exe"
或完全禁止上述命令的执行
gpedit.msc-〉用户配置-〉管理模板-〉系统
启用阻止访问命令提示符同时也停用命令提示符脚本处理
启用阻止访问注册表编辑工具
启用不要运行指定的windows应用程序,添加下面的
at.exeattrib.exec.exenet.exenet1.exenetstat.exeregedit.exetftp.exe
17、Serv-u安全问题(个人建议不是特别高的要求没必要用serv_U可以使用FTP服务器FileZillaServer)
安装程序尽量采用最新版本,避免采用默认安装目录,设置好serv-u目录所在的权限,设置一个复杂的管理员密码。
修改serv-u的banner信息,设置被动模式端口范围(4001—4003)在本地服务器中设置中做好相关安全设置:
包括检查匿名密码,禁用反超时调度,拦截“FTPbounce”攻击和FXP,对于在30秒内连接超过3次的用户拦截10分钟。
域中的设置为:
要求复杂密码,目录只使用小写字母,高级中设置取消允许使用MDTM命令更改文件的日期。
更改serv-u的启动用户:
在系统中新建一个用户,设置一个复杂点的密码,不属于任何组。
将servu的安装目录给予该用户完全控制权限。
建立一个FTP根目录,需要给予这个用户该目录完全控制权限,因为所有的ftp用户上传,删除,更改文件都是继承了该用户的权限,否则无法操作文件。
另外需要给该目录以上的上级目录给该用户的读取权限,否则会在连接的时候出现530Notloggedin,homedirectorydoesnotexist。
比如在测试的时候ftp根目录为d:
soft,必须给d盘该用户的读取权限,为了安全取消d盘其他文件夹的继承权限。
而一般的使用默认的system启动就没有这些问题,因为system一般都拥有这些权限的。
如果FTP不是必须每天都用,不如就关了吧,要用再打开。
其它补充:
1、新做系统一定要先打上已知补丁,以后也要及时关注微软的漏洞报告。
略。
2、所有盘符根目录只给system和Administrator的权限,其他的删除。
3、将所有磁盘格式转换为NTFS格式。
命令:
convertc:
/fs:
ntfsc:
代表C盘,其他盘类推。
WIN08r2C盘一定是ntfs格式的,不然不能安装系统
4、开启WindowsWebServer2008R2自带的高级防火墙。
默认已经开启。
5、安装必要的杀毒软件如mcafee,安装一款ARP防火墙。
6、设置屏幕屏保护。
7、关闭光盘和磁盘的自动播放功能。
8、删除系统默认共享。
命令:
netsharec$/del这种方式下次启动后还是会出现,不彻底。
也可以做成一个批处理文件,然后设置开机自动执动这个批处理。
但是还是推荐下面的方法,直修改注册表的方法。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters下面新建AutoShareServer,值为0。
。
重启一下,测试。
已经永久生效了。
9、重命Administrator和Guest帐户,密码必须复杂。
GUEST用户我们可以复制一段文本作为密码,你说这个密码谁能破。
。
。
。
也只有自己了。
...
重命名管理员用户组Administrators。
10、创建一个陷阱用户Administrator,权限最低。
上面二步重命名最好放在安装IIS和SQL之前做好,那我这里就不演示了。
11、本地策略——>审核策略
审核策略更改成功失败
审核登录事件成功失败
审核对象访问失败
审核过程跟踪无审核
审核目录服务访问失败
审核特权使用失败
审核系统事件成功失败
审核账户登录事件成功失败
审核账户管理成功失败
12、本地策略——>用户权限分配
关闭系统:
只有Administrators组、其它的全部删除。
管理模板>系统显示“关闭事件跟踪程序”更改为已禁用。
这个看大家喜欢。
13、本地策略——>安全选项
交互式登陆:
不显示最后的用户名启用
网络访问:
不允许SAM帐户和共享的匿名枚举启用
网络访问:
不允许存储网络身份验证的凭据或.NETPassports启用
网络访问:
可远程访问的注册表路径全部删除
网络访问:
可远程访问的注册表路径和子路径全部删除
14、禁止dumpfile的产生。
系统属性>高级>启动和故障恢复把写入调试信息改成“无”
15、禁用不必要的服务。
TCP/IPNetBIOSHelper
Server
DistributedLinkTrackingClient
PrintSpooler
RemoteRegistry
Workstation
16、站点方件夹安全属性设置
删除C:
\inetpub目录。
删不了,不研究了。
把权限最低。
。
。
禁用或删除默认站点。
我这里不删除了。
停止即可。
一般给站点目录权限为:
System完全控制
Administrator完全控制
Users读
IIS_Iusrs读、写
在IIS7中删除不常用的映射建立站点试一下。
一定要选到程序所在的目录,这里是目录,如果只选择到wwwroot目录的话,站点就变成子目录或虚拟目录安装了,比较麻烦。
所以一定要选择站点文件所在的目录,填上主机头。
因为我们是在虚拟机上测试,所以对hosts文件修改一下,模拟用域名访问。
真实环境中,不需要修改hosts文件,直接解释域名到主机就行。
目录权限不够,这个下个教程继续说明。
至少,我们的页面已经正常了。
17、禁用IPV6。
看操作。
在windowsserver2008R2操作系统下部署weblogicwebapplication,部署完成后进行测试,发现测试页的地址使用的是隧道适配器的地址,而不是静态的ip地址,而且所在的网络并没有ipv6接入,因此决定将ipv6和隧道适配器禁用,操作如下:
禁用ipv6很简单,进入控制面板\网络和Internet\网络和共享中心单击面板右侧“更改适配器设置”进入网络连接界面,选择要设置的连接,右键选择属性,取消Internet协议版本6(TCP/IPv6)前面的选择框确定即可。
要禁用隧道适配器需要更改注册表信息,操作如下:
开始->运行->输入Regedit进入注册表编辑器
定位到:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]
右键点击Parameters,选择新建->DWORD(32-位)值
命名值为DisabledComponents,然后修改值为ffffffff(16进制)
重启后生效
DisableComponents值定义:
0,启用所有IPv6组件,默认设置
0xffffffff,禁用所有IPv6组件,除IPv6环回接口
0x20,以前缀策略中使用IPv4而不是IPv6
0x10,禁用本机IPv6接口
0x01,禁用所有隧道IPv6接口
0x11,禁用除用于IPv6环回接口所有IPv6接口
iis7的WEB服务器的安全配置
本文基于Windows 2008下使用IIS7部署的web服务器,对IIS7的各项配置进行实战分析,以提高基于此环境下的WEB服务器的安全性,以下是本人对IIS服务的配置经验总结,供大家探讨。
【关键词】IIS安全;WEB服务器安全
1、磁盘及文件夹设置
为提高系统下数据的安全性,服务器文件格式一律划分为NTFS格式,这样可以更好的配置磁盘的各种访问权限。
一般情况下,各个分区都只赋予administrators和system权限,删除其他用户的访问权限,以保证拒绝任何未授权用户的访问。
2、为站点建立相应的用户。
每个站点都使用专门建立的用户来进行权限分配,可以保证各个站点间是独立的,被隔离开的,不会互相影响的。
此类用户包含为站点建立用于匿名访问的用户和为用于应用程序池运行的用户。
匿名访问用户属于GUEST组,应用程序池运行用户属于IIS_IUSRS组。
操作方法:
右键点击“我的电脑”中,选择“管理”。
选择“本地用户和组”窗格中,右键单击“用户”,选择“新用户”。
在“新用户”对话框中,设置“用户名”、“密码”并勾选“用户不能更改密码”、“密码永不过期”,然后单击“确定”。
选择创建好的用户,右键单击用