阅读更多

7顶
1踩

操作系统

转载新闻 看Linux安全的未来

2008-12-29 15:49 by 副主编 zly06 评论(3) 有4939人浏览
不要仅仅因为Linux比其他操作系统更安全就认为你的Linux系统是安全的,开发人员和发行商将来能为系统管理员提供什么帮助呢?

在这几年之中都发生了些什么呢,我们看到linux的竞争者已经接受了它,而其linux已经可以作为一个桌面平台。

在linux安全领域,也有值得注意的进展,linux的防火墙现在已经非常成熟,大量的嵌入式防火墙设备都基于它,与安全无关的设备也大量地采用了linux,linux支持令人吃惊的数量众多的安全工具,使得它称为安全审计员和安全顾问最喜爱的系统,此外,linux已经形成了基于角色的访问控制操作系统,最著名的就是NSA的SELinux。

但是linux安全的未来是怎么养的呢?我已经写了许多有关linux安全的现状和过去,但是还没有写过有关未来的东西,这个月,我将我想到的linux安全将走向何方以及它应该走向何方做一下总结。

  现在有什么错误吗?

近来显示大量的人开始关注linux的安全并没有比微软的windows操作系统安全得多,在开始交火讨论之前,让我们先解释一下这个观点,首先,作为个人来说,我认为linux是比windows更安全的,我已经在这个专栏的文章中反复重复过,用户在linux下比在windows下更容易控制他们的系统。

问题是linux用户,与windows用户类似,倾向于将他们的精力集中在让系统做他们想让系统做的事情上,他们太信任系统内置或默认的安全设置,那么,当不可避免的软件bug出现时,那些bug的影响趋于更广泛,比起预防来说要做的工作就更多了。

例如:如果我们运行BINDv9提供名称解析服务,将花一些工作和研究才能使其工作起来,要将其放在一个chroot环境中需要更多的努力,chroot可以将named进程放在文件系统的一个子集中运行,因此,当一个BIND漏洞被发现,大多数BIND用户可能都经历过没有放在 chroot环境的痛苦,如果运行的是微软的名称解析服务—它没有BIND那么多的安全特征,那可能痛苦指数是一样的。

所有这一切都是要简单地告诉你大部分linux安全特征和功能并没有让linux用户受益,结果是,至少按照我朋友所说的进行专业的渗透测试,攻破你普通的Redhat企业版并不比普通的windows2003系统困难。

这是不幸的也是让人非常吃惊的,它的代码是完全透明的,linux仍然有类似的软件bug,一般来说和windows的数量和频率几乎一样。和windows一样,linux是由成百上千的人开发出来的一大堆复杂的代码,代码越多,bug可能就会越多,不是吗?

我最近接受SearchSecurity.com采访时谈到了一篇关于微软研究基金指导的安全革新文章,研究结果表明windows比 linux更安全,结论主要基于常见安全bug和发行补丁的平均时间,我相信我是正确地评论了研究结果,不考虑linux的其他安全优势,如定制能力和软件包的选择,换句话说,我感觉这个研究更多的是比较默认安装情景,而不考虑每个操作系统被它的用户进行安全加固的因素。

但是我考虑得更多,我更担心或许一个平台的安全隐患是不能统计的,除非大多数系统运行的平台实际上触发了隐患,严格来说这不是一个终端用户行为的作用,我也不会指责系统管理员,因为我在后面会详述,我想linux开发人员和发行商必需继续想出让安全特征更普通、透明和更容易配置和使用的方法,顺便说一下,因为我正在比较linux和windows,公平起见我应该指出windows也有许多安全特征,但用户也很少使用它们。

好,linux和windwos在默认情况下它们都不安全,在软件bug和安全补丁两个都不相上下。

两个操作系统都是使用简单的任意访问控制模式来进行安全设置,在这个模式下,一个超级用户账号—在linux下是root,在windows下是Administrator—拥有控制全部系统的权力,包括其他用户的文件,在这两个操作系统中,组成员可以被用来创建不同等级的访问,比如说,root可以进行多种授权,实际上,在大多数系统上你不得不作为特权用户登陆或临时变成那个用户为了完成重要的事情。

