1991年,芬兰赫尔辛基大学的学生林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)在使用一个叫作Minix的操作系统。Minix(名称来源于“mini-Unix”)是设计用于教学的一个类Unix的操作系统。虽然林纳斯喜欢Minix的许多功能,但他发现其还是有很多不完善的地方。1991年8月25日,他在网上发表了下面这个帖子:
“所有Minix的使用者,大家好。我正在为使用386或486处理器的计算机开发一款(免费)操作系统(只是一个业余爱好,不会像是GNU那样庞大或专业)。从4月开始酝酿,现在开始着手准备。我想要收到大家喜欢或不喜欢Minix系统的所有反馈,因为我开发的这个操作系统与Minix很像(具有相同的文件系统设计(由于一些现实的原因)以及一些其他方面)。”
这个“只是业余爱好”的项目最后变成了Linux的起源。从那之后,林纳斯的项目已经成长为现代IT生态中的关键组成部分。它已经成为世界上数以百万计的服务器使用的强大的操作系统。实际上,我们已经很难离开Linux,因为它在支撑着大量的移动电话(安卓是基于Linux的)的使用,大量的Web服务器、邮件服务器,以及因特网上的其他服务器都选择Linux作为其操作系统。
Linux系统的安全性
纵观整个IT产业,Linux得到了广泛的运用,且由于具有安全性、低成本及可扩展性,常被作为通用平台的替代品。Linux操作系统运行在各种服务器上,包括邮件服务器和Web服务器。此外,Linux作为软件开发平台更是受到程序员的青睐。
和所有其他操作系统一样,网络安全(cybersecurity)也是Linux系统使用者的痛点。由于Linux系统上运行着各式各样的软件,还存在不同版本的Linux(我们称之为发行版),网络安全涉及系统的使用者和管理者,非常复杂。
遗憾的是,在关于Linux的书籍或课程里经常忽略网络安全这个部分。通常情况下,这些书籍和课程只是关注如何使用Linux,而网络安全则被认为是后续才需要考虑的事情,或者是具备丰富经验的“老司机”才能学懂的高级课题。之所以这样,可能是因为这些书籍和课程的作者认为网络安全是很难学习的部分,但研究Linux而又忽略安全本身就是一个巨大的错误。
为什么说网络安全是学习Linux的重要组成部分?原因之一是,Linux是一个真正的多用户系统,这意味着即使是普通用户(最终用户)也需要懂得如何保护自己数据的安全,以防止他人窃取。
另外一个原因是,大多数Linux系统都运行着许多网络服务,这些服务通常都直接暴露到因特网上。在我们加固自己的个人Linux系统或整个公司的Linux服务器的时候,需要意识到全世界有无数双眼睛在盯着我们,想要窥探我们的数据。
《Linux网络安全精要》
本书英文原版入选BookAuthority2019年评选的“学习Linux最适合的10本新书”
涵盖CompTIA Linux+和LPIC-1考试的关键主题
本书的目标是让你掌握一个Linux专业人士应该具备的技能,所采用的方法也是典型的从零开始学起,但用了独特的方法来时刻关注安全。在本书中,你会找到安全问题的参考资料。整本书都会讨论安全性,并将重点放在创建安全策略上。
Linux是一个很广泛的话题,不可能在一本书里把它全部讲完,Linux安全亦是如此。我们已经尽可能详细地讲述,但我们还是鼓励你在本书引入的话题上独自探索,以取得更大的进步。
本书的读者对象
或许回答“这本书不适合谁阅读”这个问题会更容易些,Linux的发行版被形形色色的用户所采用,包括:
上面列的这些甚至都不完整,Linux无处不在!Android手机使用Linux操作系统,无数的Web服务器和邮件服务器运行在Linux系统上,许多网络设备上也运行着嵌入式Linux系统,例如路由器和防火墙。
本书适合那些想要更好地使用Linux系统,想让他们所使用的Linux系统尽可能安全的读者阅读。
本书的组织结构
第一部分 Linux基础
第1章深入讲解Linux各相关组件的基本信息,你会学习Linux操作系统的不同组件,以及什么是发行版,还会学习如何安装Linux操作系统。
第2章涵盖在Linux环境下需要用到的一些基础命令。
第3章介绍在Linux下获取更多帮助信息的方法,包括操作系统自带的文档,以及一些重要的网页资源。
第4章重点关注文本文件的编辑工具。编辑文本文件是一项非常重要的Linux任务,因为大多数配置文件都保存在文本文件里。
第5章回顾如何处理Linux系统中可能会出现的错误,详细介绍如何在Linux环境中排除系统问题。
第二部分 用户和用户组
第6章主要是对用户组账户的管理,包括增加、修改和删除组,要特别注意系统组(或特殊组)以及理解主组和附属组之间的区别。
第7章涵盖与用户账户相关的内容,如何创建和保护账户,以及如何给用户提供账户安全防护方面的最佳安全实践。
第8章讲述如何运用在第6章和第7章所学到的知识制订账户安全策略。
第三部分 文件和数据存储
第9章主要介绍如何利用Linux权限来保护文件,深入探讨很多高级主题,例如特殊权限、umask、访问控制列表(ACL)以及文件属性等。
第10章涵盖与本地存储设备相关的概念,包括如何创建分区和文件系统,以及文件系统的一些基本功能。
第11章涵盖本地存储设备管理的高级功能,包括如何使用autofs,以及如何创建加密文件系统。你还会了解逻辑卷—逻辑卷是本地存储设备管理的另一种方式。
第12章讨论如何使存储设备在网络上可用,还会讨论文件系统共享技术,例如NFS、Samba和iSCSI。
第13章讲述如何运用第9~12章所学的知识制订存储安全策略。
第四部分 自动化
第14章介绍两组工具,可以让我们在将来的某个时间自动运行进程。crontab系统允许用户以固定的间隔来执行程序,例如一个月或者两周。at系统为用户提供了在将来特定时间执行某个程序的方法。
第15章介绍将BASH命令放进文件中来创建更复杂的命令集合的基础知识。脚本用于存储以后可能需要用到的指令。
第16章介绍普通用户和系统管理员都会自动化的一些日常任务。重点是安全性,但也会演示其他自动化任务,特别是那些与前几章讨论的主题相关的任务。
第17章讲述如何运用第14~16章所学的知识制订自动化安全策略。
第五部分 网络
第18章涵盖配置和保护网络连接时所需要了解的基础知识。
第19章包含配置系统以连接到网络的过程。
第20章涵盖配置几个网络工具的过程,包括DNS、DHCP和邮件服务器。
第21章涵盖配置几个网络工具的过程,包括Apache Web服务器和Squid。
第22章探讨如何通过网络登录远程系统。
第23章讲述如何运用第18~22章所学的知识制订网络安全策略。
第六部分 进程和日志管理
第24章包括如何启动、查看和控制进程。
第25章包括如何查看系统日志,以及如何配置系统来创建自定义的日志条目。
第七部分 软件包管理
第26章包含如何在基于Red Hat的发行版本(例如Fedora和CentOS)上管理软件包。
第27章包含如何在基于Debian的发行版本(例如Ubuntu)上管理软件包。
第28章介绍系统引导的过程和相关工具的使用。
第29章讲述如何运用第26~28章所学的知识制订软件包管理安全策略。
第八部分 安全任务
第30章介绍黑客用来收集系统信息的技术。通过学习这些技术,你应该能够制订出更好的安全计划。
第31章探讨如何配置防火墙软件来保护系统免受网络攻击。
第32章介绍一些用来判断是否有人成功地危害了你的系统安全的一些工具和技术。
第33章涵盖一些其他的Linux安全特性,包括fail2ban服务、虚拟专用网(v*n)和文件加密。
作者简介
威廉·罗斯韦尔
(William “Bo” Rothwell)
在14岁这个易受外界影响的年龄,威廉·罗斯韦尔与TRS-80微型计算机系统(也被亲切地称为“Trash 80”)相遇了。他的家长犯了一个错误,让他与TRS-80单独待在一起,不久之后,他就把TRS-80拆了,并开办了他的第一堂计算机课,向他的朋友们展示这个“计算机”的工作原理。
从这次经历开始,他对理解计算机的工作原理并与他人分享这些知识的热情使他在IT培训方面获得了一份有价值的工作。他的经验包括Linux、Unix以及Perl、Python、Tcl和BASH等编程语言。他是IT培训组织One Course Source的创始人和总裁。
丹尼斯·金赛
(Denise Kinsey)
博士、思科CISSP和休斯敦大学的助理教授。在20世纪90年代末担任Unix管理员(HP-UX)时,她意识到操作系统的强大功能和灵活性。这促使她在家里安装了不同风格的Linux,并在Linux上开设了几门学术课程。她在网络安全方面有着深厚的背景,致力于与客户和学生分享并实施最佳实践。
译者简介
王跃东
资深运维工程师,10余年工作经验,曾在折800、客如云、ThoughtWorks公司工作,擅长运维架构和运维自动化开发。目前就职于一家互联网教育公司,主要专注于容器化和Kubernetes方面。
王云午
从事运维工作10余年,在某大型企业任高级运维工程师,主要负责数据库、中间件及私有云平台的管理与维护工作,拥有丰富的IT运维经验。
本文内容节选自《Linux网络安全精要》一书。
更多精彩回顾
书讯 |10月书讯(下)| 双节同庆,读书正当时
书讯 |10月书讯(上)| 双节同庆,读书正当时
资讯 |TIOBE 10 月编程语言排行榜出炉:C语言居首,Python将超Java?
上新 | 百度官方出品 | 全面解读PaddlePaddle,零基础快速入门深度学习
书单 | 开学季——计算机专业学生必读的10本畅销经典
干货 | 数据分析必读干货:简单而实用的3大分析方法
收藏 | (万字长文)Spring的核心知识尽揽其中
视频 | 大佬出镜推荐不可不读系列——程序员陈彼得
点击阅读全文购买