搬瓦工 VPS 修复 Linux 内核 TCP “SACK PANIC” 远程拒绝服务漏洞方法

近日,国外某安全研究组织披露 Linux 内核存在 TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。国内国外各大云厂商也第一时间发布了漏洞修复方法,本文介绍一下对于搬瓦工 VPS 如何修复这些漏洞。毕竟对于建站朋友来说,安全之事不可轻视。在搬瓦工上修复 Linux 内核 TCP SACK 漏洞还是比较方便的,本文也借鉴了腾讯云、阿里云、RedHat 等厂商的一些漏洞修复方法,相关链接会附在文章最后。

一、TCP “SACK PANIC” 漏洞简单描述

介绍漏洞之前我们先看一下什么是 TCP SACK:

SACK (Selective ACK) 是 TCP 选项,它使得接收方能告诉发送方哪些报文段丢失,哪些报文段重传了,哪些报文段已经提前收到等信息。根据这些信息 TCP 就可以只重传哪些真正丢失的报文段。

1、漏洞概况

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

2、风险等级

  • CVE-2019-11477 高危
  • CVE-2019-11478 中危
  • CVE-2019-11479 中危

3、漏洞风险

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

4、影响范围

目前已知受影响版本如下:

  • 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,Ubuntu 16.04 LTS、18.04 LTS。

二、TCP “SACK PANIC” 漏洞解决方法

解决方法有三种,下面分别分享。不管哪种方法,都需要先 通过 SSH 登录搬瓦工 VPS,登录方法参考:《搬瓦工VPS/Bandwagonhost 基础教程 – 新手拿到VPS后如何登录SSH》。

方法一:临时禁用 TCP SACK

echo 0 > /proc/sys/net/ipv4/tcp_sack
sysctl -w net.ipv4.tcp_sack=0

该方法直接将 TCP 的 SACK 机制禁用了,造成的影响是:如果 TCP SACK 被禁用,则需要在某些数据丢失时重新发送包括大量数据的所有数据流。也就是会影响网络性能(尤其是丢包率比较高的情况下),目前本站已将 SACK 禁用观察了一会儿影响还挺大的,所以建议采用方法二和方法三。

方法二:升级到最新内核

各大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

也就是说,把系统的内核升级到这些版本就可以了。升级方法如下:

CentOS 6 / 7:

yum clean all && yum makecache  // 进行软件源更新;
yum update kernel  -y  // 更新当前内核版本;
reboot  // 更新后重启系统生效;
uname -a  // 检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。

Ubuntu 16.04 LTS / 18.04 LTS:

sudo apt-get update && sudo apt-get install linux-image-generic  // 进行软件源更新并安装最新内核版本;
sudo reboot  // 更新后重启系统生效;
uname -a  // 检查当前版本是否为【安全版本】,如果是,则说明修复成功。

需要注意的是:Ubuntu 16.04 LTS 默认内核 4.4 版本是不带谷歌 BBR 加速的,所以 Ubuntu 16.04 用户如果想同时启用 BBR 的话目前看来只能先暂时禁用 TCP SACK,或者直接将内核升级到 4.15 版本(我没试过,不知道会不会存在问题)。

方法三:安装系统补丁

补丁 1:

https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_1_4.patch

Linux 内核版本 >=4.14 还需要打补丁 2:

https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_1a.patch

打补丁的方法请自行搜索,我才疏学浅试了下并没有很成功,所以这个方法不是很推荐。

三、结语和参考文献

大家有条件的尽快修复该漏洞,不过按照 Freebuf 上面的评论,也不必过于慌张:

2019年6月18日,RedHat官网发布CVE编号为CVE-2019-11477的漏洞,此漏洞是一个底层协议栈的整数溢出漏洞,影响Linux内核2.6.29及以上版本,理论上可以造成远程拒绝服务漏洞。经过我们团队分析验证,在实际环境中很难触发此漏洞,所以在实际环境中此漏洞危害没那么大。

相关参考文献整理如下,可作扩展阅读。

四、搬瓦工方案整理

搬瓦工新手入门教程:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程》。

实时库存可以查看:stock.bwg.net

1、目前最便宜的方案

如果就想买个最便宜的,可以参考《搬瓦工 $49.99/年的 CN2、KVM、CN2 GIA-E 限量方案有什么区别哪个好》。鉴于 KVM 方案相比于 CN2 方案没什么优势,推荐大家直接购买 CN2 方案,(参考《搬瓦工 KVM 方案和 CN2 方案有什么不同又该怎么选择?》)。

