2000server做服务器安全设置谁指点一下

2000server做服务器安全设置谁指点一下,第1张

前言
其实,在服务器安全设置方面,我虽然有一些经验,但是还谈不上有研究,所以我写这篇文章的时候心里很不踏实,总害怕说错了会误了别人的事。
本文更侧重于防止ASP漏洞攻击,所以服务器防黑等方面的讲解可能略嫌少了点。

基本的服务器安全设置
安装补丁
安装好 *** 作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。
安装杀毒软件
虽然杀毒软件有时候不能解决问题,但是杀毒软件避免了很多问题。我一直在用诺顿2004,据说2005可以杀木马,不过我没试过。还有人用瑞星,瑞星是确定可以杀木马的。更多的人说卡巴司机好,不过我没用过。
不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。
设置端口保护和防火墙、删除默认共享
都是服务器防黑的措施,即使你的服务器上没有IIS,这些安全措施都最好做上。这是阿江的盲区,大概知道屏蔽端口用本地安全策略,不过这方面的东西网上攻略很多,大家可以擞出来看看,晚些时候我或者会复制一些到我的网站上。

权限设置
阿江感觉这是防止ASP漏洞攻击的关键所在,优秀的权限设置可以将危害减少在一个IIS站点甚至一个虚拟目录里。我这里讲一下原理和设置思路,聪明的朋友应该看完这个就能解决问题了。
权限设置的原理
WINDOWS用户,在WINNT系统中大多数时候把权限按用户(组)来划分。在开始→程序→管理工具→计算机管理→本地用户和组管理系统用户和用户组。
NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。文件(夹)上右键→属性→安全在这里管理NTFS文件(夹)权限。
IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的ASP文件的时候,这个ASP文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。
权限设置的思路
要为每个独立的要保护的个体(比如一个网站或者一个虚拟目录)创建一个系统用户,让这个站点在系统中具有惟一的可以设置权限的身份。
在IIS的站点属性或者虚拟目录属性→目录安全性→匿名访问和验证控制→编辑→匿名访问→编辑填写刚刚创建的那个用户名。
设置所有的分区禁止这个用户访问,而刚才这个站点的主目录对应的那个文件夹设置允许这个用户访问(要去掉继承父权限,并且要加上超管组和SYSTEM组)。
这样设置了之后,这个站点里的ASP程序就只有当前这个文件夹的权限了,从探针上看,所有的硬盘都是红叉叉。
我的设置方法
我是先创建一个用户组,以后所有的站点的用户都建在这个组里,然后设置这个组在各个分区没有权限或者完全拒绝。然后再设置各个IIS用户在各在的文件夹里的权限。
因为比较多,所以我很不想写,其实知道了上面的原理,大多数人都应该懂了,除非不知道怎么添加系统用户和组,不知道怎么设置文件夹权限,不知道IIS站点属性在那里。真的有那样的人,你也不要着急,要沉住气慢慢来,具体的方法其实自己也能摸索出来的,我就是这样。当然,如果我有空,我会写我的具体设置方法,很傲能还会配上。

改名或卸载不安全组件
不安全组件不惊人
我的在阿江探针19里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。
其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。
最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。
谨慎决定是否卸载一个组件
组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。
比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。
卸载最不安全的组件
最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ )
regsvr32/u C:\WINNT\System32\wshomocx
del C:\WINNT\System32\wshomocx
regsvr32/u C:\WINNT\system32\shell32dll
del C:\WINNT\system32\shell32dll
然后运行一下,WScriptShell, Shellapplication, WScriptNetwork就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。
改名不安全组件
需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shellapplication为例来介绍方法。
打开注册表编辑器开始→运行→regedit回车,然后编辑→查找→填写Shellapplication→查找下一个,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shellapplication”。为了确保万无一失,把这两个注册表项导出来,保存为 reg 文件。
比如我们想做这样的更改
13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001
Shellapplication 改名为 Shellapplication_ajiang
那么,就把刚才导出的reg文件里的内容按上面的对应关系替换掉,然后把修改好的reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。
下面是我修改后的代码(两个文件我合到一起了):
Windows Registry Editor Version 500
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\InProcServer32]
@="C:\\WINNT\\system32\\shell32dll"
"ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\ProgID]
@="ShellApplication_ajiang1"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\TypeLib]
@="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\Version]
@="11"
[HKEY_CLASSES_ROOT\CLSID\{13709620-C279-11CE-A49E-444553540001}\VersionIndependentProgID]
@="ShellApplication_ajiang"
[HKEY_CLASSES_ROOT\ShellApplication_ajiang]
@="Shell Automation Service"
[HKEY_CLASSES_ROOT\ShellApplication_ajiang\CLSID]
@="{13709620-C279-11CE-A49E-444553540001}"
[HKEY_CLASSES_ROOT\ShellApplication_ajiang\CurVer]
@="ShellApplication_ajiang1"
你可以把这个保存为一个reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。
防止列出用户组和系统进程
我在阿江ASP探针19中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:
开始→程序→管理工具→服务,找到Workstation,停止它,禁用它。

