阅读更多

7顶
1踩

操作系统

转载新闻 看Linux安全的未来

2008-12-29 15:49 by 副主编 zly06 评论(3) 有4937人浏览
不要仅仅因为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
再强大的语言碰到垃圾程序员都会编出一个垃圾程序

发表评论

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

相关推荐

  • JSP技术简介

    一、 JSP 技术概述    在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer 、 IIS4.0 在内的 85% 的服务器产品。即使您对 ASP 一往情深,我们认为,关注 JSP 的发展仍旧很有必要。    ㈠ JSP 与 ASP 的简单比较    JSP 与 Microsoft 的 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释

  • 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声明语句(用于声明全局变量) <%! 定义的变量

  • 到底什么是前后端分离

    1.到底什么是前后端分离? 前后端分离的"前"特指浏览器端(或客户端),直接呈现给用户的;后端是服务器端,处理业务逻辑和数据,不呈现给用户。 Java服务器端初学者最容易引起误解的一个概念就是:JSP是前端技术。 JSP一定一定一定要知道全称:Java Server Page。是运行在服务器端JVM之上Servlet容器里的,只是执行的结果是HTML,响应给浏览器。 Java EE先有的Servlet,那时候已经有了ASP(同样要知道是Active Server Page的意思)。 由于要在Ser

  • 二十分钟秒懂:实现前后端分离开发(vue+element+spring boot+mybatis+MySQL)

    二十分钟秒懂:实现前后端分离开发(vue+element+spring boot+mybatis+MySQL)

  • 何为前后端分离?一文搞懂前后端分离发展史

    简单讲解前后端分离技术,前后端分离技术的演进过程。

  • 什么是前后端分离

    1、前端:泛指内容展示和与用户交互的部分(客户端)① 内容展示:在网页上能看到的图片、文字、视频、数字等信息② 交互:用户在页面上通过点击按钮、输入文字等等动作,对网站提供数据输入,然后前端对用户的输入做出响应,比如更新页面上的内容HTML:网页内容CSS:视觉效果JS:用户交互2、后端:泛指控制软件输出的部分 [开发数据访问服务](服务端)前端可以通过调用后端的服务对数据进行增删查改。

  • 前后端分离架构,超全面详解~

    此文通俗易懂,全面讲解前后端分离架构核心思想与作用,对学习微服务、开发企业项目大有裨益,建议收藏细品,好好领悟!~一、简介前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+...

  • 轻松理解前后端分离(通俗易懂)

    文章目录一、前言二、前后端分离本质三、1.前后端分离2.不使用前后端分离会有什么问题 一、前言 该技术博客是关于楠哥教你学Java的前后端分离课程笔记总结,希望可以为大家带来帮助! 二、前后端分离本质 大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端分离这个一个概念,这是答非所问的。一提到前后端分离就是SpringBoot + Vue,这并不是正确的理解! 我们问的是:你为什么采用这种方式解决问题 回答却是:你是如何去具体做这件事 前后端分离是:软件技术和业务发展到一定程度,在项目管理工作上必须进

  • 【JavaWeb】JSP简介

    【学习记录】Java后端路线中JavaWeb——JSP(了解为主)。很多地方目前尚不能精细,还需后续打磨推敲和深挖.....

  • JSP基础详解

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

  • jsp简介及工作原理

    什么是jsp JSP全名为Java Server Pages,中文名叫java服务器页面,是一种动态页面技术,逻辑从servlet中分离出来。在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp) 为什么用 动态网页中,多数还是不动的,如果使用servlet输出

  • 技术白皮书模板V1.0

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

  • 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和Servlet

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

Global site tag (gtag.js) - Google Analytics