linux漏洞修复

前言

本内容根据个人经历所记,会解决大部分漏洞内容,但不一定包括全部。

软件漏洞

一般的软件漏洞,比如:GitPythonPHPMySQLVimcurl等大部分漏洞,基本上都可以通过更新软件就可以解决。

我云服务上曾经的软件漏洞200+,几个命令全部解决。

由于本人云服务器系统为 Ubuntu,所以对应的介绍都是Ubuntu的,其他系统的估计也差不太多,只是命令的差异。

1
2
3
4
5
6
7
8
9
10
// 查看Ubuntu版本
$ cat /etc/issue
Ubuntu 16.04.7 LTS \n \l
// 在更新系统中的包时,建议按顺序执行下面的命令:
// 重新同步包索引文件
$ apt-get update
// 安装系统上当前安装的所有包的最新版本 -y 表示默认 yes
$ apt-get upgrade -y
// 除执行 upgrade 升级功能外,还智能地处理与新版本包的依赖关系的变化
$ apt-get dist-upgrade -y

更新期间,可能会花十分钟左右,取决于系统内的软件的数量和大小。

常用参数介绍:

参数 解析 备注
update update 命令用于重新同步包索引文件,/etc/apt/sources.list 文件中的配置指定了包索引文件的来源。更新了包索引文件后就可以得到可用的包的更新信息和新的包信息。这样我们本地就有了这样的信息:有哪些软件的哪些版本可以从什么地方(源)安装。 update 命令应该总是在安装或升级包之前执行。
upgrade upgrade 命令用于从 /etc/apt/sources.list 中列出的源安装系统上当前安装的所有包的最新版本。在任何情况下,当前安装的软件包都不会被删除,尚未安装的软件包也不会被检索和安装。如果当前安装的包的新版本不能在不更改另一个包的安装状态的情况下升级,则将保留当前版本。必须提前执行 update 命令以便 apt-get 知道已安装的包是否有新版本可用。 注意 update 与 upgrade 的区别:update 是更新软件列表,upgrade 是更新软件。
dist-upgrade 除执行升级功能外,dist-upgrade 还智能地处理与新版本包的依赖关系的变化。apt-get 有一个 “智能” 的冲突解决系统,如果有必要,它将尝试升级最重要的包,以牺牲不那么重要的包为代价。 dist-upgrade 命令可能会删除一些包。
install install 命令用来安装或者升级包。每个包都有一个包名,而不是一个完全限定的文件名(例如,在 Debian 系统中,提供的参数是 apt-utils,而不是 apt-utils_1.6.1_amd64.deb)。被安装的包依赖的包也将被安装。配置文件 /etc/apt/sources.list 中包含了用于获取包的源(服务器)。 install 命令还可以用来更新指定的包。

更多参数请了解

系统漏洞

我更新完全部软件之后,只剩下系统相关的漏洞了,然后把服务器的全部服务先关闭,然后重启(也可以直接重启)。之后对剩下的系统相关的漏洞也进行了验证,奇怪的是,这些漏洞也都相应的修复了!😂