防止Serv-U权限提升
其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。
用Ultraedit打开ServUDaemonexe查找Ascii:LocalAdministrator,和#l@$ak#lk;0@P,修改成等长度的其它字符就可以了,ServUAdminexe也一样处理。
另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

利用ASP漏洞攻击的常见方法及防范
一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。
如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。
作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。

后记
也许有安全高手或者破坏高手看了我的文章会嘲笑或者窃喜,但我想我的经验里毕竟还是存在很多正确的地方,有千千万万的比我知道的更少的人像我刚开始完全不懂的时候那样在渴求着这样一篇文章,所以我必须写,我不管别人怎么说我,我也不怕后世会有千千万万的人对我唾骂,我一个人承担下来,我也没有娘子需要交代的……
因为这其实只是抛砖引玉的做法,从别人的笑声中,我和我的读者们都可以学到更多有用的东西。

对于编程开发程序员来说,除了需要完成软件编程工作以外,同时也需要增加一些基础的信息安全措施。
今天我们就一起来了解一下,提高服务器安全等级的安全措施都有哪些类型。
深度防范深度防范原则是安全专业人员人人皆知的原则,它说明了冗余安全措施的价值,这是被历史所证明的。
深度防范原则可以延伸到其它领域,不仅仅是局限于编程领域。
使用过备份伞的跳伞队员可以证明有冗余安全措施是多么的有价值,尽管大家永远不希望主伞失效。
一个冗余的安全措施可以在主安全措施失效的潜在的起到重大作用。
回到编程领域,坚持深度防范原则要求您时刻有一个备份方案。
如果一个安全措施失效了,必须有另外一个提供一些保护。
例如,在用户进行重要 *** 作前进行重新用户认证就是一个很好的习惯,尽管你的用户认证逻辑里面没有已知缺陷。
如果一个未认证用户通过某种方法伪装成另一个用户,提示录入密码可以潜在地避免未认证(未验证)用户进行一些关键 *** 作。
尽管深度防范是一个合理的原则,但是过度地增加安全措施只能增加成本和降低价值。
小权限我过去有一辆汽车有一个佣人钥匙。
这个钥匙只能用来点火,所以它不能打开车门、控制台、后备箱,它只能用来启动汽车。
我可以把它给泊车员(或把它留在点火器上),我确认这个钥匙不能用于其它目的。
把一个不能打开控制台或后备箱的钥匙给泊车员是有道理的,毕竟,你可能想在这些地方保存贵重物品。
但我觉得没有道理的是为什么它不能开车门。
当然,这是因为我的观点是在于权限的收回。
我是在想为什么泊车员被取消了开车门的权限。
在编程中,这是一个很不好的观点。
相反地,你应该考虑什么权限是必须的,只能给予每个人完成他本职工作所必须的尽量少的权限。
一个为什么佣人钥匙不能打开车门的理由是这个钥匙可以被复制,而这个复制的钥匙在将来可能被用于偷车。
这个情况听起来不太可能发生,但这个例子说明了不必要的授权会加大你的风险,即使是增加了很小权限也会如此。
风险小化是安全程序开发的主要组成部分。
你无需去考虑一项权限被滥用的所有方法。
事实上,你要预测每一个潜在攻击者的动作是几乎不可能的。
简单就是美复杂滋生错误,错误能导致安全漏洞。
这个简单的事实说明了为什么简单对于一个安全的应用来说是多么重要。
没有必要的复杂与没有必要的风险一样糟糕。
暴露小化PHP应用程序需要在PHP与外部数据源间进行频繁通信。
主要的外部数据源是客户端浏览器和数据库。
如果你正确的跟踪数据,你可以确定哪些数据被暴露了。
Internet是主要的暴露源,这是因为它是一个非常公共的网络,您必须时刻小心防止数据被暴露在Internet上。
数据暴露不一定就意味着安全风险。
可是数据暴露必须尽量小化。
例如,一个用户进入支付系统,在向你的服务器传输他的xyk数据时,你应该用SSL去保护它。
如果你想要在一个确认页面上显示他的xyk号时,由于该卡号信息是由服务器发向他的客户端的,你同样要用SSL去保护它。
比如前面的例子,显示xyk号显然增加了暴露的机率。
SSL确实可以降低风险,但是佳的解决方案是通过只显示后四位数,从而达到彻底杜绝风险的目的。
为了降低对敏感数据的暴露率,洛阳电脑培训>