结果,任何用特权用户运行的进程能完全控制linux或windwos系统,但是,我是作为非特权用户登陆配置我重要的后台进程的,这些后台进程出现了bug是不会影响到整个系统的。但是其他软件的bug可能使得它从一个非root进程升级它的权限,例如:假设你已经获得了一个运行Apache 的web服务器,一天一个攻击者控制攻击程序攻击一个没打补丁的Apache缓冲区溢出漏洞,结果是攻击者在你的服务器上获得了一个shell会话,从这一点来说,攻击者正作为www运行,因为Apache是作为www运行的,假设这个系统还有一个未打补丁的内核漏洞,那将导致本地权限提升。

系统管理员可能已经知道了这个漏洞,但是补丁还没有出来,毕竟,严格地说是一个本地漏洞,除你之外没有人在这个系统上有shell权限,谁想在给内核打补丁后不得不重新启动呢?但是现在一个远程攻击者有了一个本地shell访问权限,如果他成功地利用了这个内核漏洞,他就是root了,这就是常见的入侵场景,但是使用了root-takes-all安全模块后不用再担心这个了。

这就是linux安全的现状,保护linux需要我们花费相当多的努力利用复杂的安全特征,这些复杂的特征默认情况下往往没有启用,要保持所有补丁都是最新的。我们在一个好的公司里:大多数使用现代操作系统它们拥有相同的局限和挑战。


