电子商务的兴起,使的很多中小企业都拥有了自己的服务器。对内用来建立局域网,提升办公效率;对外建立网站,更为广泛地宣传企业产品和形象,争取更多客源。但是作为网络的核心产品,服务器技术相对复杂,尤其是在病毒肆虐的网络时代,安全问题显得更加突出。现在就提供一些实际工作中总结出的经验,希望能和大家共享,以确保网站服务器安全。
一、增强整体网络安全
很多网管往往在维护网络安全方面存在这样的误区,认为只要将服务器单机打好补丁,安装好防护墙、操作系统定期升级就可以安枕无忧了。可实际上,很多黑客和病毒并非直接攻击服务器,而是通过入侵其他计算机作为跳板来攻击整个网络的。目前很多网络都是通过域的方式来管理,一旦黑客或病毒成功入侵与服务器有信任关系的一台计算机,那么从这台计算机攻击服务器将会变得非常简单。所以要办证整个网络的安全要从根本来考虑。
首先是安全管理,要从管理角度出发,利用规章制度等文字性的材料规范,约束各种针对计算机网络的行为,例如禁止员工随便下载非法程序,禁止网络管理员以外的人员进入中心机房,完善网络管理员的值班制度等等。可以参考服务器物理安全这篇文章。
其次是安全技术,要从技术角度出发,利用各种软件和硬件,各种技巧和方法来管理整个计算机网络,杀毒软件与防火墙双管齐下力保网络的安全。
这两方面缺一不可,试想如果只有安全技术的支持而在规章制度上没有进行任何约束,即使刚开始安全做的很到位,但员工随意下载非法软件,随便关闭杀毒软件的保护的话,整个网络安全形同虚设。而只有严格的规章没有技术作为支持的话病毒和黑客也会通过网络漏洞轻松入侵。因此安全管理与安全技术两方面相辅相成,网络管理员对于这两方面都要抓,力度都要硬。
二、加强服务器本地文件格式安全级别
目前服务器都采用的是windows2000以上版本,所以在加强安全级别上需要利用windows2000 server提供的用户权限功能,根据每个用户的特点单独地为其制定访问服务器的特殊使用权限,从而避免因使用统一的访问服务器权限而带来的安全隐患。
为了确保服务器的安全首先要在本地文件格式上做文章,即将FAT格式转换为安全系数更高的NTFS文件格式。毕竟对于黑客来说存储在FAT格式的磁盘分区里的数据要比存储在NTFS格式的磁盘分区的数据更容易访问,也更容易破坏,另外目前所有安全软件及加密软件也都是针对NTFS格式来说的,对FAT格式的保护非常薄弱。
另外最好使用专门的网络检测软件对整个网络的运行情况进行7×24小时的不间断监视,尤其要关注“非法入侵”和“对服务器的操作”两方面的报告。
三、定期备份数据
数据的保护是一个非常重要的问题,也许服务器的系统没有崩溃但里面存储的数据发生了丢失,这种情况所造成的损失会更大,特别对于数据库服务器来说也许存储的是几年的珍贵数据。怎么才能有效的保护数据?备份是唯一的选择。
以往对于数据的备份都是采取在服务器上另外一个区建立备份文件夹甚至是建立一个备份区。不过这样备份方法有一个非常大的弊端,那就是一旦服务器的硬盘出现问题所有分区的数据都将丢失,从而备份没有了保证。按照“不要把所有鸡蛋放到同一个篮子”的理论我们应该使用单独的专门设备保存这些珍贵数据。
使用B服务器保存A服务器的数据,同时用A服务器保存B服务器的文件,这种交叉备份的方法在一段时间非常流行。另外还有一个有效的方法就是使用磁带来保存珍贵数据,不过这样的投资会比较大。
但是数据备份也存在巨大的安全漏洞,因为备份好的数据也有可能被盗窃,所以在备份时应该对备份介质进行有效的密码保护,必要时还需要使用加密软件对这些数据进行加密,这样即使数据被盗也不会出现数据泄露的问题。
网站安全上在技术层面,管理员可以注意以下几方面:
定期升级程序。这只是管理员基本的职责,作为一个网站的管理员,应该经常关注自身网站所用系统的安全性,如果发现有新的程序版本,或者有新的漏洞公布,要及时更新程序或修补漏洞。
加固网站代码。没有任何程序是牢不可破的,所以,管理员要经常关注网站代码的安全性,避免因网站程序存在的安全隐患造成不可恢复的损失。
禁用或删除多余的内容。网站不需要的代码部分管理员要及时处理,如网站不需要用户留言,那就要禁用留言本版块或者删除留言本程序代码或者使用其它方式禁止外部用户访问,这样就可以在最大程度上避免安全隐患。
从管理层面上,管理员可以注意以下几方面:
经常查看访问日志。网站的访问日志记录着所有与网站有过通信的记录,通过查找可疑日志,就可以及时掌握网站的安全状况,可以在网站遭受攻击前及时进行预防,管理员可以使用专门的日志分析工具,快速、方便地分析网站日志。
其实SQL注入漏洞并不可怕,懂原理+耐心仔细,就可以彻底防范,关键是提高网站程序员的安全意识,充分认识SQL注入漏洞的的危害,可以考虑从下面几方面防范SQL注入漏洞。
网站程序员在构造动态SQL语句时,一定要使用类安全(type-safe)的参数加码机制。大多数的数据API,包括ADO和ADO.NET,有这样的支持,允许你指定所提供的参数的确切类型(譬如,字符串,整数,日期等)。
做好安全审计工作,在每次更新程序时,对所有的编码做审评,严格检查用户输入的数据,尽可能多地过滤掉用户输入的非法字符。
不要把敏感性数据在数据库里以明文存放,一定要将敏感数据加密后放到数据库中,这样即便入侵者得到了数据,也需要用一段时间来破解。
经常做网站SQL注入漏洞检测以检测网站的安全性。
锁定你的数据库的安全,只给访问数据库的web应用功能所需的最低的权限。如果web应用不需要访问某些表,那么确认它没有访问这些表的权限。如果web应用只需要只读的权限从你的account payables表来生成报表,那么确认你禁止它对此表的 insert/update/delete 的权限。
网站程序员和管理员都应该明确这一点:用户输入的数据永远是不可靠的。
本文出自 “tar0cissp” 博客,请务必保留此出处http://tar0cissp.blog.51cto.com/6253667/1339582