近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。4 t+ Z" q% d' `% X! x) f9 {' g* p
" M0 p7 J8 y: j【漏洞详情】
0 _0 o8 F5 u& ]8 _9 Q近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。( D) X9 _2 ^$ i( A) z& X+ G9 `1 U6 k
( L7 K. Z3 F! L, T, }3 ?【风险等级】
; ]! z" W4 o& m高风险: M6 O/ k: F2 | Z' R) C
* h9 f6 P, i4 t& G4 ^ U
【漏洞风险】
f8 l- H. w5 k& n远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。- T3 ]9 P" R" O( c9 e
2 L( t/ N" j( N# J6 h, n- g. c
【影响版本】
+ ^9 r$ [6 M) f* l/ _4 |) y目前已知受影响版本如下:
/ J& D* L: ? L: ~FreeBSD 12(使用到 RACK TCP 协议栈)% f( M% P( f. s. [
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
, b" L% n5 E$ g1 @+ I( J3 VCentOS 6
5 @2 }. T2 x/ W! oCentOS 7
* u. G7 A( p4 ?# {8 L" kUbuntu 18.04 LTS
: W! {5 e4 C# ?0 Z% WUbuntu 16.04 LTS
, C& ~, w+ f* ]( o3 RUbuntu 19.04
( ]! O* `8 C7 s2 ~0 y: R/ o8 J, O1 rUbuntu 18.10/ _* J% j3 l1 G4 j2 t, k
6 T/ b/ O& I4 G: v. U
【安全版本】" P3 o7 ~ w6 L ?1 u4 P, F& a
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:' p8 h, {0 m8 e. f j
CentOS 6 :2.6.32-754.15.3
0 Z) Y( D- X6 a5 l CentOS 7 :3.10.0-957.21.3
0 K% [! U: {% f& \: C' E Ubuntu 18.04 LTS:4.15.0-52.56+ r5 g; Q- t% V. @
Ubuntu 16.04 LTS:4.4.0-151.178
/ }5 X0 e5 N3 t$ M+ C) t7 p! M+ j' f) X
: U6 p7 ?' |8 w; D% B0 G【修复建议】$ \: j* Y& V5 ~" p9 `3 c
请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:) u4 U5 [* N9 ^8 T. ]4 l- _
推荐方案:【CentOS 6/7 系列用户】7 q% Y2 s' o' A! Y
1)yum clean all && yum makecache,进行软件源更新;1 m9 L1 `3 \# J
2)yum update kernel -y,更新当前内核版本;+ q1 p$ Y2 Q9 t
3)reboot,更新后重启系统生效;/ b7 h# y; U' g, y; r/ K( v4 w
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
% R" M, j) \4 m. M4 L0 f0 w+ D: k6 g8 b推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】8 j, h, R) [2 k' J8 {1 Z
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;( f0 X# C' O" M% T( p, M
2)sudo reboot,更新后重启系统生效;
) q( k9 \& Q9 m. m 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。( K; I5 {" } _* v0 R8 i
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
3 D b3 V. e" N$ o# S9 O' m8 b 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;9 F: N/ j' C+ b+ T
2)sysctl -p ,重载配置,使其生效。 |