来自: chinabyte
7
1
评论 共 3 条 请登录后发表评论
3 楼 JE帐号 2010-04-16 14:16
标准的Unix,linux,windows都是C2级别
2 楼 metaphy 2009-01-02 10:31
同样,
再强大的系统碰到一个弱智的用户都会变得极不安全
1 楼 BaSaRa 2009-01-01 15:00
再强大的语言碰到垃圾程序员都会编出一个垃圾程序

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 技术白皮书模板V1.0

    通用技术白皮书模板通用技术白皮书模板通用技术白皮书模板通用技术白皮书模板

  • JSP入门指南:了解JSP的基本概念与应用

    JSP(JavaServer Pages)是一种用于开发动态Web应用程序的技术,它允许在HTML页面中嵌入Java代码,从而实现在服务器端动态生成内容。JSP是一种模板技术,它将Java代码嵌入到HTML页面中,使得开发人员可以更方便地创建动态的Web页面。引入JSP的主要目的是为了简化Web应用程序的开发过程,并实现动态内容的展示。使用JSP可以将Java代码和HTML代码组合在一起,而不需要手动拼接字符串,使得代码更加易读、易维护。

  • JSP概述

    JSP是Sun为了解决动态生成HTML文档的技术,通过Servlet输出简单html页面信息都非常不方便。如果要输出一个复杂页面的时候,就更加的困难,而且不利于页面的维护和调试。所以sun公司推出一种叫做jsp的动态页面技术来实现对页面的输出繁锁工作。JSP就是替代Servlet输出HTML的JSP技术最大的特点在于写JSP就像在写html,但是相比html而言,html只能为用户提供静态数据,而JSP技术允许在页面中嵌套 java 代码,为用户提供动态数据。

  • JSP技术

    JSP技术 JSP全名为Java Server Pages,它是建立在Servlet规范上的动态页面开发技术。在JSP文件中,HTML文件与Java代码同存,其中,HTML代码用来实现页面中的静态内容显示,Java代码显示网页中动态内容。为了与传统Html页面区分,JSP文件的扩展名为.jsp。 JSP运行原理 JSP原理图 JSP脚本元素 三种类型: JSP Scriptlets <% java代码 (变量、方法、表达式等)%> JSP声明语句(用于声明全局变量) <%! 定义的变量

  • JSP基础详解

    JSP技术是一种用于开发动态Web页面的服务器端技术,JSP通过在Html中嵌入Java脚本语言实现动态响应页面请求。

  • 关于jsp的知识

    一、jsp简介   jsp是一种特殊的servlet,是一种动态的网页技术标准,它可以在传统的html页面中插入Java程序,在服务器端执行,但是最终返回的是HTML页面。jsp最终在程序中生成一个.java文件,这个Java中可以看出jsp继承于JspServlet,而JSPServlet则是继承于HttpServlet的。  Jsp页面的目的就是是的前端展示和后端逻辑servlet分离,所以一...

  • 【网页实战项目设计】基于SSM的医院预约挂号系统

    随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,医院预约挂号系统当然也不能排除在外。医院预约挂号系统是以实际运用为开发背景,运用软件工程开发方法,采用jsp技术构建的一个管理系统。整个开发过程首先对软件系统进行需求分析,得出系统的主要功能。接着对系统进行总体设计和详细设计。总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能

  • jsp技术简介

    JSP(Java Server Pages)技术是由Sun公司发布的用于开发动态Web应用的一项技术。它以其简单易学、跨平台的特性,在众多动态Web应用程序设计语言中异军突起,在短短几年中已经形成了一套完整的规范,并广泛地应用于电子商务等各个领域中。在国内,JSP现在也得到了比较广泛的重视,得到了很好的发展,越来越多的动态网站开始采用JSP技术。本章就对JSP及其相关技术进行简单的介绍。

  • JSP技术简介及特点

    JSP技术简介及特点JSP技术简介及特点JSP技术简介及特点JSP技术简介及特点JSP技术简介及特点

  • 用友UAPNC50技术白皮书

    用友UAPNC50技术白皮书,介绍用友各个平台和四大模板,工作流,二次开发平台等

  • EJB白皮书EJB白皮书

    ejb-3_0-fr-spec-ejbcore.pdf ejb-3_0-fr-spec-persistence.pdf ejb-3_0-fr-spec-simplified.pdf

  • 简单介绍jsp技术;--了解

    简单介绍jsp技术;–了解 1)说明: a、jsp是服务器端运行的脚本语言,本质是servlet; b、先有servlet,后有jsp;使用servlet实现动态网页比较麻烦,所以才出现jsp技术方便做动态页面 c、可以认为servlet是java代码中包含html(使用输出流以字符串的形式输出html代码),jsp是html中包含java代码(使用<%...%>包含java代码); d、在tomcat的work文件夹中,有jsp翻译之后生成的.java文件和编译之后生成的.cl

  • 第十讲 JSP和Servlet

    10.1 Servlet的概念、配置与运行  10.1.1 Java Servlet的概念   Java Servlet是一个专门用于编写网络服务器应用程序的Java组件。所有基于Java的服务器端编程都是构建在Servlet之上的。   在J2EE中Servlet已经是一个标准的组件。让我们来认识一下,Servlet在Java的软件包中是怎样的一个结构,这会有助于我们理解Servlet的概念。

  • JPA学习总结

    JPA技术简单介绍什么是JPA?JPA全称为Java Persistence API ,Java持久化API是Sun公司在Java EE 5规范中提出的Java持久化接口。JPA吸取了目前Java持久化技术的优点,旨在规范、简化Java对象的持久化工作。使用JPA持久化对象,并不是依赖于某一个ORM框架。为什么要使用JAP?在说为什么要使用JPA之前,我们有必要了解为什么要使用OR

  • Jsp技术介绍

    前言 虽然在前后端分离的大潮流中,jsp技术已经是很少被使用了,其中一个重要的原因是jsp展示页面的时候过慢。但是,作为sun官方推出的技术,其中的思想和今天的前端技术十分的相似,很多前端框架都是基于这些思想的。所以,学习一下jsp还是十分有必要的。 Jsp的原理 简单来讲,使用jsp技术,可以将java的代码使用<%%>标签嵌入到html页面当中。 但是,为什么可以这样用...

  • JSP的简单介绍

    JSP (Java Server Pages)是指: 1)在HTML中嵌入Java脚本代码 2)由Web服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端

  • EJB商业探讨的白皮书

    1 业界支持  任何一个商业化的技术要想拥有良好的市场态势,业界内重要企业的大量参与是十分重要的。J2EE是由SUN引导,各厂商共同发起的,并得到广泛认可的工业标准。业内企业计算领域的大企业如:IBM , BEA Systems, Oracle等都有参与。  在J2EE规范制定阶段让供应商参与进来,能够吸收他们在企业计算领域多年来成熟的经验,而且能够推动他们迅速开发出J2EE的产品。因为采

  • 对JSP的理解

    目录 一,JSP的定义 二, JSP的特点和常用指令 三,JSP和Servlet的关系 四,JSP和html的关系 正文 一,JSP的定义 JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准。JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP技术以Java语言作为脚本语言,为用户的HTTP请求提供服务,并能与服务器上的其它Java程序共

Global site tag (gtag.js) - Google Analytics