Linux系统安全(一):什么是安全?

2019 年 8 月 19 日

Linux系统安全(一):什么是安全?

著名网站技术调查公司W3Tech 于 2018 年 11 月 17 日发布调查报告 指出,Linux 在网站服务器操作系统中比例高达 37.2%。除了被广泛使用在网站平台上以外,Linux 也常常作为 FTP 服务器、电子邮件服务器、域名解析服务器和大数据分析服务器等而部署在互联网上。


Linux 作为互联网基础设施的一个重要组成部分,保障其安全性的重要性不言而喻。虽然 Linux 是一款被大量部署的优秀的开源操作系统,但是这并不意味着不需要关注其安全性。在互联网上,也有许许多多针对 Linux 系统的攻击。例如,中国国家计算机病毒应急处理中心 在《病毒预报 第七百六十九期》中指出,“通过对互联网的监测,发现了一款旨在感染 Linux 设备的加密货币挖矿恶意程序 Linux.BtcMine.174。该恶意程序在不经过设备所有者同意的情况下使用 CPU 或 GPU 资源来进行隐蔽的加密货币挖掘操作。”


如果缺乏缜密细致的防御措施,如果缺乏积极主动的安全扫描,如果缺乏行之有效的入侵检测系统,如果缺乏切实到位的安全管理制度和流程保障,那么 Linux 系统也同样很容易被黑客入侵利用,此时保障业务和数据安全将成为空话一句。


什么是安全


一千五百多年前由从梵文译成汉文的《百喻经·愿为王剃须喻》讲述了亲信救王的故事。故事中写到“昔者有王,有一亲信,于军阵中,殁命救王,使得安全。”这里的安全就是指的“平安、不受威胁”。


同样,我认为,安全是指一种状态,在这种状态下,某种对象或者对象的某种属性是不受威胁的。《中华人民共和国网络安全法》第五条中指出网络安全的目的之一就是“保护关键信息基础设施免受攻击、侵入、干扰和破坏”,也就是保护关键信息基础设施不受威胁。


什么是信息安全


对于什么是信息安全(Information Security),不同的组织和个人可能有着不同的定义。


ISO/IEC、美国国家安全系统委员会和国际信息系统审计协会对信息安全的定义是被大部分信息安全从业人员所认可并支持的。《ISO/IEC 27001:2005 信息安全管理体系规范与使用指南》中对信息安全的定义是“保护信息的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)及其他属性,如:真实性、可确认性、不可否认性和可靠性。”


美国国家安全系统委员会(Committee on National Security Systems,CNSS)在《Committee on National Security Systems: CNSS Instruction No. 4009》对信息安全的定义是,“为了保障机密性、完整性和可用性而保护信息和信息系统,以防止未授权的访问、使用、泄露、中断、修改或者破坏。”


国际信息系统审计协会(Information Systems Audit and Control Association,ISACA)对信息安全的定义是,“在企业组织内,信息被保护,以防止被泄露给未授权用户(机密性)、防止非恰当的修改(完整性)、防止在需要的时候无法访问(可用性)”。


通过以上这 3 个定义,我们可以看出,保障信息安全的最重要目的保护信息的机密性、完整性和可用性这 3 个属性:


  • 机密性:信息仅仅能够被已授权的个人、组织、系统和流程访问到。例如,个人的银行账户交易流水和余额信息,除了账户持有人、经账户持有人授权的第三方组织、依相关法律法规规定有查询权限的组织以外,不应该被任何其他实体获取到。另外,商业组织的客户联系信息往往也具有较高的价值,也需要保护其机密性。在某些对安全要求较高的行业,甚至特别强调了对机密性的保障。例如,在《支付卡行业数据安全标准3.2.1版本(Payment Card Industry Data Security Standard,Version 3.2.1)》3.2.2条中明确指出,在授权完成后,不能在诸如日志、数据库等位置存储信用卡验证码(CVV2、CVC2、CID、CAV2等)。这是强调信用卡验证码机密性的一个例子。

  • 完整性:保护信息的一致性(Consistency)、准确性(Accuracy)和可信赖性(Trustworthiness)。例如,A公司向B公司提供的数据报告是通过电子邮件附件的形式来传输的,那么A公司就需要和B公司预先确定一种机制来检查和确认B公司收到的电子邮件附件确实是和A公司发送的一模一样的,是未被在传输过程中篡改的。

  • 可用性:当需要访问的时候,信息是可以提供给合法授权用户访问的。没有了可用性的保障,信息的价值就难以持续体现出来。


在学习信息安全的机密性、完整性和可用性这 3 个属性时,我们可以使用图 1-1 帮助记忆:



图 1-1 信息安全的 C.I.A 金三角记忆图


在考虑信息安全的时候,必须把保障信息的机密性、完整性、可用性作为最重要目标,才能建立完善和有效的保护机制,避免顾此失彼。例如,在华为公司 2019 年一号文《全面提升软件工程能力与实践,打造可信的高质量产品——致全体员工的一封信》(电邮讲话【2019】001 号 签发人:任正非)指出,“公司已经明确,把网络安全和隐私保护作为公司的最高纲领。”其同时指出,“安全性(Security)”的要求就是“产品有良好的抗攻击能力,保护业务和数据的机密性、完整性和可用性。”


信息安全的木桶原理


