服务器安全检查指引——日常维护说明 - AllEmpty
文档写好有一段时间了,可一直不敢上传,对服务器安全了解得越多,就越觉得自己很肤浅,很多都还没入门,发上来在这么多大神面前搬门弄斧,一不小心可能就会给劈得渣都不剩了。
在编写的过程中,有不少地方心里明白是怎么回事,要怎么去分析和处理,但就是不知道怎么用文字表述出来(真是书到用时方狠少啊),文笔有限也请大家见谅。
有的地方想深入一些说说,讲一些所以然出来,但个人实力有限,我也只是知其然而已。现在也只能厚着脸皮讲一讲自己在服务器日常管理的一些方法,和近段时间碰到一些问题的分析处理方式,而一些其他的攻击方法,那也只有碰到后才能根据实际情况来作出处理,现在没有碰到也不知道怎么讲那些分析处理方法,文中提出的一些内容仅供参考,大家可以做为一种操作的思路。
上一文《 服务器安全部署文档》中,只是写了怎么部署服务器才能更安全些,但为什么要这样设置,为什么要用McAfee防火墙等,却没有详细的进行描述,不过想想,如果真的再讲细一点,那文档的长度可能还要多一半,大家就真的看得更头晕了,呵呵......不过本文会对其中一小部分内容重新进行说明,补充一下。
好了就不再啰嗦了,转入正题。
目录
1. 前言 3
2. 部署环境 3
2.1 服务器环境信息 3
3. 安全检查 4
3.1. 检查VirusScan控制台 4
3.2. 检查McAfee HIP防火墙 6
3.3. 检查Windows防火墙 9
3.4. 检查IIS相关设置和网站目录访问权限 10
3.5. 检查管理员帐号 14
3.6. 检查Windows日志 15
3.7. 检查IIS网站访问日志 16
3.8. 检查FTP日志 17
3.9. 检查网站相关日志 17
3.10. 检查服务器运行进程 19
4. 备份数据 21
5. 相关说明 21
1.前言
服务器做好了安全部署以后,如果没有做好日常维护的话,那就等于将围着篱笆的羊群放在空旷的草原上而不去理它,当有一天狼发现了篱笆存在问题,扒开篱笆闯进羊群尽情享受时,而主人却远在天边而不知。而做好日常维护的话,就可以比较及时发现问题并修复漏洞,减少损失。
2. 部署环境
略(请参考服务器部署文档)
3. 安全检查
3.1. 检查McAfee的VirusScan控制台
可能有朋友会问,为什么使用McAfee而不用其他工具?这是因为McAfee有访问保护这个功能,只要开启了对应的安全策略,那么不过通授权(访问保护里设置的排除进程)的所有软件,都无法进行对应的操作。比如开启了“禁止在 Windows 文件夹中创建新的可执行文件”或自定义一个策略,禁止在服务器上所有目录创建dll与exe文件,那么别人在黑服务器时,调用了一些方法可能就无法执行了。万一他们使用了我们开放的一些服务上传了木马或入侵进来的,这种安全策略也会给他们在进行提权操作时带来很大的困难。
在启用这些策略后,我们在添加排除进程时,必须将不了解不熟悉的进程全部排除在外,有一些进程不是必须要用到的,临时开放后就要将它删除,才能让服务器更加安全。当然不怕神一样的敌人,就怕猪一样的队友,服务器管理糊乱设置,看到日志中的阻止项就顺手加入排除进程的话,那我也无话可说了。
打开VirusScan控制台
检查相关项是否正常开启
检查访问保护日志
查看是否有新禁用或阻止记录,查看该记录是什么帐户操作的,是否影响网站的运行,然后再考虑是否加入到规则列表中,一般来说阻止项不影响网站或服务运行的,全部不用理睬。
从日志这里,你可以看到是什么用户在操作的,运行的是那个程序,做什么操作的时候给阻止的。一般来说我们服务器是做网站用的,如果这里禁用的是SYSTEM或IIS的相关帐号,那么认真看看这些程序是不是网站运行必须的,是的话就放行,不是的就不用理它。而管理员帐号的操作,如果是自己操作时产生的,就临时放行一下就可以了,如果不是的话,就要查查是不是可能给入侵了。
如果需要添加的,就加入到访问保护的排除进程规则中
添加后再测试一下看看是否正常,如果还不行,再打开查看一下日志,将新日志记录所禁止的进程添加到对应策略里。
3.2. 检查McAfee HIP防火墙
McAfee HIP防火墙可以直接监控服务器所有端口对内对外的所有访问,可以直接禁用指定软件使用某个端口,可即時防御和阻挡已知的、零时差、阻断服务 (DoS)、分散式阻断服务 (DDoS)、SYN Flood 与加密式攻击等。
如果启用了应用程序策略,还可以直接控制服务器所有软件的使用与运行。
双击防火墙图标打开防火墙软件
查看IPS政策防入侵防火墙是否开启
检查防火墙是否启用,并查看里面已设置好的规则里是否有新添加的项,判断这些项设置是否正常
查看活动记录,开启纪录所有允许项目,看看有没有新的端口有访问链接,并判断是否充许,如果不允许的话,在防火墙规则中手动添加进去
手动添加阻止规则
再次查看活动记录,该商品的访问已给阻止
如果想服务器更安全的话,还可以开启应用策略功能,这样的话服务器里运行任何软件都需要经过授权了,虽然会比较麻烦,但系统也会更加安全可靠,具体怎么设置大家可以在虚拟机上测试一下就知道了。
3.3. 检查Windows防火墙
打开Windows防火墙,查看该防火墙是否开启(虽然已经有McAfee防火墙在了,但系统自带防火墙还要须要开启,以防止万一不小心关闭了其中一个防火墙时,另外一个还处于开启状态)
检查防火墙端口开启情况,是否是自己设定那些,有没有新增开启端口,有的话做出相应判断并咨询服务器的其他管理人员。
3.4. 检查IIS相关设置和网站目录访问权限
主要检查几个网站的目录设置,查看是否开启了目录写入权限,然后对所有有写入权限的文件夹检查其是否有可执行权限
同时检查网站有没有多出新的目录(有的目录可能是开发人员随意添加的而服务器管理员又不清楚,有的可能是黑客添加的),这些目录权限设置如何等。
除了检查写入权限外,也检查一下是否添加了新的帐户,如果根目录有写入权限的话就得小心了,另外如果多了新的帐户也要注意一下是否是其他管理员添加的
检查可写入目录是否有可执行权限
将网站的相关文件夹都按上面方法检查一下,另外对于JS、CSS、Images、配置、日志、HTML等不用执行的目录,虽然没有设置有写入权限,最好也将它们设置成无脚本执行限制
3.5. 检查管理员帐号
打开服务器管理器,检查帐号是否为默认的几个,是否有多出新的帐号来(一般服务器给入侵后,都会另外创建了一些新帐号或将一些原本隶属于Guest组的帐号提升为管理员或User等组权限)
由于在新的虚拟机上测试并写本文档,IIS访问帐号权限使用的是应用程序池帐号,所以这里就不像上一遍文章那样有很多帐号
查看Administrator帐号隶属组是否为空
检查DisableGuest帐号是否隶属于Guests,且帐号是否是禁用状态
如果还有其他帐号,也做以上检查
3.6. 检查Windows日志
日志文件对我们是非常重要的,可以从中查看各种帐户的操作痕迹,所以最好将日志存储路径重新修改一下,另外日志目录的SYSTEM帐号权限也设置成可以只读与添加,而不能修改,这样万一给入侵了,也删除、修改不了日志文件。(对于日志路径修改的文章网上很多,这里就不再详细描述了)
我们检查日志,主要查看日志中的警告和错误信息,从中分析出那些是由于代码问题引发的异常(将这些异常发给相关同事进行修复),那些是系统错误(判断是防火墙规则引起的还是服务或程序出错,判断需不需要进行相应处理),那些是黑客在进行入侵攻击(分析出攻击方式后,可以在相关的代码页面重新进行检查处理,以免有个别页面存在漏洞而导致入侵成功)……对于日志中显示的异常,其实有不少记录并不是代码自身引起的,比较常见的是有人使用XSS方式攻击提交引起的异常,对于这些异常可以不用去理会它,只要做好页面提交入口的SQL注入与XSS攻击过滤操作就没有问题。
另外, 正常的信息有空的话也要抽时间看看,可以分析出很多已通过防火墙规则的各种操作,查看是否有入侵已经成功(比如查看一些正常进入后台访问的IP是否是其他地区的,再查看后台相关日志看是那位同事操作等)。
对于安全事件日志,查看审核成功与失败的记录都要认真看看,主要注意下面内容:正常或失败的登陆与注销时间,看看是否是服务器管理员自己上来的,看看是否有非自己创建的帐号;留意是否存在批处理登陆事件(及有可能入侵成功了);各种帐号管理事件与安全组管理事件(入侵成功后可能会创建帐号、修改密码或删除帐号等操作,这些都会被记录下来);审核策略更改事件(是否是管理员自己更改的,如果不是自己的是其他管理员的话,检查一下更改了什么)。具体可以百度一下《审核WINDOWS安全日志》认真研究一下各种审核事件说明。
3.7. 检查IIS网站访问日志
对于网站访问日志的检查分析,网上有不少的介绍,这里我就不再重复了,主要说说我自己的见解吧。
IIS日志会将用户访问网站的所有链接忠诚的记录下来,如果你的站点用的是GET方式提交参数的话,那么可以很容易从日志中相看到各种SQL注入、XSS的攻击方法。用POST方式提交的话,那就看不到这些内容了。我们检查日志主要是查找各种非正常访问方式。
比如:从日志中查找一些攻击常用的特殊字符,如',1=1,1>0,update,insert,<,>,#,$,{,sp_,xp_,exe,dll等,检查一下图片扩展名的记录是否有参数存在(检查是否存在上传漏洞),当然也可以下个分析工具或自己写一个。
而访问日志通常不是孤立的,要与其他的相关日志结合起来分析。
下面举一个例子给大家说明一下:
在2月10号的时候,我检查了公司的后台操作日志,发现有几个上海IP的访问记录(说明:公司网站的后端是独立域名,别人是不知道的,而公司在上海也没有其他人员,另外我开发的后台管理系统每个页面都经过加密处理,不是正常登陆后从页面生成的URL点击的话,是无操作访问权限的,每个管理员在后台的所有操作,框架都会认真的全部记录下来(包括浏览页面记录))
后台管理员操作与访问日志信息:
发现后我就很奇怪,马上查看对应的登陆日志与IIS日志
并没有找到登陆日志记录
而IIS日志就发现有不少对应的记录,比如上面用户操作日志记录对应的这一条(注:IIS日志记录的时间时区不是中国所在的东八区,所以时间查看时要加上8)
由于KeyEncrypt这一串加密后的编码是维一的,所以一查就查到了一条对应的公司IP访问记录
然后顺滕摸瓜,再反过来查询用户操作日志上,这个时间是谁在操作
再然后就直接找那个同事,看看他的机子是否中毒了,是否给人劫持了浏览器
事到这里大家以为已经告一段落了,而同事也在重装系统中~~~
而我重新再按上面手段检查时发现,有很多同事都有这样的记录,来访IP都是上海与深圳电信、联通几个IP段的地址,而前端的页面也发现了同样的IP,而对应访问链接的IP全国各地的客户都有,不可能大家都中毒了,而且这些访问的所有特点都是大家访问了指定页面后,过上几分钟或半个小时,就有一条或多条同样路径的访问记录......突然间有股毛骨悚然的感觉,我们上网还有什么隐私?每访问一个页面都有人监控到,而且同时会浏览一下看看我们去了那里。到了这里我也不知讲什么了(大家可以试试查查自己的服务器日志,看看有没有下面几个IP就知道了),这到底是所使用的浏览器暴露了我们的访问还是防火墙?还是其他的软件呢?这个还得进一步研究才知道。
认真查了一下,主要有这几个IP段:101.226.102.* 101.226.33.* 101.226.51.* 101.226.65.* 101.226.66.* 101.226.89.* 112.64.235.* 112.65.193.* 115.239.212.* 180.153.114.* 180.153.161.* 180.153.163.* 180.153.201.* 180.153.206.* 180.153.211.* 180.153.214.* 183.60.35.* 183.60.70.* 222.73.76.*
虽然这次发现后台地址暴露了,也没有给他们成功访问进入到系统,不过为了保险起见,后台登陆马上加了登陆需要IP授权方式(需要后台系统中录入的员工手机号码验证通过)
日志的分析由于大家的系统不一样,不能直接套用,所以没有固定的模式,需要根据具体的情况来对应操作,我们要学习的是日志分析的一种思路,这样才能更好的应用到自己的工作中。
大家应该多百度一下,看看其他朋友是怎么分析日志的,这样才能更好的提升自己。
其他日志分析例子:http://www.cnblogs.com/sanshi/p/3150639.html
3.8. 检查FTP日志
FTP日志主要检查是否有人在尝试入侵,用什么帐号尝试,是否登陆成功了,做过什么操作等
3.9. 检查网站相关日志
如果你的网站前后端操作、支付以及相关的业务接口等都有日志记录的话,也要认真的检查一下。
首先查查看是否有异常记录,有的话发给相关的人员进行修复。
而网站后端,主要检查登陆的管理员访问的IP地址是否是公司所在地的,有没有外地IP,有的话是否是公司员工等;有没有非法登陆,访问了那些页面,做过什么操作。
网站前端与业务接口相关日志主要检查业务逻辑、充值等相关信息,具体得根据各自不同的业务而定。
3.10. 检查服务器运行进程
在服务器安装好以后,最好马上将服务器正在运行的进程拷屏并保存下来,在平常维护服务器时,可以拿出来和当前正在运行的进程进行对比,看看有没有多出一些不认识的进程,有的话百度一下看看是什么软件,有什么作用,是否是危险的后门程序等。
4. 备份数据
做好数据库的自动备份操作,经常检查一下当天的备份是否运行成功(有时会因为数据满了或其他异常导致没有备份成功),万一备份失败而数据库又发生问题的话,嘿嘿~~~会发生什么事情就不言而预了。如果空间大的话,而数据又非常重要,那每天就做多几次备份或数据同步等操作就保险多了。如果大多数朋友都只有一台或几台独立的服务器,那除了自动备份外,每天压缩数据库后下载到本地备份还是很有必要的。
定期备份网站和相关图片。
定期备份前面所说的各种日志(有时要查看分析一些信息时就要用到,比如给入侵一段时间后才发现,这时就要慢慢翻看历史日志了,看是那里出现的漏洞引起的,好进行修复),并清理已备份好的日志文件(有的朋友常期不清理日志,有时会因为日志存放空间爆满而发生错误)
5. 相关说明
1、防黑的工作是任重而道远的,除了要做好安全设置外,平时还得细分的做好服务器相关的检查维护工作。
2、可以定期使用各种黑客工具,尝试攻击自己的服务器,查看是否有漏洞存在。认真到各大论坛、网站学习各种不同的攻击技巧,只有了解对手的攻击手段,才能做好防护工作。
3、在检查过程中,发现有不熟悉的设置改变了,需要立即联系相关同事咨问,确保服务器安全。
4、服务器设置方面,所有防火墙提示的操作先禁用,当发现某个服务或什么运行不了时再开放,这样才不会将服务器一些不必要的端口给开放出去。
5、当查出有问题时,需要详细分析所有新旧日志,查看他是如果进入的,进行了什么操作,才能制定对应的策略,防止下一次再给入侵。
6、服务器的日志的分析是灵活多变的,不同的问题分析方式方法也不一样,而且需要不同日志结合起来综合分析。这需要不断的学习以及经验的积累。
7、当然如果你能了解网站的程序架构的话,对网站的安全性会更有帮助。
由于文笔有限,本文写的肯定还有不少遗漏的地方,也请各位大大指出一下,最后也希望本文能对你有所帮助。
如果你觉本篇文章有帮到你,也请帮忙点推荐。
版权声明:
本文由AllEmpty发布于博客园,本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,如有问题,可以通过 1654937#qq.com 联系我,非常感谢。
发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708 或Email给我(1654937#qq.com),大家一起探讨,由于本人工作很繁忙,如果疑问请先留言,回复不及时也请谅解。
更多内容,敬请观注博客: http://www.cnblogs.com/EmptyFS/
本文链接: http://www.cnblogs.com/EmptyFS/p/3605408.html,转载请注明。