对于编程开发程序员来说,除了需要完成软件编程工作以外,同时也需要增加一些基础的信息安全措施。今天我们就一起来了解一下,提高服务器安全等级的安全措施都有哪些类型。



深度防范

深度防范原则是安全专业人员人人皆知的原则,它说明了冗余安全措施的价值,这是被历史所证明的。

深度防范原则可以延伸到其它领域,不仅仅是局限于编程领域。使用过备份伞的跳伞队员可以证明有冗余安全措施是多么的有价值,尽管大家永远不希望主伞失效。一个冗余的安全措施可以在主安全措施失效的潜在的起到重大作用。

回到编程领域,坚持深度防范原则要求您时刻有一个备份方案。如果一个安全措施失效了,必须有另外一个提供一些保护。例如,在用户进行重要 *** 作前进行重新用户认证就是一个很好的习惯,尽管你的用户认证逻辑里面没有已知缺陷。如果一个未认证用户通过某种方法伪装成另一个用户,提示录入密码可以潜在地避免未认证(未验证)用户进行一些关键 *** 作。

尽管深度防范是一个合理的原则,但是过度地增加安全措施只能增加成本和降低价值。

小权限

我过去有一辆汽车有一个佣人钥匙。这个钥匙只能用来点火,所以它不能打开车门、控制台、后备箱,它只能用来启动汽车。我可以把它给泊车员(或把它留在点火器上),我确认这个钥匙不能用于其它目的。

把一个不能打开控制台或后备箱的钥匙给泊车员是有道理的,毕竟,你可能想在这些地方保存贵重物品。但我觉得没有道理的是为什么它不能开车门。当然,这是因为我的观点是在于权限的收回。我是在想为什么泊车员被取消了开车门的权限。在编程中,这是一个很不好的观点。相反地,你应该考虑什么权限是必须的,只能给予每个人完成他本职工作所必须的尽量少的权限。

一个为什么佣人钥匙不能打开车门的理由是这个钥匙可以被复制,而这个复制的钥匙在将来可能被用于偷车。这个情况听起来不太可能发生,但这个例子说明了不必要的授权会加大你的风险,即使是增加了很小权限也会如此。风险小化是安全程序开发的主要组成部分。

你无需去考虑一项权限被滥用的所有方法。事实上,你要预测每一个潜在攻击者的动作是几乎不可能的。

简单就是美

复杂滋生错误,错误能导致安全漏洞。这个简单的事实说明了为什么简单对于一个安全的应用来说是多么重要。没有必要的复杂与没有必要的风险一样糟糕。

暴露小化

PHP应用程序需要在PHP与外部数据源间进行频繁通信。主要的外部数据源是客户端浏览器和数据库。如果你正确的跟踪数据,你可以确定哪些数据被暴露了。Internet是主要的暴露源,这是因为它是一个非常公共的网络,您必须时刻小心防止数据被暴露在Internet上。

数据暴露不一定就意味着安全风险。可是数据暴露必须尽量小化。例如,一个用户进入支付系统,在向你的服务器传输他的xyk数据时,你应该用SSL去保护它。如果你想要在一个确认页面上显示他的xyk号时,由于该卡号信息是由服务器发向他的客户端的,你同样要用SSL去保护它。

比如前面的例子,显示xyk号显然增加了暴露的机率。SSL确实可以降低风险,但是佳的解决方案是通过只显示后四位数,从而达到彻底杜绝风险的目的。

为了降低对敏感数据的暴露率,回龙观电脑培训认为你必须确认什么数据是敏感的,同时跟踪它,并消除所有不必要的数据暴露。在本书中,我会展示一些技巧,用以帮助你实现对很多常见敏感数据的保护。

及时安装系统补丁:不论是Windows还是Linux,任何 *** 作系统都有漏洞,及时的打上补丁避免漏洞被蓄意攻击利用,是服务器安全最重要的保证之一。

安装和设置防火墙:现在有许多基于硬件或软件的防火墙,很多安全厂商也都推出了相关的产品。对服务器安全而言,安装防火墙非常必要。防火墙对于非法访问具有很好的预防作用,但是安装了防火墙并不等于服务器安全了。在安装防火墙之后,你需要根据自身的网络环境,对防火墙进行适当的配置以达到最好的防护效果。

