近日,国外某安全研究组织披露 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及以上版本,理论上可以造成远程拒绝服务漏洞。经过我们团队分析验证,在实际环境中很难触发此漏洞,所以在实际环境中此漏洞危害没那么大。
相关参考文献整理如下,可作扩展阅读。
- https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md
- https://baike.baidu.com/item/SACK/11068287
- https://cloud.tencent.com/announce/detail/622
- https://help.aliyun.com/noticelist/articleid/1060012493.html
- https://access.redhat.com/zh_CN/security/vulnerabilities/4233431
- https://www.freebuf.com/vuls/206553.html
- https://cert.360.cn/warning/detail?id=27d0c6b825c75d8486c446556b9c9b68
四、搬瓦工方案整理
搬瓦工新手入门教程:《搬瓦工新手入门完全指南:方案推荐、机房选择、优惠码和购买教程》。
实时库存可以查看:stock.bwg.net。
1、目前最便宜的方案
如果就想买个最便宜的,可以参考《搬瓦工 $49.99/年的 CN2、KVM、CN2 GIA-E 限量方案有什么区别哪个好》。鉴于 KVM 方案相比于 CN2 方案没什么优势,推荐大家直接购买 CN2 方案,(参考《搬瓦工 KVM 方案和 CN2 方案有什么不同又该怎么选择?》)。
- CPU:1 核
- 内存:1024 MB
- 硬盘:20 GB SSD
- 流量:1000 GB / 月
- 带宽:1 Gbps
- 机房:CN2 9个机房
- 迁移:可迁移机房,流量不变
- 价格:49.99 美元/年
- CPU:2 核
- 内存:1024 MB
- 硬盘:20 GB SSD
- 流量:1000 GB
- 带宽:1 Gbps
- 机房:KVM 8 个机房
- 迁移:可迁移,到 CN2 后流量为 1/3
- 价格:49.99 美元/年
2、推荐的方案
- 更多性价比方案可以参考本站的方案推荐:《搬瓦工高性价比 VPS 推荐:目前哪款方案最值得买?》。
- 最新的可以购买的搬瓦工便宜方案,可以随时参考《搬瓦工目前可购买便宜方案整理》,或者查看实时库存:stock.bwg.net 。
- 各个机房的演示站点:《搬瓦工演示站点汇总(SpeedTest 速度测试 + LookingGlass 路由测试)》,测试 IP:《搬瓦工所有数据中心测试 IP》。
- 所有机房测评信息:《搬瓦工所有机房数据中心速度、性能、延迟等测评信息汇总》。
目前推荐优先考虑 CN2 GIA-E 方案,目前综合来看性价比最高,建站也是首选。当然,如果预算充足,也可以直接购买香港方案。
A. 香港方案
贵且好用,建议购买。
- CPU:4 核
- 内存:16384 MB
- 硬盘:320 GB SSD
- 流量:1000 GB / 月
- 带宽:1 Gbps
- 机房:香港 PCCW MCX10
- 迁移:不可迁移机房
- 价格:159.99 美元/月,1599.98 美元/年
- CPU:6 核
- 内存:32768 MB
- 硬盘:640 GB SSD
- 流量:2000 GB / 月
- 带宽:1 Gbps
- 机房:香港 PCCW MCX10
- 迁移:不可迁移机房
- 价格:319.99 美元/月,3199.99 美元/年
所有搬瓦工香港方案以及详情:搬瓦工香港方案整理汇总。
B. CN2 GIA-E 方案(推荐,目前性价比最高)
- CPU:2 核
- 内存:1 GB
- 硬盘:20 GB SSD
- 流量:1000 GB/月
- 带宽:2.5 Gbps
- 机房:DC6 CN2 GIA 机房
- 迁移:可迁移至其他机房,流量不变
- 价格:65.99 美元/半年,119.99 美元/年
- 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 方案
- CPU:4 核
- 内存:4096 MB
- 硬盘:80 GB SSD
- 流量:3000 GB / 月
- 带宽:1 Gbps
- 机房:CN2 GIA 机房
- 迁移:可迁移至其他机房,流量不变
- 价格:32.99 美元/月,339.99 美元/年
- CPU:6 核
- 内存:8 GB
- 硬盘:160 GB SSD
- 流量:5000 GB / 月
- 带宽:1 Gbps
- 机房:CN2 GIA 机房
- 迁移:可迁移至其他机房,流量不变
- 价格:62.99 美元/月,645.99 美元/年
更多 CN2 GIA 方案以及详情:搬瓦工 CN2 GIA 所有方案整理。
D. CN2 方案
- CPU:1 核
- 内存:1024 MB
- 硬盘:20 GB SSD
- 流量:1000 GB / 月
- 带宽:1 Gbps
- 机房:CN2 9个机房
- 迁移:可迁移机房,流量不变
- 价格:49.99 美元/年
- 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” 远程拒绝服务漏洞方法