WINSERVER安全配置服务器手册.docx
《WINSERVER安全配置服务器手册.docx》由会员分享,可在线阅读,更多相关《WINSERVER安全配置服务器手册.docx(21页珍藏版)》请在冰豆网上搜索。
![WINSERVER安全配置服务器手册.docx](https://file1.bdocx.com/fileroot1/2023-2/25/877c870e-b092-440a-bc46-57aff707ae8e/877c870e-b092-440a-bc46-57aff707ae8e1.gif)
WINSERVER安全配置服务器手册
WIN2000SERVER安全配置服务器手册
1.NTFS比FAT分区多了安全控制功能,可以对不同的文件夹设置不同的访问权限,安全性增强。
2.建议最好一次性全部安装成NTFS分区,而不要先安装成FAT分区再转化为NTFS分区,这样做在安装了SP5和SP6的情况下会导致转化不成功,甚至系统崩溃。
3.安装NTFS分区有一个潜在的危险,就是目前大多数反病毒软件没有提供对软盘启动后NTFS分区病毒的查杀,这样一旦系统中了恶性病毒而导致系统不能正常启动,后果就比较严重,因此及建议平时做好防病毒工作。
4.分区和逻辑盘的分配:
推荐的安全配置是建立三个逻辑驱动器,第一个大于2G,用来装系统和重要的日志文件,第二个放IIS,第三个放FTP,这样无论IIS或FTP出了安全漏洞都不会直接影响到系统目录和系统文件。
要知道,IIS和FTP是对外服务的,比较容易出问题。
而把IIS和FTP分开主要是为了防止入侵者上传程序并从IIS中运行。
5.安装顺序的选择:
win2000在安装中有几个顺序是一定要注意的。
首先,何时接入网络,Win2000在安装时有一个漏洞,在你输入Administrator密码后,系统就建立了ADMIN$的共享,但是并没有用你刚刚输入的密码来保护它,这种情况一直持续到你再次启动后,在此期间,任何人都可以通过ADMIN$进入你的机器;同时,只要安装一完成,各种服务就会自动运行,而这时的服务器是满身漏洞,非常容易进入的,因此,在完全安装并配置好win2000SERVER之前,一定不要把主机接入网络。
其次,补丁的安装:
补丁的安装应该在所有应用程序安装完之后,因为补丁程序往往要替换/修改某些系统文件,如果先安装补丁再安装应用程序有可能导致补丁不能起到应有的效果,例如:
IIS的HotFix就要求每次更改IIS的配置都需要安装。
6.端口是计算机和外部网络相连的逻辑接口,也是计算机的第一道屏障,端口配置正确与否直接影响到主机的安全,一般来说,仅打开你需要使用的端口会比较安全,配置的方法是在网卡属性-TCP/IP-高级-选项-TCP/IP筛选中启用TCP/IP筛选,不过对于win2000的端口过滤来说,有一个不好的特性:
只能规定开哪些端口,不能规定关闭哪些端口,这样对于需要开大量端口的用户就比较痛苦。
7.IIS是微软的组件中漏洞最多的一个,平均两三个月就要出一个漏洞,而微软的IIS默认安装又实在不敢恭维,所以IIS的配置是我们的重点,现在大家跟着我一起来:
首先,把C盘那个什么Inetpub目录彻底删掉,在D盘建一个Inetpub(要是你不放心用默认目录名也可以改一个名字,但是自己要记得)在IIS管理器中将主目录指向D:
\Inetpub;其次,那个IIS安装时默认的什么scripts等虚拟目录一概删除,如果你需要什么权限的目录可以自己慢慢建,需要什么权限开什么。
(特别注意写权限和执行程序的权限,没有绝对的必要千万不要给)第三,应用程序配置:
在IIS管理器中删除必须之外的任何无用映射,必须指的是ASP,ASA和其他你确实需要用到的文件类型,例如你用到stml等(使用serversideinclude),实际上90%的主机有了上面两个映射就够了,其余的映射几乎每个都有一个凄惨的故事:
htw,htr,idq,ida……想知道这些故事?
去查以前的漏洞列表吧。
在IIS管理器中右击主机->属性->WWW服务编辑->主目录配置->应用程序映射,然后就开始一个个删吧(里面没有全选的)。
接着在刚刚那个窗口的应用程序调试书签内将脚本错误消息改为发送文本(除非你想ASP出错的时候用户知道你的程序/网络/数据库结构)错误文本写什么?
随便你喜欢,自己看着办。
点击确定退出时别忘了让虚拟站点继承你设定的属性。
安装新的ServicePack后,IIS的应用程序映射应重新设置。
(说明:
安装新的ServicePack后,某些应用程序映射又会出现,导致出现安全漏洞。
这是管理员较易忽视的一点。
)
为了对付日益增多的cgi漏洞扫描器,还有一个小技巧可以参考,在IIS中将HTTP404ObjectNotFound出错页面通过URL重定向到一个定制HTM文件,可以让目前绝大多数CGI漏洞扫描器失灵。
其实原因很简单,大多数CGI扫描器在编写时为了方便,都是通过查看返回页面的HTTP代码来判断漏洞是否存在的,例如,著名的IDQ漏洞一般都是通过取1.idq来检验,如果返回HTTP200,就认为是有这个漏洞,反之如果返回HTTP404就认为没有,如果你通过URL将HTTP404出错信息重定向到HTTP404.htm文件,那么所有的扫描无论存不存在漏洞都会返回HTTP200,90%的CGI扫描器会认为你什么漏洞都有,结果反而掩盖了你真正的漏洞,让入侵者茫然无处下手,不过从个人角度来说,我还是认为扎扎实实做好安全设置比这样的小技巧重要的多。
最后,为了保险起见,你可以使用IIS的备份功能,将刚刚的设定全部备份下来,这样就可以随时恢复IIS的安全配置。
还有,如果你怕IIS负荷过高导致服务器满负荷死机,也可以在性能中打开CPU限制,例如将IIS的最大CPU使用率限制在70%。
8.帐号尽可能少,且尽可能少用来登录
说明:
网站帐号一般只用来做系统维护,多余的帐号一个也不要,因为多一个帐号就会多一份被攻破的危险。
a.除Administrator外,有必要再增加一个属于管理员组的帐号;
说明:
两个管理员组的帐号,一方面防止管理员一旦忘记一个帐号的口令还有一个备用帐号;另方面,一旦黑客攻破一个帐号并更改口令,我们还有有机会重新在短期内取得控制权。
b.所有帐号权限需严格控制,轻易不要给帐号以特殊权限;将Administrator重命名,改为一个不易猜的名字。
其他一般帐号也应尊循这一原则;
说明:
这样可以为黑客攻击增加一层障碍。
c.将Guest帐号禁用,同时重命名为一个复杂的名字,增加口令,并将它从Guest组删掉;
说明:
有的黑客工具正是利用了guest的弱点,可以将帐号从一般用户提升到管理员组。
d.给所有用户帐号一个复杂的口令(系统帐号出外),长度最少在8位以上,且必须同时包含字母、数字、特殊字符。
同时不要使用大家熟悉的单词(如microsoft)、熟悉的键盘顺序(如qwert)、熟悉的数字(如2000)等;
说明:
口令是黑客攻击的重点,口令一旦被突破也就无任何系统安全可言了,而这往往是不少网管所忽视的地方,据我们的测试,仅字母加数字的5位口令在几分钟内就会被攻破,而所推荐的方案则要安全的多。
e.口令必须定期更改(建议至少两周该一次),且最好记在心里,除此以外不要在任何地方做记录;另外,如果在日志审核中发现某个帐号被连续尝试,则必须立刻更改此帐号(包括用户名和口令);
说明:
在帐号属性中设立锁定次数,比如改帐号失败登录次数超过5次即锁定改帐号。
这样可以防止某些大规模的登录尝试,同时也使管理员对该帐号提高警惕。
9.Win2000的默认安装是不开任何安全审核的
你到本地安全策略->审核策略中打开相应的审核,推荐的审核是:
账户管理 成功 失败
登录事件 成功 失败
对象访问 失败
策略更改 成功 失败
特权使用 失败
系统事件 成功 失败
目录服务访问 失败
账户登录事件 成功 失败
审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义。
与之相关的还有以下的设定。
在账户策略->密码策略中设定:
密码复杂性要求启用
密码长度最小值6位
强制密码历史5次
最长存留期30天
在账户策略->账户锁定策略中设定:
账户锁定3次错误登录
锁定时间20分钟
复位锁定计数20分钟
同样,TerminalService的安全日志默认也是不开的,我们可以在TerminalServiceConfigration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了。
10.为了控制好服务器上用户的权限,同时也为了预防以后可能的入侵和溢出,NT的访问权限分为:
读取、写入、读取及执行、修改、列目录、完全控制。
在默认的情况下,大多数的文件夹对所有用户(Everyone这个组)是完全敞开的(FullControl),你需要根据应用的需要进行权限重设。
在进行权限控制时,请记住以下几个原则:
1>限是累计的:
如果一个用户同时属于两个组,那么他就有了这两个组所允许的所有权限;
2>拒绝的权限要比允许的权限高(拒绝策略会先执行)如果一个用户属于一个被拒绝访问某个资源的组,那么不管其他的权限设置给他开放了多少权限,他也一定不能访问这个资源。
所以请非常小心地使用拒绝,任何一个不当的拒绝都有可能造成系统无法正常运行;
3>文件权限比文件夹权限高;
4>利用用户组来进行权限控制是一个成熟的系统管理员必须具有的优良习惯之一;
5>仅给用户真正需要的权限,权限的最小化原则是安全的重要保障。
11.只安装一种操作系统;
说明:
安装两种以上操作系统,会给黑客以可乘之机,利用攻击使系统重启到另外一个没有安全设置的操作系统(或者他熟悉的操作系统),进而进行破坏。
12.安装成独立的域控制器(StandAlone),选择工作组成员,不选择域;
说明:
主域控制器(PDC)是局域网中队多台联网机器管理的一种方式,用于网站服务器包含着安全隐患,使黑客有可能利用域方式的漏洞攻击站点服务器。
13.将操作系统文件所在分区与WEB数据包括其他应用程序所在的分区分开,并在安装时最好不要使用系统默认的目录,如将\WINNT改为其他目录;
说明:
黑客有可能通过WEB站点的漏洞得到操作系统对操作系统某些程序的执行权限,从而造成更大的破坏。
同时如果采用IIS的话你应该在其设置中删除掉所有的无用的映射,同时不要安装索引服务,远程站点管理与服务器扩展最好也不要要,然后删掉默认路径下的www,整个删,不要手软,然后再硬盘的另一个硬盘建立存放你网站的文件夹,同时一定记得打开w3c日志纪录,切记(不过本人建议采用apache1.3.24)
系统安装过程中一定本着最小服务原则,无用的服务一概不选择,达到系统的最小安装,多一个服务,多一份风险,呵呵,所以无用组件千万不要安装!
14.关于补丁,在NT下,如果安装了补丁程序,以后如果要从NT光盘上安装新的Windows程序,都要重新安装一次补丁程序,2000下不需要这样做。
说明:
最新的补丁程序,表示系统以前有重大漏洞,非补不可了,对于局域网内服务器可以不是最新的,但站点必须安装最新补丁,否则黑客可能会利用低版本补丁的漏洞对系统造成威胁。
这是一部分管理员较易忽视的一点;
安装NT的SP5、SP6有一个潜在威胁,就是一旦系统崩溃重装NT时,系统将不会认NTFS分区,原因是微软在这两个补丁中对NTFS做了改进。
只能通过Windows2000安装过程中认NTFS,这样会造成很多麻烦,建议同时做好数据备份工作。
安装ServicePack前应先在测试机器上安装一次,以防因为例外原因导致机器死机,同时做好数据备份。
尽量不安装与WEB站点服务无关的软件;
说明:
其他应用软件有可能存在黑客熟知的安全漏洞。
15.解除NetBios与TCP/IP协议的绑定
说明:
NetBois在局域网内是不可缺少的功能,在网站服务器上却成了黑客扫描工具的首选目标。
方法:
NT:
控制面版——网络——绑定——NetBios接口——禁用2000:
控制面版——网络和拨号连接——本地网络——属性——TCP/IP——属性——高级——WINS——禁用TCP/IP上的NETBIOS。
16.删除所有的网络共享资源,在网络连接的设置中删除文件和打印共享,只留下TCP/IP协议
说明:
2000在默认情况下有不少网络共享资源,在局域网内对网络管理和网络通讯有用,在网站服务器上同样是一个特大的安全隐患。
(卸载“Microsoft网络的文件和打印机共享”。
当查看“网络和拨号连接”中的任何连接属性时,将显示该选项。
单击“卸载”按钮删除该组件;清除“Microsoft网络的文件和打印机共享”复选框将不起作用。
)
方法:
1>2000:
控制面版——管理工具——计算及管理——共享文件夹———停止共享
但上述方法太麻烦,服务器每重启一次,管理员就必须停止一次。
2>修改注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters下增加一个键
Name:
AutoShareServer
Type:
REG_DWORD
value:
0
然后重新启动您的服务器,磁盘分区共享去掉,但IPC共享仍存在,需每次重启后手工删除。
17.改NTFS的安全权限;
说明:
NTFS下所有文件默认情况下对所有人(EveryOne)为完全控制权限,这使黑客有可能使用一般用户身份对文件做增加、删除、执行等操作,建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这时需要对这些文件所在的文件夹权限进行更改,建议在做更改前先在测试机器上作测试,然后慎重更改。
18.加强数据备份;
说明:
这一点非常重要,站点的核心是数据,数据一旦遭到破坏后果不堪设想,而这往往是黑客们真正关心的东西;遗憾的是,不少网管在这一点上作的并不好,不是备份不完全,就是备份不及时。
数据备份需要仔细计划,制定出一个策略并作了测试以后才实施,而且随着网站的更新,备份计划也需要不断地调整。
19.只保留TCP/IP协议,删除NETBEUI、IPX/SPX协议;
说明:
网站需要的通讯协议只有TCP/IP,而NETBEUI是一个只能用于局域网的协议,IPX/SPX是面临淘汰的协议,放在网站上没有任何用处,反而会被某些黑客工具利用。
20.不要起用IP转发功能,控制面板->网络->协议->TCP/IP协议->属性,使这个选框为空。
(NT)
说明:
缺省情况下,NT的IP转发功能是禁止的,但注意不要启用,否则它会具有路由作用,被黑客利用来对其他服务器进行攻击。
21.安装最新的MDAC(
说明:
MDAC为数据访问部件,通常程序对数据库的访问都通过它,但它也是黑客攻击的目标,为防止以前版本的漏洞可能会被带入升级后的版本,建议卸载后安装最新的版本。
注意:
在安装最新版本前最好先做一下测试,因为有的数据访问方式或许在新版本中不再被支持,这种情况下可以通过修改注册表来档漏洞,祥见漏洞测试文档。
22.设置IP拒绝访问列表
说明:
对于WWW服务,可以拒绝一些对站点有攻击嫌疑的地址;尤其对于FTP服务,如果只是自己公司上传文件,就可以只允许本公司的IP访问改FTP服务,这样,安全性大为提高。
23.禁止对FTP服务的匿名访问
说明:
如果允许对FTP服务做匿名访问,该匿名帐户就有可能被利用来获取包多的信息,以致对系统造成危害。
24.建议使用W3C扩充日志文件格式,每天记录客户IP地址,用户名,服务器端口,方法,URI字根,HTTP状态,用户代理,而且每天均要审查日志。
(最好不要使用缺省的目录,建议更换一个记日志的路径,同时设置日志的访问权限,只允许管理员和system为FullControl)
说明:
作为一个重要措施,既可以发现攻击的迹象,采取预防措施,也可以作为受攻击的一个证据。
25.慎重设置WEB站点目录的访问权限,一般情况下,不要给予目录以写入和允许目录浏览权限。
只给予.ASP文件目录以脚本的权限,而不要给与执行权限。
说明:
目录访问权限必须慎重设置,否则会被黑客利用。
26.涉及用户名与口令的程序最好封装在服务器端,尽量少的在ASP文件里出现,涉及到与数据库连接地用户名与口令应给予最小的权限。
说明:
用户名与口令,往往是黑客们最感兴趣的东西,如果被通过某种方式看到源代码,后果是严重的。
因此要尽量减少它们在ASP文件中的出现次数。
出现次数多得用户名与口令可以写在一个位置比较隐蔽的包含文件中。
如果涉及到与数据库连接,理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户以修改、插入、删除记录的权限。
27.需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
说明:
现在的需要经过验证的ASP程序多是在页面头部加一个判断语句,但这还不够,有可能被黑客绕过验证直接进入,因此有必要跟踪上一个页面。
具体漏洞见所附漏洞文档。
28.防止ASP主页.inc文件泄露问题
当存在asp的主页正在制作并没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象,如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中察看到数据库地点和结构的细节揭示完整的源代码。
解决方案:
应该在网页发布前对其进行彻底的调试;安全专家需要褂讪asp包含文件以便外部的用户不能看他们。
首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc文件使用户无法从浏览器直接观看文件的源代码。
.inc文件的文件名不用使用系统默认的或者有特殊含义容易被用户猜测到的,尽量使用无规则的英文字母。
29.注意某些ASP编辑器会自动备份asp文件,会被下载的漏洞
在有些编辑asp程序的工具,当创建或者修改一个asp文件时,编辑器自动创建一个备份文件,比如:
UltraEdit就会备份一个.bak文件,如你创建或者修改了some.asp,编辑器自动生成一个叫some.asp.bak文件,如果你没有删除这个bak文件,攻击有可以直接下载some.asp.bak文件,这样some.asp的源程序就会给下载。
在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、javascript、VBScript语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。
同时对输入字符的长度进行限制。
而且不但在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。
说明:
输入框是黑客利用的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输入框涉及到数据查询,他们会利用特殊查询输入得到更多的数据库数据,甚至是表的全部。
因此必须对输入框进行过滤。
但如果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过,因此必须在服务器端再做一次检查。
30.防止ACCESSmdb数据库有可能被下载的漏洞
在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。
解决方法:
1>为你的数据库文件名称起个复杂的非常规的名字,并把他放在几目录下。
所谓“非常规”,打个比方:
比如有个数据库要保存的是有关书籍的信息,可不要把他起个“book.mdb”的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了。
2>不要把数据库名写在程序中。
有些人喜欢把DSN写在程序中,比如:
DBPath=Server.MapPath("cmddb.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
假如万一给人拿到了源程序,你的ACCESS数据库的名字就一览无余。
因此建议你在ODBC里设置数据源,再在程序中这样写:
conn.open"shujiyuan"
3>使用ACCESS来为数据库文件编码及加密。
首先在选取堡具->安全->加密/解密数据库,选取数据库(如:
employer.mdb),然后接确定,接着会出现“数据库加密后另存为”的窗口,存为:
employer1.mdb。
接着employer.mdb就会被编码,然后存为employer1.mdb。
要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择“独占”方式。
然后选取宝能表的“工具->安全->设置数据库密码”,接着输入密码即可。
这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
31.SQLSERVER是NT平台上用的最多的数据库系统,但是它的安全问题也必须引起重视。
数据库中往往存在着最有价值的信息,一旦数据被窃后果不堪设想。
及时更新补丁程序。
说明:
与NT一样,SQLSERVER的许多漏洞会由补丁程序来弥补。
建议在安装补丁程序之前先在测试机器上做测试,同时提前做好目标服务器的数据备份。
给SA一个复杂的口令。
说明:
SA具有对SQLSERVER数据库操作的全部权限。
遗憾的是,一部分网管对数据库并不熟悉,建立数据库的工作由编程人员完成,而这部分人员往往只注重编写SQL语句本身,对SQLSERVER数据库的管理不熟悉,这样很有可能造成SA口令为空。
这对数据库安全是一个严重威胁。
目前具有这种隐患的站点不在少数。
严格控制数据库用户的权限,轻易不要给让用户对表有直接的查询、更改、插入、删除权限,可以通过给用户以访问视图的权限,以及只具有执行存储过程的权限。
说明:
用户如果对表有直接的操作权限,就会存在数据被破坏的危险。
制订完整的数据库备份与恢复策略。
32.目前,PCANYWHERE是最流行的基于2000的远程控制工具,同样也需要注意安全问题。
建议采用单独的用户名与口令,最好采用加密手段。
千万不要采用与NT管理员一样的用户名与口令,也不要使用与NT集成的口令。
同时在服务器端的设置时务必采用securityoptions中的强加密方式,拒绝低加密水平的连接,同时采用口令加密与传输过程中的用户名与口令加密,以防止被嗅探到,还要限制连接次数,另外很重要的一点就是一定在protectitem中设置高强度的口令,同时一定限制不能够让别人看到你的host端的任何设置,即便是要察看主机端的相关设置也必须要输入口令!
说明:
PCANYWHERE口令是远程控制的第一个关口,如果与NT的一样,就失去了安全屏障。
被攻破后就毫无安全可言。
而如果采用单独的口令,即使攻破了PCANYWHERE,NT还有一个口令屏障。
及时安装较新的版本。
33.实际上,安全和应用在很多时候是矛盾的,因此,你需要在其中找到平衡点,毕竟服务器是给用户用而不是做OPENHACK的,如果安全原则妨碍了系统应用,那么这个安全原则也不是一个好的原则。
网络安全是一项系统工程,它不仅有空间的跨度,还有时间的跨度。
很多朋友(包括部分系统管理员)认为进行了安全配置的主机就是安全的,其实这其中有个误区:
我只能说一台主机在一定的情况一定的时间上是安全的随着网络结构的变化、新的漏洞的发现,管理员/用户的操作,主机的安全状况是随时随地变化着的,只有让安全意识和安全制度贯穿整个过程才能做到真正的安全。
以下是提高IIS5.0网站服务