当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 如何确保应用系统的安全

安全基础
揭开DDoS攻防的神秘面纱
用端口截听实现隐藏嗅探与攻击
教你穿透ADSL路由入侵内网
防范非法用户侵入系统七绝招
警惕黑客4种手段攻击无线局域网
Foxmail账户入侵原理及防范方法
怀疑PC安装木马?学学网络安全小命令
解除安全隐患—让“命令提示符”不再危险
菜鸟必读之邮箱及IE安全技巧全精通
冲浪安全更安全 禁用Cookie功能的几种方法
网上保障隐私十大秘技
顺藤摸瓜 利用IIS日志追查网站入侵者
如何有效防范自己的IP地址泄漏
用Windows自带工具打造“免检”木马
隐藏IP就这么简单
新人快速上手指南 电脑木马查杀大全
触目惊心!小心index.dat泄露你上网痕迹
当心软件泄密 彻底清理应用软件的运行痕迹
网管宝典 终端入侵防护系统七大纪律
巧妙解救被“绑架”的浏览器

安全基础 中的 如何确保应用系统的安全


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 53 ::
收藏到网摘: n/a

 

    说到安全问题,这是一个综合性的问题。并不是说有一段优秀的程序就能确保应用系统绝对安全,也并不是说系统管理员的工作认真负责了,系统就完全安全了。

    一般来说系统管理员的工作对系统安全的责任最大。如果系统安全没有做好,导致系统被入侵,那么即使程序中作再多的防范也仍然难逃被破解、篆改的厄运。其实现在很多漏洞,只要系统管理员勤打补丁、严格制定安全策略,合理设置文件系统、数据库系统、Web系统的各项权限和配置,既保证程序能够正常运行,有不给多于的权限不让入侵者制造机会,那么应用系统被侵入的可能就大大降低。


    但是,安全也不能光靠系统管理员。一段不负责任的代码,可能导致原本非常安全的系统功亏一篑。比如说,系统管理员对系统作了非常严格的管理,但是程序员却不对用户的输入作任何过滤导致了SQL Injection入侵的发生,或者在关键的地方不防止站外提交,那么应用系统还是会被无情地侵入。

    那么,如何做到安全呢?

    我向来的看法是:安全需要系统管理员和程序员共同维护。

    一个合格的系统管理员自然有一整套的安全方案去令系统稳定、安全、高效。有的时候一些程序员的低级错误可能导致安全问题,但是系统管理员也能够预先防范这种失误的可能。

    比如说,虽然程序员不慎没有限制上传附件的扩展名导致了用户上传可执行文件到指定目录,但是假如系统管理员对上传文件加做了严格的权限限制,禁止此文件夹中文件的执行权限,那么这一次,应用系统就化险为夷了。

    再比如说,SQL Injection入侵可能会导致重大的入侵后果,但是假如系统管理员删除了危险的且不必要的存储过程,对用户可能用到的数据库登录用户做了严格的权限限制,那么SQL Injection的危害就能降到最低。

    但是程序员必须对内容安全负责,从程序的角度保证用户的输入对应用系统来说是安全的,不要忘记在有权限限制的地方疏漏,禁止站外提交,不使用不安全的组件(防止被溢出)……这方面需要注意的地方我就不在这里一一细说了,哪天我们可以专门写一篇文章来讲程序代码如何维护系统安全。


    一个安全的应用系统是系统管理员和程序员共同努力的结果,系统管理员要从系统管理的角度做好安全维护工作,程序员从程序的角度维护系统安全,这样才有可能令应用系统最大程度地安全。

    并不是说由于你选择Win2000 Advanced Server作为你的服务器操作系统,没有选择Linux、FreeBSD,那么你的系统就不安全了。也不能说由于你使用ASP来开发你的应用系统,而没有选择PHP、JSP来开发,你的应用系统就不安全了。同样地,也别以为那些采用Unix操作系统,用JSP、PHP、.NET开发的系统就一定比你的系统安全,他们的程序员或者系统管理员如果不负责任,他们的系统照样会有机可乘甚至不堪一击。而且

    再说点题外话,也不要以为.NET、JSP的程序就一定比ASP的程序高效。一个初学Web开发的程序员写的.NET程序,不见得比一个优秀的ASP程序员写的程序执行效率高。