安装网络:现在网络上的病毒非常猖獗,这就需要在网络服务器上安装网络版的杀毒软件来控制病毒传播,同时,在网络杀毒软件的使用中,必须要定期或及时升级杀毒软件,并且每天自动更新病毒库。

关闭不需要的服务和端口:服务器 *** 作系统在安装时,会启动一些不需要的服务,这样会占用系统的资源,而且也会增加系统的安全隐患。对于一段时间内完全不会用到的服务器,可以完全关闭;对于期间要使用的服务器,也应该关闭不需要的服务,如Telnet等。另外,还要关掉没有必要开的TCP端口。

定期对服务器进行备份:为防止不能预料的系统故障或用户不小心的非法 *** 作,必须对系统进行安全备份。除了对全系统进行每月一次的备份外,还应对修改过的数据进行每周一次的备份。同时,应该将修改过的重要系统文件存放在不同服务器上,以便出现系统崩溃时(通常是硬盘出错),可以及时地将系统恢复到正常状态。

账号和密码保护:账号和密码保护可以说是服务器系统的第一道防线,目前网上大部分对服务器系统的攻击都是从截获或猜测密码开始。一旦黑客进入了系统,那么前面的防卫措施几乎就失去了作用,所以对服务器系统管理员的账号和密码进行管理是保证系统安全非常重要的措施。

监测系统日志:通过运行系统日志程序,系统会记录下所有用户使用系统的情形,包括最近登录时间、使用的账号、进行的活动等。日志程序会定期生成报表,通过对报表进行分析,你可以知道是否有异常现象。

我们常说的服务器加固,其实是指服务器安全加固。

一台服务器装好系统后,加固策略是少不掉的。虽然没有谁强制要求对服务器进行加固 *** 作,但是不加固的服务器受到攻击的风险会更大。

服务器加固方案很多,主要有以下几个大点:

1、系统帐号安全

主要是保障服务器帐号安全的,防止密码被盗,主要措施有:

密码复杂度

禁止超管用户直接登录

跳板机机制

密码最大错误次数,一旦超过则禁止当前IP访问服务器

密码有效期管理,定期由系统强制要求用户更新密码

密钥登录

2、目录及文件权限

很多木马之所以能被上传和执行,文件权限过大也是很重要的因素。我们严格控制了目录及文件权限,就能最大程度限制涉及文件类的 *** 作,主要是针对不同目录和文件的读(R)、写(W)、执行(X)权限。

3、防火墙规则

防火墙规则可以控制开放哪些端口的访问权限,还可以控制哪些IP可以访问服务器等。

4、系统和程序漏洞

不管是Windows还是Linux系统,或多或少都存在漏洞,对于危害较大的漏洞要及时修复。

另外,只要是程序都有可能存在漏洞,特别是遇到一些不靠谱的程序员,漏洞更多。

5、关闭不必要的系统服务

禁止不必要的系统服务,一方面节省服务器资源,另一方面减少可能的漏洞利用或者提权风险。

6、日志记录

能记录用户进行的 *** 作,以便发现问题时溯源,找到是谁 *** 作的。

7、备份还原机制

以防万一,很有必要。

综上,服务器加固涉及的工作很多很繁琐,以上就是我的经验之谈。如果大家有其它见解,欢迎在下方评论区留言交流哦~

服务器安全包括如下几个方面:
1、物理安全:服务器的硬盘,电源,主板,赖以维持服务器正常工作的硬件,都是需要进行定期维护确保安全的,只有保证这些硬件的绝对安全才能保证我们的服务器能正常运行。
2、软件安全:软件安全包括系统安全,服务安全,漏洞安全,密码安全,网络安全
①、系统安全:系统本身是有很多一般都是比较安全的只要我们打好足够的补丁,但是系统文件我们创建好的网站目录权限,系统盘的关键位置例如temp的位置的权限设置。
②、服务安全:注册表和服务项一定要仔细进行检查严禁远程修改。
③、密码安全:对于弱密码要立即进行修改,密码强度要有数字加英文以及特殊符号进行整改
④、网络安全:防cc,抗doss是我们服务器安全很常见的问题了。也是防止木马病毒的入侵的必要的手段。
⑤、资源安全:进行资源监控保证资源不被篡改入侵是针对服务器一项很重要的安全措施能够及时帮助我们找出被篡改的资源,以及进行告警来帮助我们更好的管理服务器安全。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13458520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-11
下一篇 2023-08-11

发表评论

登录后才能评论

评论列表(0条)

保存