近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
$ R ~4 y* u1 c1 B0 ]: u
5 Z" \: R. W% e U( B2 f【漏洞详情】9 U. W: E }, _# C
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。' t( ?/ U. T& I0 t4 G& C ?$ L8 ~
4 q$ v% O; U* G& O$ z
【风险等级】
4 l) P. _; h7 C5 d' \高风险5 E) E6 \4 y7 J! G8 Q
# h% ?5 O8 t! P: F- v4 y. y
【漏洞风险】
* I' d# C1 r; w! S9 p远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
5 z% `2 s' |* ^$ ` X9 e f
. ~5 m+ D# L1 v/ N9 S【影响版本】. L" }8 X$ Z' ^. U" J, O0 |
目前已知受影响版本如下:
& a/ q% V e- m0 \" ]FreeBSD 12(使用到 RACK TCP 协议栈), ~) n2 K) ]. s4 f. A$ N
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
$ Y, h; L' Z) {4 ]$ rCentOS 6
; ^ Y% e% ^" G% L* W3 XCentOS 7
3 ]( T6 j6 `+ Q. k5 O( a9 u, zUbuntu 18.04 LTS
+ z+ L; G2 J9 k: D4 [! C" gUbuntu 16.04 LTS+ i' }; f% t; S* k" \& O
Ubuntu 19.04: p9 G4 w" q) `. B
Ubuntu 18.10
. ^$ v! C* c/ ~- g9 T3 V1 t) _. i: G' l9 I- i
【安全版本】7 }& b0 U8 }7 n1 [
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
B; t# m% p/ L, r/ h# [, d* k( C8 C CentOS 6 :2.6.32-754.15.3- [2 p& J% K3 W7 G5 S. v) z, _
CentOS 7 :3.10.0-957.21.3
1 C$ D4 j' ]3 X, T' [ Ubuntu 18.04 LTS:4.15.0-52.56
3 p8 Q4 q) g( l Ubuntu 16.04 LTS:4.4.0-151.178 * p/ A( B6 n& I9 x
3 Y) P. q% ^6 |# ]) g; J【修复建议】7 C* O& v5 { U. k [: a5 f" W
请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
+ h( u# }! l" {9 X2 I推荐方案:【CentOS 6/7 系列用户】. d! D$ }- f. `" \9 d
1)yum clean all && yum makecache,进行软件源更新;) V0 X' L7 t9 ?' a s
2)yum update kernel -y,更新当前内核版本;) i0 E( u! H% m
3)reboot,更新后重启系统生效;( @+ C7 Y3 r. r6 R* x- S; q
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
" |4 D1 m/ O/ n' R1 w推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】0 {. i1 L+ Q& |9 P) A/ k4 y; [/ n
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;1 ~0 U. E7 I5 I$ O: t( C7 i
2)sudo reboot,更新后重启系统生效;
% Q k) c3 g- f% T, L 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
( s, G$ ^/ _! b2 j" q临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:! l5 R; U6 G3 t- D: ?5 N0 S
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
3 k# P1 ? \& Q# K; y: | 2)sysctl -p ,重载配置,使其生效。 |