CN2 常规版 20 GB
  • CPU:1 核
  • 内存:1024 MB
  • 硬盘:20 GB SSD
  • 流量:1000 GB / 月
  • 带宽:1 Gbps
  • 机房:CN2 9个机房
  • 迁移:可迁移机房,流量不变
  • 价格:49.99 美元/年
KVM 常规版 20 GB
  • CPU:2 核
  • 内存:1024 MB
  • 硬盘:20 GB SSD
  • 流量:1000 GB
  • 带宽:1 Gbps
  • 机房:KVM 8 个机房
  • 迁移:可迁移,到 CN2 后流量为 1/3
  • 价格:49.99 美元/年

2、推荐的方案

目前推荐优先考虑 CN2 GIA-E 方案,目前综合来看性价比最高,建站也是首选。当然,如果预算充足,也可以直接购买香港方案。

A. 香港方案

贵且好用,建议购买。

香港特价促销款 320 GB
  • CPU:4 核
  • 内存:16384 MB
  • 硬盘:320 GB SSD
  • 流量:1000 GB / 月
  • 带宽:1 Gbps
  • 机房:香港 PCCW MCX10
  • 迁移:不可迁移机房
  • 价格:159.99 美元/月,1599.98 美元/年
香港特价促销款 640 GB
  • CPU:6 核
  • 内存:32768 MB
  • 硬盘:640 GB SSD
  • 流量:2000 GB / 月
  • 带宽:1 Gbps
  • 机房:香港 PCCW MCX10
  • 迁移:不可迁移机房
  • 价格:319.99 美元/月,3199.99 美元/年

所有搬瓦工香港方案以及详情:搬瓦工香港方案整理汇总

B. CN2 GIA-E 方案(推荐,目前性价比最高)

CN2 GIA ECOMMERCE 20GB
  • CPU:2 核
  • 内存:1 GB
  • 硬盘:20 GB SSD
  • 流量:1000 GB/月
  • 带宽:2.5 Gbps
  • 机房:DC6 CN2 GIA 机房
  • 迁移:可迁移至其他机房,流量不变
  • 价格:65.99 美元/半年,119.99 美元/年
CN2 GIA ECOMMERCE 40GB
  • CPU:3 核
  • 内存:2 GB
  • 硬盘:40 GB SSD
  • 流量:2000 GB/月
  • 带宽:2.5 Gbps
  • 机房:DC6 CN2 GIA 机房
  • 迁移:可迁移至其他机房,流量不变
  • 价格:69.99 美元/季度,229.99 美元/年

更多 CN2 GIA-E 方案,参考:《搬瓦工 DC6 CN2 GIA ECOMMERCE 方案整理》。

DC6 CN2 GIA-E 和 DC9 CN2 GIA 两个机房的区别,参考:《搬瓦工 DC6 CN2 GIA-E 和 DC9 CN2 GIA 机房区别比较以及如何选择》。

C. CN2 GIA 方案

CN2 GIA 常规版 80 GB
  • CPU:4 核
  • 内存:4096 MB
  • 硬盘:80 GB SSD
  • 流量:3000 GB / 月
  • 带宽:1 Gbps
  • 机房:CN2 GIA 机房
  • 迁移:可迁移至其他机房,流量不变
  • 价格:32.99 美元/月,339.99 美元/年
CN2 GIA 常规版 160 GB
  • CPU:6 核
  • 内存:8 GB
  • 硬盘:160 GB SSD
  • 流量:5000 GB / 月
  • 带宽:1 Gbps
  • 机房:CN2 GIA 机房
  • 迁移:可迁移至其他机房,流量不变
  • 价格:62.99 美元/月,645.99 美元/年

更多 CN2 GIA 方案以及详情:搬瓦工 CN2 GIA 所有方案整理

D. CN2 方案

CN2 常规版 20 GB
  • CPU:1 核
  • 内存:1024 MB
  • 硬盘:20 GB SSD
  • 流量:1000 GB / 月
  • 带宽:1 Gbps
  • 机房:CN2 9个机房
  • 迁移:可迁移机房,流量不变
  • 价格:49.99 美元/年
CN2 常规版 40 GB
  • CPU:1 核
  • 内存:2048 MB
  • 硬盘:40 GB SSD
  • 流量:2000 GB
  • 带宽:1 Gbps
  • 机房:CN2 9个机房
  • 迁移:可迁移机房,流量不变
  • 价格:52.99 美元/季半年,99.99 美元/年

更多 CN2 方案以及详情:搬瓦工 CN2 所有方案整理汇总

未经允许不得转载:Bandwagonhost中文网 » 搬瓦工 VPS 修复 Linux 内核 TCP “SACK PANIC” 远程拒绝服务漏洞方法