Linux TCP “SACK PANIC” 远程拒绝服务漏洞及修复方法


近日Linux内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。很多云服务商家都发布了这一信息,并提供了修复的方法,建议大家及时更新。

【漏洞详情】
由Netflix信息安全团队研究员Jonathan Looney发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。

【风险等级】
较高

【漏洞风险】
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。

【影响版本】
目前已知受影响版本如下:
FreeBSD 12(使用到 RACK TCP 协议栈)
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
CentOS 6
CentOS 7
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 19.04
Ubuntu 18.10

【修复方法】

一、CentOS 6/7系列
1)yum clean all && yum makecache,进行软件源更新;
2)yum update kernel -y,更新当前内核版本;
例如:CentOS 6 进行软件源更新并安装最新内核版本后会显示:

Installed:
  kernel.x86_64 0:2.6.32-754.15.3.el6

Dependency Updated:
  kernel-firmware.noarch 0:2.6.32-754.15.3.el6

3)reboot,更新后重启系统生效;
4)uname -a,检查当前版本是否为下面所提供安全版本,如果是,则说明修复成功。

二、Ubuntu 16.04/18.04 LTS系列
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
2)sudo reboot,更新后重启系统生效;
3)uname -a,检查当前版本是否为下面所提供安全版本,如果是,则说明修复成功。

三、临时缓解方案
如不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用(可能会对网络性能产生一定影响),运行如下命令即可:
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
2)sysctl -p ,重载配置,使其生效。

【安全版本】
各大Linux发行厂商详细内核修复版本如下:
CentOS 6 :2.6.32-754.15.3
CentOS 7 :3.10.0-957.21.3
Ubuntu 18.04 LTS:4.15.0-52.56
Ubuntu 16.04 LTS:4.4.0-151.178

标签:

文章发布时间:2019-06-24