您的需求已经提交,我们将在48小时内联系您
全国服务热线:400-1000-221
确定
免费享受企业级云安全服务
获取手机验证码
{{message}}
免费试用

怎么加固服务器?服务器安全防御加固的方法有哪些?

作者:
发布时间:2020-08-12

  随着技术的变革和发展,服务器安全重心同样也是一直在变换,从最早的防火墙、防病毒,到现在的行为审计、waf、虚拟浏览器等等。但是最最关键的还是服务器本身的加固,这是一切服务器安全的基础。那么怎么加固服务器?服务器安全防御加固的方法有哪些?我们一起来了解下吧。

怎么加固服务器

怎么加固服务器

 

  怎么加固服务器?服务器加固是给服务器上一把锁,业务系统的服务器都很脆弱,即使装了杀毒软件,部署了防火墙,并定时打补丁,但仍然会有各种风险,各种中毒,各种被入侵,核心数据还是会被偷窥、被破坏、被篡改、被偷走。所以服务器加固的工作一定要做好,下面我们就来了解下怎么加固服务器

  一、设置命令权限

  默认设置下,webshell中可以调用一些对服务器构 成危险的系统命令,因此要对这些命令进行权限限制。需要限制权限的命令主要 有:cmd.exe net.exe net1.exe ping.exe netstat.exe ftp.exe tftp.exe telnet.exe等。

  对这些命令单独进行设置,设置为只允许administrators组访问,这样既防止攻击者新建用户对系统进行修改,也可以防范通过 Serv-U的本地提升权限漏洞来运行这些关键的程序了。特别提醒的是要删除cacls.exe这个程序,防止有人通过命令行来修改权限。(图1)

  个人秘笈:在系统目录下放一个和cmd.exe同名的监控程序,并赋予它eventone运行权限。这样只要攻击者在websehll中调用 cmd.exe就可以触发监控程序,记录并追查攻击者的踪迹,让他偷鸡不成反蚀一把米。为我们发现入侵,直至找到攻击者做准备。

  二、设置目录权限

  设置的原则是让IIS以最小的权限运行,但也不至于把自己捆住。

  1、选取整个硬盘:

  system:完全控制

  administrator:完全控制

  (允许将来自父系的可继承性权限传播给对象) (图2)

  2、c:program filescommon files:

  everyone:读取及运行

  列出文件目录

  读取

  (允许将来自父系的可继承性权限传播给对象)

  3、c:inetpubwwwroot:

  iusr_machinename:读取及运行

  列出文件目录

  读取

  (允许将来自父系的可继承性权限传播给对象)

  4、c:windowssystem32:

  选择除inetsrv和centsrv以外的所有目录,

  去除“允许将来自父系的可继承性权限传播给对象”选框,复制。

  5、c:windows:

  选择除了downloaded program files、help、iis temporary compressed files、

  offline web pages、system32、tasks、temp、web以外的所有目录

  去除“允许将来自父系的可继承性权限传播给对象”选框,复制。

  6、c:windows:

  everyone:读取及运行

  列出文件目录

  读取

  (允许将来自父系的可继承性权限传播给对象)

  7、c:windowstemp:(允许访问数据库并显示在asp页面上)

  everyone:修改

  (允许将来自父系的可继承性权限传播给对象)

  三、与组件相关的设置

  1、shell.application组件删除

  再来去掉一些ASP WEBSHELL需要使用的一些组件,这些组件其实普通的虚拟主机用户也是用不上的。

  很多防范ASP木马的文章都提到要删除FileSystemObject组件,但删除了这个组件后,很多ASP的程序可能会运行不了,其实只要 做好了前面的工作,FileSystemObject组件能操作的,只能是自己目录下的文件,也就构成不了什么威胁了!

  现在看来,还比较有威胁的组件就是Shell.Application和Wscript.Shell这两个组件 了,Shell.Application可以对文件进行一些操作,还可以执行程序,但不能带参数,而Wscript.Shell可以操作注册表和执行 DOS命令。

  2、防范Wscript.Shell组件的方法:

  可以通过修改注册表,将此组件改名。

  HKEY_CLASSES_ROOTWScript.Shell及HKEY_CLASSES_ROOTWScript.Shell.1

  改名为其它的名字,如:改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName自己以 后调用的时候使用这个就可以正常调用此组件了 (图3)

  也要将clsid值也改一下

  HKEY_CLASSES_ROOTWScript.ShellCLSID项目的值

  HKEY_CLASSES_ROOTWScript.Shell.1CLSID项目的值

  也可以将其删除,来防止此类木马的危害。

  3、防范Shell.Application组件的方法:

  可以通过修改注册表,将此组件改名。

  HKEY_CLASSES_ROOTShell.Application 及

  HKEY_CLASSES_ROOTShell.Application.1

  改名为其它的名字,如:改为Shell.Application_ChangeName或 Shell.Application.1_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了。

  也要将clsid值也改一下

  HKEY_CLASSES_ROOTShell.ApplicationCLSID项目的值 (图4)

  也可以将其删除,来防止此类木马的危害。

  四、综合设置(针对虚拟主机)

  说明:FileSystemObject(FS0)这个组件为 ASP 提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,但是禁止 此组件后,引起的后果就是所有利用这个组件的 ASP将无法运行,无法满足我们的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢?

  1、目录权限设置。

  在服务器上打开资源管理器,用鼠标右键点击各个硬盘分 区或卷的盘符,在弹出菜单中选择“属性”,选择“安全”选项卡,此时就可以看到有哪些帐号 可以访问这个分区(卷)及访问权限。默认安装后,出现的是“Everyone”具有完全控制的权限。点“添加”,将“Administrators”、 “Backup Operators”、“Power Users”、“Users”等几个组添加进去,并给予“完全控制”或相应的权限,注意,不要给“Guests”组、“IUSR_机器名”这几个帐号任何 权限。然后将“Everyone”组从列表中删除,这样,就只有授权的组和用户才能访问此硬盘分区了,而 ASP 执行时,是以“IUSR_机器名”的身份访问硬盘的,这里没给该用户帐号权限,ASP 也就不能读写硬盘上的文件了。(图5)

  2、创建客户账号

  给每个虚拟主机用户设置一个单独的用户帐号,然后再给每个帐号分配一个允许其完全控制的目录。

  第一步:打开“计算机管理”→“本地用户和组”→“用户”,在右栏中点击鼠标右键,在弹出的菜单中选择“新用户”:在弹出的“新用户”对话框中 根据实际需要输入“用户名”、“全名”、“描述”、“密码”、“确认密码”,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和 “密码永不过期”。本例是给第一虚拟主机的用户建立一个匿名访问 Internet 信息服务的内置帐号“lw1”,即:所有客户端使用http://www.xxx.com 访问此虚拟主机时,都是以这个身份来访问的。输入完成后点“创建”即可。可以根据实际需要,创建多个用户,创建完毕后点“关闭”。(图6)

  第二步:在列表中双击该帐号,以便进一步进行设置:在弹出的“lw1”(即刚才创建的新帐号)属性对话框中点“隶属于”选项卡:刚建立的帐号默 认是属于“Users”组,选中该组,点“删除”:现在出现的是如下图所示,此时再点“添加”:在弹出的“选择组”对话框中找到“Guests”,点“添 加”,此组就会出现在下方的文本框中,然后点“确定”:出现的就是如下图所示的内容,点“确定”关闭此对话框。(图7)

  3、IIS设置

  第一步:打开“Internet 信息服务”,开始对虚拟主机进行设置,本例中的以对“第一虚拟主机”设置为例进行说明,右击该主机名,在弹出的菜单中选择“属性”,弹出一个“第一虚拟主 机 属性”的对话框,从对话框中可以看到该虚拟主机用户的使用的是“E:LW1”这个文件夹。(图8)

  第二步:切换到“资源管理器”,找到“E:LW1”这个文件夹,右击,选“属性”→“安全”选项卡,此时可以看到该文件夹的默认安全设置是 “Everyone”完全控制(视不同情况显示的内容不完全一样),首先将最将下的“允许将来自父系的可继承权限传播给该对象”前面的对号去掉:此时会弹 出如下图所示的“安全”警告,点“删除”。(图9)

  第三步:切换到前面打开的“第一虚拟主机 属性”的对话框,打开“目录安全性”选项卡,点匿名访问和验证控制的“编辑”在弹出的“验证方法”对方框,点“编辑”弹出了“匿名用户帐号”,默认的就是 “IUSR_机器名”,点“浏览”在“选择 用户”对话框中找到前面创建的新帐号“lw1”,双击此时匿名用户名就改过来了,在密码框中输入前面创建时,为该帐号设置的密码,再确定一遍密码。OK, 完成了,点确定关闭这些对话框。 (图10)

  提示:如果该用户需要读取硬盘的分区容量及硬盘的序列号,那这样的设置将使其无法读取。如果要允许其读取这些和整个分区有关的内容,请右键点击 该硬盘的分区(卷),选择“属性”→“安全”,将这个用户的帐号添加到列表中,并至少给予“读取”权限。由于该卷下的子目录都已经设置为“禁止将来自父系 的可继承权限传播给该对象”,所以不会影响下面的子目录的权限设置。

  小结:经此设置后,“第一虚拟主机”的用户,使用ASP的 FileSystemObject 组件也只能访问自己的目录:E:LW1下的内容,当试图访问其他内容时,会出现诸如“没有权限”、“硬盘未准备好”、“500 服务器内部错误”等出错提示了。(图11)

  总结:经过了这样的设置,就算攻击者拿到了Webshell,至多对当前的网站进行操作,不会或者不太容易通过提权渗透而对整个Web服务器造 成危害。当然,在功与防的斗争中只会此消彼涨,永远没有最后的胜利者。作为服务器的 管理者增强安全意识,提高自身的安全技能才是关键。

