Windows服务器安全配置指南
1)、系统安全基本设置
2)、关闭不需要的服务
Computer Browser:维护网络计算机更新,禁用
Distributed File System: 局域网管理共享文件,不需要禁用
Distributed linktracking client:用于局域网更新连接信息,不需要禁用
Error reporting service:禁止发送错误报告
Microsoft Serch:提供快速的单词搜索,不需要可禁用
NTLMSecuritysupportprovide:telnet服务和Microsoft Serch用的,不需要禁用
PrintSpooler:如果没有打印机可禁用
Remote Registry:禁止远程修改注册表
Remote Desktop Help Session Manager:禁止远程协助 其他服务有待核查
3)、设置和管理账户
1、将Guest账户禁用并更改名称和描述,然后输入一个复杂的密码
2、系统管理员账户最好少建,更改默认的管理员帐户名(Administrator)和描述,密码最好采用数字加大小写字母加数字的上档键组合,长度最好不少于10位
3、新建一个名为Administrator的陷阱帐号,为其设置最小的权限,然后随便输入组合的最好不低于20位的密码
4、计算机配置-Windows设置-安全设置-账户策略-账户锁定策略,将账户设为“三次登陆无效 时间为30分钟
5、在安全设置-本地策略-安全选项中将“不显示上次的用户名”设为启用
6、 在安全设置-本地策略-用户权利分配中将“从网络访问此计算机”中只保留Internet来宾账户、启动IIS进程账户,Aspnet账户
7、创建一个User账户,运行系统,如果要运行特权命令使用Runas命令。
4)、打开相应的审核策略
审核策略更改:成功
审核登录事件:成功,失败
审核对象访问:失败
审核对象追踪:成功,失败
审核目录服务访问:失败
审核特权使用:失败
审核系统事件:成功,失败
审核账户登录事件:成功,失败
审核账户管理:成功,失败
5)、 其它安全相关设置
1、禁止C、D、D、ADMIN$一类的缺省共享
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters,在右边的 窗口中新建Dword值,名称设为AutoShareServer值设为0
2、解除NetBios与TCP/IP协议的绑定
右击网上邻居-属性-右击本地连接-属性-双击Internet协议-高级-Wins-禁用TCP/IP上的 NETBIOS
3、隐藏重要文件/目录
可以修改注册表实现完全隐藏: “HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrent-VersionExplorerAdvancedFol derHi-ddenSHOWALL”,鼠标右击“CheckedValue”,选择修改,把数值由1改为0
4、防止SYN洪水攻击
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名为SynAttackProtect,值为2
5、 禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfacesinterface 新建DWORD值,名为PerformRouterDiscovery 值为0
6. 防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 将EnableICMPRedirects 值设为0
7、 不支持IGMP协议
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters 新建DWORD 值,名为IGMPLevel 值为0
8、禁用DCOM:运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子 文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属 性”。选择“默认属性”选项卡。清除“在这台计算机上启用分布式 COM”复选框。
9、终端服务的默认端口为3389,可考虑修改为别的端口。
修改方法为: 服务器端:打开注册表,在“HKLM\SYSTEM\Current ControlSet\Control\Terminal Server\Win Stations” 处找到类似RDP-TCP的子键,修改PortNumber值。 客户端:按正常步骤建一个客户端连接,选中这个连接,在“文件”菜单中选择导出,在指定位置会 生成一个后缀为.cns的文件。打开该文件,修改“Server Port”值为与服务器端的PortNumber对应的 值。然后再导入该文件(方法:菜单→文件→导入),这样客户端就修改了端口。
6)、配置 IIS 服务
1、不使用默认的Web站点,如果使用也要将 将IIS目录与系统磁盘分开。
2、删除IIS默认创建的Inetpub目录(在安装系统的盘上)。
3、删除系统盘下的虚拟目录,如:_vti_bin、IISSamples、Scripts、IIShelp、IISAdmin、IIShelp、 MSADC。
4、删除不必要的IIS扩展名映射。 右键单击“默认Web站点→属性→主目录→配置”,打开应用程序窗口,去掉不必要的应用程序映 射。主要为.shtml, .shtm, .stm
5、更改IIS日志的路径 右键单击“默认Web站点→属性-网站-在启用日志记录下点击属性
6、如果使用的是2000可以使用iislockdown来保护IIS,在2003运行的IE6.0的版本不需要。
7、使用UrlScan
UrlScan是一个ISAPI筛选器,它对传入的HTTP数据包进行分析并可以拒绝任何可疑的通信量。 目前最新的版本是2.5,如果是2000Server需要先安装1.0或2.0的版本。 如果没有特殊的要求采用UrlScan默认配置就可以了。 但如果你在服务器运行ASP.NET程序,并要进行调试你需打开要 %WINDIR%System32InetsrvURLscan,文件夹中的URLScan.ini 文件,然后在UserAllowVerbs节添 加debug谓词,注意此节是区分大小写的。 如果你的网页是.asp网页你需要在DenyExtensions删除.asp相关的内容。 如果你的网页使用了非ASCII代码,你需要在Option节中将AllowHighBitCharacters的值设为1 在对URLScan.ini 文件做了更改后,你需要重启IIS服务才能生效,快速方法运行中输入iisreset 如果你在配置后出现什么问题,你可以通过添加/删除程序删除UrlScan。
8、利用WIS (Web Injection Scanner)工具对整个网站进行SQL Injection 脆弱性扫描.
7)、配置Sql服务器
1、System Administrators 角色最好不要超过两个
3、不要使用Sa账户,为其配置一个超级复杂的密码
4、删除以下的扩展存储过程格式为:
use master sp_dropextendedproc '扩展存储过程名'
xp_cmdshell:是进入操作系统的最佳捷径,删除 访问注册表的存储过程,
删除
Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regwrite Xp_regremovemultistring
OLE自动存储过程,不需要删除
Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty Sp_OAMethod Sp_OASetProperty Sp_OAStop
5、隐藏 SQL Server、更改默认的1433端口
右击实例选属性-常规-网络配置中选择TCP/IP协议的属性,选择隐藏 SQL Server 实例,并改原默 认的1433端口。
8)、修改系统日志保存地址 默认位置为 应用程序日志、安全日志、系统日志、DNS日志默认位置:%systemroot%\system32\config,默认 文件大小512KB,管理员都会改变这个默认大小。
安全日志文件:%systemroot%\system32\config\SecEvent.EVT 系统日志文件:%systemroot%\system32\config\SysEvent.EVT 应用程序日志文件:%systemroot%\system32\config\AppEvent.EVT Internet信息服务FTP日志默认位置:%systemroot%\system32\logfiles\msftpsvc1\,默认每天一个日 志 Internet信息服务WWW日志默认位置:%systemroot%\system32\logfiles\w3svc1\,默认每天一个日 志 Scheduler(任务计划)服务日志默认位置:%systemroot%\schedlgu.txt 应用程序日志,安全日志,系统日志,DNS服务器日志,它们这些LOG文件在注册表中的: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog Schedluler(任务计划)服务日志在注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent SQL 删掉或改名xplog70.dll [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters] "AutoShareServer"=dword:00000000 "AutoShareWks"=dword:00000000 // AutoShareWks 对pro版本 // AutoShareServer 对server版本 // 0
禁止管理共享admin,c,c,d之类默认共享[HKEYLOCALMACHINE\System\CurrentControlSet\Control\LSA]"restrictanonymous"=dword:00000001//0x1匿名用户无法列举本机用户列表//0x2匿名用户无法连接本机IPC之类默认共享[HKEYLOCALMACHINE\System\CurrentControlSet\Control\LSA]"restrictanonymous"=dword:00000001//0x1匿名用户无法列举本机用户列表//0x2匿名用户无法连接本机IPC共享(可能sql server不能够启动
9)、本地安全策略
1.只开放服务需要的端口与协议。 具体方法为:按顺序打开“网上邻居→属性→本地连接→属性→Internet 协议→属性→高级→选项→ TCP/IP筛选→属性”,添加需要的TCP、UDP端口以及IP协议即可。根据服务开设口,常用的TCP 口有:80口用于Web服务;21用于FTP服务;25口用于SMTP;23口用于Telnet服务;110口 用于POP3。常用的UDP端口有:53口-DNS域名解析服务;161口-snmp简单的网络管理协议。 8000、4000用于OICQ,服务器用8000来接收信息,客户端用4000发送信息。 封TCP端口: 21(FTP,换FTP端口)23(TELNET),53(DNS),135,136,137,138,139,443,445,1028,1433,3389 可封TCP端口:1080,3128,6588,8080(以上为代理端口).25(SMTP),161(SNMP),67(引导) 封UDP端口:1434(这个就不用说了吧) 封所有ICMP,即封PING 以上是最常被扫的端口,有别的同样也封,当然因为80是做WEB用的
2、禁止建立空连接 默认情况下,任何用户可通过空连接连上服务器,枚举账号并猜测密码。空连接用的端口是139, 通过空连接,可以复制文件到远端服务器,计划执行一个任务,这就是一个漏洞。可以通过以下两 种方法禁止建立空连接:
(1) 修改注册表中 Local_Machine\System\ CurrentControlSet\Control\LSA-RestrictAnonymous 的值为1。
(2) 修改Windows 2000的本地安全策略。设置“本地安全策略→本地策略→选项”中的 RestrictAnonymous(匿名连接的额外限制)为“不容许枚举SAM账号和共享”。 首先,Windows 2000的默认安装允许任何用户通过空连接得到系统所有账号和共享列表,这本来 是为了方便局域网用户共享资源和文件的,但是,同时任何一个远程用户也可以通过同样的方法得 到您的用户列表,并可能使用暴力法破解用户密码给整个网络带来破坏。很多人都只知道更改注册 表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止空用户连接, 实际上Windows 2000的本地安全策略里(如果是域服务器就是在域服务器安全和域安全策略里) 就有RestrictAnonymous选项,其中有三个值:“0”这个值是系统默认的,没有任何限制,远程用户 可以知道您机器上所有的账号、组信息、共享目录、网络传输列表(NetServerTransportEnum)等;“1” 这个值是只允许非NULL用户存取SAM账号信息和共享信息;“2”这个值只有Windows 2000才支 持,需要注意的是,如果使用了这个值,就不能再共享资源了,所以还是推荐把数值设为“1”比较 好。
10)、防止asp木马
1、基于FileSystemObject组件的asp木马
cacls %systemroot%\system32\scrrun.dll /e /d guests //禁止guests使用 regsvr32 scrrun.dll /u /s //删除
2.基于shell.application组件的asp木马
cacls %systemroot%\system32\shell32.dll /e /d guests //禁止guests使用 regsvr32 shell32.dll /u /s //删除
3.将图片文件夹的权限设置为不允许运行。
4.如果网站中不存在有asp的话,禁用asp
11)、防止SQL注入
1.尽量使用参数化语句
2.无法使用参数化的SQL使用过滤。
3.网站设置为不显示详细错误信息,页面出错时一律跳转到错误页面。
4.不要使用sa用户连接数据库
5、新建一个public权限数据库用户,并用这个用户访问数据库 6、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限
最后强调一下,以上设置可能会影响到有些应用服务,例如导至不能连接上远程服务器,
因此强烈建议,以上设置首先在本地机器或虚拟机(VMware Workstation)上做好设置,确定没事之后然后再在服务器上做
Windows服务器安全配置指南的更多相关文章
- 【转】CentOS 6 服务器安全配置指南
原文连接: CentOS 6 服务器安全配置指南(通用) Linux 是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入 L ...
- Windows服务器防火墙配置规范
本文属于一篇内部规范文档,整理的初衷是为了规范.统一集团的Windows服务器(仅仅SQL Server数据库服务器)防火墙设置,仅仅供内部其它同事设置Windows防火墙时作为参考的文档资料.如有不 ...
- [转帖]CentOS 6 服务器安全配置指南(通用)
CentOS 6 服务器安全配置指南(通用) http://seanlook.com/2014/09/07/linux-security-general-settings/ 发表于 2014-09- ...
- 苹果ATS特性服务器证书配置指南
配置指南: 需要配置符合PFS规范的加密套餐,目前推荐配置: ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!AD ...
- windows服务器下配置memcache最大内存值
windows服务器下修改memcache配置要求如下: 1.用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务放在192.168.1.168的服务器上 2.修 ...
- Windows服务器初始配置
系统状态是否良好 检查ip地址.子网掩码等配置 防火墙是否关闭 是否有攻击,有多大的攻击,什么类型的攻击,攻击流量图 是否中病毒 1.改端口 (1)打开注册表 [HKEY_LOCAL_MACHINE\ ...
- Windows服务器无法配置IP
前天在给一台服务器配置IP地址的时候发现一个奇怪的问题.IP地址配置之后不生效,还是使用的169.254这个微软保留自动分配地址.由于这个是一台虚拟机,尝试了删除添加网卡也没有用.配置IP不成功的时候 ...
- Windows服务器PHPstudy配置安装微擎教程
此教程只适于无环境的新服务器,有环境请勿安装用电脑上面的远程桌面连接登陆服务器.1,下载微擎安装包,下载PHPstudy,下载V9运行库.安装PHPstudy.安装V9运行库.准备好3个. <i ...
- [环境部署] Windows Server 2016 配置指南 之 安装 Redis3.0
Redis是一个开源的高级key-value(键-值)缓存与存储,以高性能著称.用于做对象缓存,可以获得极佳的性能体验,可是 Redis 的官方开发团队并没有开发针对 Windows 的版本,不过还好 ...
随机推荐
- Mac开发中遇到的一些小问题解析
通过mac开发的过程中,有一些小问题出现,列如下,后续会持续增加: 1. 命令行清空废纸篓(jar包太多,倾倒废纸篓太慢) sudo rm -rfv ~/.Trash /Volumes/*/.Tras ...
- 【数据结构与算法】001—栈与队列(Python)
栈与队列 1.栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出(last in first out,LIFO)的特征 2.队列(queue)是一种具有先进先出 ...
- 嵌入式C语言自我修养 03:宏构造利器:语句表达式
3.1 基础复习:表达式.语句和代码块 表达式 表达式和语句是 C 语言中的基础概念.什么是表达式呢?表达式就是由一系列操作符和操作数构成的式子.操作符可以是 C 语言标准规定的各种算术运算符.逻辑运 ...
- SQL Server 2008 R2 Express Profiler
I successfully installed SQL Server Profiler 2008 R2 Profiler without uninstalling SQL 2008 R2 Expre ...
- 20155220 吴思其 《网络攻防》 Exp1 PC平台逆向破解(5)M
20155220 <网络攻防> Exp1 PC平台逆向破解(5)M 实践内容 通过对实践对象--20155220pwn1的linux可执行文件的修改或输入,完成以下三块: 手工修改可执行文 ...
- updated stream stash changes
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理. 1.先将本地修改存储起来 $ git stash 这样本地的所有修改就都被暂时存储起来 .是用git stas ...
- python之打包、发布模块
一.python中针对于写好的模块,并且比人也可以使用改模块,这样就可以以同意的打出来,让别人安装或者赋值过后可以更好的使用以及集成. 二.最近在学习python所以这里主要是记录一下python的打 ...
- 关于iptables命令
iptables 指令语法:iptables [-t table] command [match] [-j target/jump]-t 参数用来指定规则表,内建的规则表有三个,分别是:nat.man ...
- JAVAWEB和数据库 Mysql连接不上的原因及解决方案
有可能是安装了phpstudy或者wampserver这类自带mysql的web集成环境, 在关闭集成环境时误关了相对应的mysql服务,所以我们需要手动启动服务. 启动mysql的命令: net s ...
- AJAX其实就是一个异步网络请求
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).其实就是一个异步网络请求. 一.创建对象 var xmlhttp; if (w ...