如何保障Web服务器安全


Posted in 面试题 onMay 05, 2014
维护Web服务器安全是信息安全中最不讨好的差事之一。你需要在相冲突的角色中找到平衡,允许对网络资源的合法访问,同时阻止恶意破坏。

你甚至会考虑双重认证,例如RSA SecurID,来确保认证系统的高信任度,但是这对所有网站用户来说也许不实用,或者不划算。尽管存在这样相冲突的目标,仍有六个有助Web服务器安全的步骤。

对内部和外部应用分别使用单独的服务器

假设组织有两类独立的网络应用,面向外部用户的服务和面向内部用户的服务,要谨慎地将这些应用部署在不同的服务器上。这样做可以减少恶意用户突破外部服务器来获得对敏感的内部信息地访问。如果你没有可用的部署工具,你至少应该考虑使用技术控制(例如处理隔离),使内部和外部应用不会互相牵涉。

使用单独的开发服务器测试和调试应用软件

在单独的Web服务器上测试应用软件听起来像是常识——的确是。不幸的是,许多组织没有遵循这个基本规则,相反允许开发者在生产服务器上调试代码甚至开发新软件。这对安全和可靠性来说都很可怕。在生产服务器上测试代码会使用户遇到故障,当开发者提交未经测试易受攻击的代码时,引入安全漏洞。大多数现代版本控制系统(例如微软的Visual SourceSafe)有助于编码/测试/调试过程自动化。

审查网站活动,安全存储日志

每一个安全专业人员都知道维护服务器活动日志的重要性。由于大多数Web服务器是公开的,对所有互联网服务进行审核是很重要的。审核有助你检测和打击攻击,并且使你可以检修服务器性能故障。在高级安全环境中,确保你的日志存储在物理安全的地点——最安全的(但是最不方便的)技巧是日志一产生就打印出来,建立不能被入侵者修改的纸记录,前提是入侵者没有物理访问权限。你也许想要使用电子备份,例如登录进安全主机,用数字签名进行加密,来阻止日志被窃取和修改。

培训开发者进行可靠的安全编码

软件开发者致力于创建满足商业需求的应用软件,却常常忽略了信息安全也是重要的商业需求。作为安全专业人员,你有责任对开发者进行影响到Web服务器的安全问题的培训。你应该让开发者了解网络中的安全机制,确保他们开发的软件不会违背这些机制;还要进行概念的培训,例如内存泄漏攻击和处理隔离——这些对编码和生成安全的应用软件大有帮助。

给操作系统和Web服务器打补丁

这是另一个常识,但是当管理员因为其他任务而不堪重荷时常常忽略这一点。安全公告,像是CERT或者微软发布的公告,提醒人们软件厂商多频繁地发布某些安全漏洞的修补程序。一些工具像是微软的软件升级服务(SUS)和RedHat的升级服务有助于使这项任务自动化。总之,一旦漏洞公布,如果你不修补它,迟早会被人发现并利用。

使用应用软件扫描

如果负担地起,你也许会考虑使用应用软件扫描器来验证内部编码。像是 Watchfire公司的AppScan这样的工具有助于确保编码在生产环境里不会存在漏洞。记住,要有安全意识。设计良好的 Web服务器结构应该基于健全的安全政策。贯彻执行这六个方法会帮助你建立坚固的基础。

Tags in this post...

面试题 相关文章推荐
PHP如何防止SQL注入
May 03 面试题
PHP面试题集
Dec 18 面试题
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
Oct 27 面试题
String是最基本的数据类型吗?
Jun 13 面试题
介绍Java的内部类
Oct 27 面试题
什么是网络协议
Apr 07 面试题
Can a struct inherit from another class? (结构体能继承类吗)
Jul 22 面试题
Linux操作面试题
May 16 面试题
什么是SCM(软件配置管理)
Aug 16 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
Aug 18 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Jul 27 面试题
信号量和自旋锁的区别?如何选择使用?
Sep 08 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
Jan 19 #面试题
SQL注入攻击的种类有哪些
Dec 30 #面试题
渗透攻击的测试步骤
Jun 07 #面试题
介绍一下木马病毒的种类
Jul 26 #面试题
什么叫做SQL注入,如何防止
Oct 04 #面试题
如何查找网页漏洞
Jun 22 #面试题
动态密码技术
Oct 18 #面试题
You might like
用PHP制作静态网站的模板框架
2006/10/09 PHP
PHP4之真OO
2006/10/09 PHP
xss防御之php利用httponly防xss攻击
2014/03/21 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP微信支付实例解析
2016/07/22 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
再分享70+免费的jquery 图片滑块效果插件和教程
2014/12/15 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
2016/04/03 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
深入理解Vuex 模块化(module)
2017/09/26 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
详解ECMAScript2019/ES10新属性
2019/12/06 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
JavaScript实现网页跨年倒计时
2020/12/02 Javascript
跟老齐学Python之集合(set)
2014/09/24 Python
Python实现图片转字符画的示例
2017/08/22 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
我就是这样学习Python中的列表
2019/06/02 Python
python如何实现视频转代码视频
2019/06/17 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
2019/06/17 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
python语言的优势是什么
2020/06/17 Python
Django nginx配置实现过程详解
2020/09/10 Python
廉洁自律演讲稿
2014/05/22 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
中英文求职信范文
2015/03/19 职场文书
地雷战观后感
2015/06/09 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书