生产环境力求稳定、安全,然而这两者有时会产生矛盾,传统更新方法只是一味将旧有软件升级,不考虑兼容性,并且更新量可能很大,当生产环境存在安全漏洞,一味地进行全量更新可能会影响业务。
一种解决方法是自建yum源,从源头控制软件包的升级操作。
另一种方法则是从服务器自身进行控制,省却自建yum源的操作,管理更灵活。与上面方法各有优势。
第二种方法用到的就是 yum 的 security update,国内相关资料比较少而且并不系统,下面系统的介绍下。
yum security update适用于redhat/centos系统,版本涵盖5、6、7。fedora并未测试
1、插件安装
不同系统版本,yum security update 的安装操作有些许不同。
Red Hat/CentOS 5
yum install yum-security
Red Hat/CentOS 6
yum install yum-plugin-security
Red Hat/CentOS 7
已集成到yum内部,无需安装额外插件
2、使用
不同系统版本,yum security update 的使用操作有些许不同。
不同操作:
Red Hat/CentOS 6,7
#列出所有勘误的软件(存在问题的软件包) yum updateinfo list available #列出所有可用的安全更新 yum updateinfo list security all yum updateinfo list sec #列出已安装软件包的相关信息 yum updateinfo list security installed
Red Hat/CentOS 5
#列出存在漏洞的软件包 yum list-sec #列出可用的安全更新 yum list-security --security
相同操作:
#列出详细的描述 yum info-sec #安装所有可用的安全更新 yum -y update --security #只安装勘误的安全更新 yum update-minimal --security -y
另外,yum安全插件也支持直接CVE信息检索
yum update --cve cve-name
例如:
yum update --cve CVE-2008-0947
#查看高危漏洞公告
yum updateinfo list
#针对高危漏洞公告的某一项进行单独升级
yum update --advisory=FEDORA-EPEL-2017-58105a4f7f
#查看高危漏洞的详细信息
yum updateinfo FEDORA-EPEL-2017-58105a4f7f
把yum的命令讲解的很详细了,另有一点请教下,如何防止redhat系统执行#yum -y update时,不更新系统版本,比如从rhel 7.4升级完后变为rhel 7.6.
/etc/yum.conf 文件
[main]块下加入
exclude=centos-release* # 不升级 centos 系统版本,其他版本未测试
exclude=kernel* # 不升级内核版本
redhat如果是在内网环境,yum update security是不是要先自建好yum源环境。
嗯,理论上自建最好