一般来说,信息安全的攻击和防护是严重不对称的。相对来说,攻击成功很容易,防护成功却极为困难。信息安全水平的高低遵循木桶原理(Bucket effect),如图 1-2 所示:



图 1-2 信息安全的木桶原理


如图 1-2 所示,虽然有多种多样的防护措施,但是信息安全水平有多高,却是取决于防护最薄弱的环节。木桶理论体现了安全体系建设中对整体性原则的要求。整体性原则要求我们从宏观的、整体的角度出发,系统地建设信息安全体系,一方面全面构架信息安全技术体系,覆盖从通信和网络安全、主机系统安全到数据和应用安全各个层面。另一方面,还要建立全面有效的安全管理体系和运行保障体系,使得安全技术体系发挥最佳的保障效果。


Linux 系统安全与信息安全的关系


“Linux 系统安全”与信息安全是什么样的关系呢?


首先,我们需要认识到,只有保障了 Linux 系统安全,才能保障依赖于其提供服务的信息安全。信息是有生命周期的,从其产生、收集、处理、传输、分析到销毁或者存档,每个阶段都可能有大量的设备、平台、应用介入。而为这些设备、平台、应用提供底层支持的,往往有大量的 Linux 系统(包括服务器和嵌入式设备等),其为信息的整个生命周期提供源源不断的动力支撑。


其次,我们也需要认识到,保障 Linux 系统安全是手段,保障信息安全是目的。如果一个 Linux 系统上没有存储任何有价值的信息,不生产或者传输有价值的信息,不处理和分析有价值的信息,那么这个系统也就失去了保护的价值。对 Linux 系统安全的关注,实际上是对真正有价值的信息的关注。


本文内容来自作者图书作品《Linux 系统安全:纵深防御、安全扫描与入侵检测》,点击购买


2019 年 8 月 19 日 14:165748

评论 1 条评论

发布
用户头像
胥峰大神的新书,是一定要来支持一下的,他的个人品牌就是内容质量的保证。
2019 年 08 月 19 日 17:26
回复
没有更多评论了
发现更多内容

推荐几款MySQL相关工具

Simon

MySQL 工具 percona server

以 Kubernetes 为代表的容器技术,已成为云计算的新界面

阿里巴巴云原生

云计算 Kubernetes 容器 云原生

跨语言跨平台聚合OpenAPI文档从来没有这么简单过

Trust Me

OpenAPI Knife4j Knife4jAggregation 微服务聚合OpenAPI

2020年10月北京BGP机房网络质量评测:流水的其他,铁打的世纪互联?

BonreeAPM

机房 评测

区块链技术应用开发、区块链版权应用搭建解决方案

t13823115967

区块链技术应用开发 区块链版权搭建解决方案

关于 AWS Lambda 中的冷启动,你想了解的信息都在这!

donghui2020

Serverless Faas 函数计算

成德眉资现代农业园区大联动促发展,“1链3e”引领四市农业产业数字化建设

CNG农业公链

大厂经验:一套Web自动曝光埋点技术方案

阿亮

埋点 曝光埋点 点击埋点 自动化埋点

数字化时代App们将何去何从?

fino星君

2020年9月北京BGP机房网络质量评测:天地祥云木樨园力压群芳终进前三

BonreeAPM

机房 评测

802.11抓包软件对比之Microsoft Network Monitor

IoT云工坊

wifi 嵌入式 抓包

MyBatis-技术专题-拦截器原理探究

李浩宇/Alex

前端高效开发必备的 js 库梳理

徐小夕

Java GitHub 前端 js

阿里内部11月最新出台Spring Cloud架构设计+程序开发+运维部署

Java架构追梦

Java 阿里巴巴 架构 微服务 SpringCloud

java: Compilation failed: internal java compiler error解决办法

LSJ

IDEA

重点人员管控系统开发方案,智慧警务平台搭建

WX13823153201

SpringBoot-技术专题-如何提高吞吐量

李浩宇/Alex

26张图带你彻底搞懂volatile关键字的底层实现

autoencoder

volatile 后端 多线程 并发 Java 分布式

从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计

华为云开发者社区

数据库 数据仓库 数据

肝了一周的 UDP 基础知识终于出来了。

cxuan

计算机网络 计算机基础

中小型企业创业的福音

anyRTC开发者

创业 音视频 WebRTC RTC

区块链医疗、电子票据应用落地开发解决方案

t13823115967

电子票据 区块链医疗

京东智能客服品牌焕新:“言犀”亮相2020京东JDD大会

京东智联云开发者

大数据 AI 知识图谱

讯飞推出充电宝式便携拾音器,重新定义传统拾音

Talk A.I.

《华为数据之道》读书笔记:第 4 章 面向“业务交易”的信息架构建设

方志

数据中台 数字化转型 数据治理

物化视图如何快速完成数据聚合操作?

VoltDB

数据库 数据分析 sql

距离 2020 年结束不到2个月,字节跳动员工却在闲鱼卖内推名额登上热搜!

Java架构师迁哥

表格控件Spread.NET V14.0 发布:支持 .NET 5 和 .NET Core 3.1

Geek_Willie

「干货总结」程序员必知必会的十大排序算法

bigsai

排序 排序算法 快速排序

京东千亿订单背后的纵深安全防御体系

京东智联云开发者

安全 网络 云服务 云安全

MySQL-技术专题-LEFT JOIN避坑指南

李浩宇/Alex

Linux系统安全(一):什么是安全?-InfoQ