Linux系统安全性分析
很多人看到系统修复模式这节内容时,都会有所感慨:Linux 的密码破解太容易了,这样的操作系统还安全吗?Linux 不是以安全性著称的吗?
图 1 密码安全
本节,我们结合图 1 解释一下类似的问题。
我们一开始始为了安全,给用户设定密码,但是这样密码可以很容易地被单用户模式破解。我们又想到,进入单用户模式,需要在 GRUB 启动界面上按"e"键,那么我们就给 GRUB 加密,必须输入正确的 GRUB 密码,才能进入 GRUB 的编辑界面,这样就保证了用户密码的安全。
不过,GRUB 加密是可以通过进入光盘修复模式,直接删除 GRUB 配置文件中的 password 行而被破解的。接着我们又想到,进入光盘修复模式,是需要通过光盘启动系统的,那么我们给 BIOS 加密,这样就必须输入正确的 BIOS 密码,才能修改光盘的启动顺序。但是 BIOS 加密是可以通过拔除主板电池而删除的。那我们只能把服务器机箱锁起来,但只是一把锁而已,完全可以被螺丝刀撬开!
其实,这里是大家对概念的理解有误。任何一个需要密码的设备,不论是 Windows、Linux、交换机、路由器,还是一个需要密码的软件,都必须留有破解密码的漏洞。如果我们的计算机没有破解密码的方法,那么万一忘记了计算机的密码,难道要重新买一台吗(如果忘记了 BIOS 密码,又不能破解,当然不能重新安装系统了)?
当然不能是这样的,所以这些漏洞是必须预留的。这些漏洞是不会影响系统安全的,因为我们可以拿到计算机本身。如果我们能够拿到计算机,就认为我们对这台计算机拥有所有权。我们所说的安全性主要是指在对计算机没有所有权时要保证绝对安全。
而且大家要注意,如果 root 没有密码,那么本机登录是没有任何问题的,但是不可能远程登录。所以我们所说的安全性主要针对的是网络安全。
图 1 密码安全
本节,我们结合图 1 解释一下类似的问题。
我们一开始始为了安全,给用户设定密码,但是这样密码可以很容易地被单用户模式破解。我们又想到,进入单用户模式,需要在 GRUB 启动界面上按"e"键,那么我们就给 GRUB 加密,必须输入正确的 GRUB 密码,才能进入 GRUB 的编辑界面,这样就保证了用户密码的安全。
不过,GRUB 加密是可以通过进入光盘修复模式,直接删除 GRUB 配置文件中的 password 行而被破解的。接着我们又想到,进入光盘修复模式,是需要通过光盘启动系统的,那么我们给 BIOS 加密,这样就必须输入正确的 BIOS 密码,才能修改光盘的启动顺序。但是 BIOS 加密是可以通过拔除主板电池而删除的。那我们只能把服务器机箱锁起来,但只是一把锁而已,完全可以被螺丝刀撬开!
其实,这里是大家对概念的理解有误。任何一个需要密码的设备,不论是 Windows、Linux、交换机、路由器,还是一个需要密码的软件,都必须留有破解密码的漏洞。如果我们的计算机没有破解密码的方法,那么万一忘记了计算机的密码,难道要重新买一台吗(如果忘记了 BIOS 密码,又不能破解,当然不能重新安装系统了)?
当然不能是这样的,所以这些漏洞是必须预留的。这些漏洞是不会影响系统安全的,因为我们可以拿到计算机本身。如果我们能够拿到计算机,就认为我们对这台计算机拥有所有权。我们所说的安全性主要是指在对计算机没有所有权时要保证绝对安全。
而且大家要注意,如果 root 没有密码,那么本机登录是没有任何问题的,但是不可能远程登录。所以我们所说的安全性主要针对的是网络安全。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算