服务器安全防御加固的方法有哪些

服务器安全防御加固的方法有哪些

 

  服务器安全防御加固的方法有哪些?服务器的安全加固并不是刚出现的新想法,早期的入侵检测 IDS 就诞生在服务器上,只是后来才发展为现在流行的网络入侵检测。下面我们就来了解一下服务器安全防御加固的方法。

  1、 不一样的安全思路:

  我们都知道,服务器的安全首先来自操作系统(OS)的安全,这是防护***的第一道防线,若操作系统的安全性非常好,就没有后续的问题了。但是,目前流行的各种操作系统,台式机的Windows、Linux,工作站的Unix、Aix,嵌入式的vxWorks,手机的安卓…每天都爆出很多的漏洞,关键是不公开的所谓“0Day”越来越多,国家拥有是因为网际战争的需要,安全公司拥有是因为竞争力的需要,***拥有是因为利益的需要…反正,公布的漏洞只是其中的小部分。

  服务器加固就是为操作系统安全引入“第三方”机制,对***常用的***通道增加监控手段,***一般针对操作系统的漏洞,绕过操作系统自身的安全机制,但***们并不知晓该服务器上的“第三方”机制,***就不那么容易得手了。

  举个例子:缓冲区溢出是常见的提权***手段,成功后通常立即建立后门,为自己提供以后的便利,此时常见的动作有:打开远程控制窗口,提升自己为管理员,上传***替代系统驱动文件…因为溢出后使用的是管理员的权限,绕过了操作系统的权限管理机制,所以***可以随意操作你的服务器;但此时第三方的加固可以阻止这些“非正常”的操作,即使你是管理员的权限。若***者不能完成上述动作,溢出***成功,但也不能进行后续的***手段,也只能为系统带来一次进程的异常退出罢了。

  “第三方”机制还可以通过发现这些异常的退出,推断系统内的漏位置,从而确定这些漏洞已经被***者关注,可以被直接利用,产生不良后果。这是不是跟***性测试的效果一样啊。

  2、 安全加固的几种思路:

  服务器的安全加固(也称为服务器防***加固)思路是在对抗******的过程中逐步建立起来的,到目前为止,应该说经历了三个发展阶段:

  Ø 配置加固阶段

  Ø 合规性加固阶段

  Ø 反控制加固阶段

  配置加固阶段:

  所谓配置加固就是对操作系统的安全配置进行安全加固升级,提升服务器的安全保护等级。常见的做法有下面几个方面:

  1) 限制连续密码错误的登录次数,是对抗密码暴力破解的重要手段;

  2) 拆分系统管理员的权限,取消超级管理员,从而限制***者获取管理员账户时的权限;

  3) 删除不需要的各种账户,避免被***者利用;

  4) 关闭不需要的服务端口,一是减少***者的***点,二是避免被***者当作后门利用;

  5) 限制远程登录者的权限,尤其是系统管理权限;

  6) …

  配置加固主要是静态安全策略的提升,***者***后可以再打开或修改这些配置。这种加固方式一般是人工的定期检查与加固,留给***者的“窗口”比较大,或者***者完成自己的潜伏后,还可以恢复你的配置,把管理者蒙在鼓里。

  主机IDS可以动态监控上面的安全配置,发现异常进行报警,也可以主动检查“用户”的行为,发现异常及时报警,还可以根据自己的***特征库,发现恶意代码进入立即报警…这在一定程度上为***者带来了麻烦。

  但是主机IDS的误报率很高,让管理者不胜其烦,虱子多了不痒,报警多了不理,目前用户选择的越来越少了。另外,很多正常的操作,也产生大量的***报警,就像我们安装了防病毒软件,进行其他安装软件时,提示多得让人不知道该怎么做。

  合规性加固阶段:

  做信息安全的人都熟悉一个词汇:强制性访问控制。也就是在用户访问数据时,不仅查看访问者的身份,确认他的访问权限,同时还要查看被访问的数据的安全等级,是否与访问者的安全等级相匹配,若不符合安全策略规定,同样决绝访问。举一个例子:每个用户都可以修改自己账户的密码,所以他应该可以读写系统存储用户口令的文件,但是系统中这个文件里还有其他用户的密码,所以你只能读取这个文件的一个记录而已,而不是文件的全部。此时就需要对查看密码文件用户的安全等级进行比对,区别对待。

  目前的操作系统大多实现了自主性访问控制(Windows的新版具有强制性访问控制能力,但好像没提供中国市场),因此从符合国家等级保护要的角度,都需要对操作系统进行加固。

  合规性加固是要为用户提供一个账户与数据文件安全等级管理的平台,以及访问时的控制机制,广义上的强制性访问不仅包括文件、数据,还包括进程、内存、网络连接等。

  合规性加固不只是强制性访问控制,还有很多安全策略的贯彻,比如:三权分立。现在的操作系统都有一个超级管理员,权限最大,这也是******的主要目标,从安全管理角度来讲,分权是必须的:

  ² 系统管理员:负责系统的维护工作,如账户开通、数据备份、应用安装等;

  ² 系统安全员:负责系统安全操作,如权限分配,口令修复,日志管理等;

  ² 安全审计员:负责对系统管理员、安全员的行为进行审计。

  三员的身份需要分开,尤其是安全员与审计员不能兼任。

  合规性加固不仅是符合国家标准的要求,而且提升了操作系统的安全级别,对敏感数据加强了访问控制,一些系统命令的执行就相对严谨了。对于***来讲,突破操作系统只是初步,即使获得系统管理员权限,也还不是不能完全占领你的服务器。

  反控制加固阶段:

  反控制(anti-control)是明确对服务器的管理权提出了要求,也就是安全底线的保障。

  反控制有几方面的含义:

  1) 掌握控制权:对服务器的控制就是可以随意支配服务的资源满足自己的需求,如安装扫描器,扫描本网络内其他计算机的漏洞;如安装***工具,直接***其他目标。对服务器的控制一般有几个重要的环节:

  a) 管理员账户登录:可以直接部署各种服务;

  b) 远程桌面进程:远程直接操纵管理服务器;

  c) 上传工具软件:没有这些工具,***就如同没有爪牙的老虎,能在服务器上安装各种工具软件是把服务器变成***工具的必经阶段。

  2) 发现隐藏者:***要控制服务器,就必须设法隐藏自己,一旦被发现,管理者就可以立即清除它,***的所有努力就付之东流。隐藏自己技术很多,常见的有:

  a) 进程注入:隐藏在系统进程内,用户很难识别;

  b) 不启动:服务器内文件多达几十万,隐藏起来很容易,它不启动,你就不容易抓住它。当然,通过定时或远程召唤等方式,在需要的时候启动就可以完成***者的意图;

  c) Rootkit:就是替换系统驱动,当然是隐藏了激活自己的代码,或监控代码。

  3) 切断回家者:***不同于病毒,***者为了控制你的服务器,就需要与他的“老板”联系,接收命令,回送信息,控制住它的“回家连接”,切断***者的控制通道,就可以让隐藏者成为无人控制的“傻子”。回家有很多种技术,常见的有:

  a) 在你上网时,偷偷访问它的“老家”网站;

  b) 伪装为各种软件(如防病毒等)的升级连接,当然先检测是否安装了该软件;

  c) 发送邮件;

  d) 移动介质摆渡;

  e) 后门服务;

  4) 监控操作者:无论***者如何狡猾,总要运行它的“恶意代码”,否则就一事无成。因此监控系统内的各种关键进程与重要操作,是确保自己控制权的关键。如下面重要的操作:

  a) 账户操作;

  b) 安装软件与打补丁;

  c) 打开控制台进程,如桌面窗口、shell、webshell等;

  d) 开通或停止服务;

  

怎么加固服务器?服务器安全防御加固的方法有哪些?

 

  关于怎么加固服务器以及服务器安全防御加固的方法有哪些就为大家介绍到这里,服务器安全加固所涉及的方方面面非常多,需要做到尽可能的全面,这也是服务器安全很难做好的缘故。上面基本涉及了大部分需要注意的点,如果有缺漏的也欢迎指正。

标签: