近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
7 J6 p( Q' J" [2 J+ P3 S
0 ]8 h: y% m Y2 P5 ^6 X6 v【漏洞详情】+ T. D6 n" q l, m
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。5 h4 t' q% ^3 [- V5 V9 Y
! G8 e1 F& D0 I/ h【风险等级】) \0 K1 ^' e. z9 Q4 G
高风险
+ @* k' W7 A! @- g% A1 ~+ r3 `6 l8 A7 t* D
【漏洞风险】/ Z5 I6 y9 s* e3 `2 U3 n4 H) A
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
% c8 A6 g/ E" Q" ?8 S3 q+ }2 t, o# x9 n4 I
【影响版本】- z; `/ u: p! g- ^' `( t% b1 s
目前已知受影响版本如下:; r% D9 y/ y% m. t. y3 g; P
FreeBSD 12(使用到 RACK TCP 协议栈)
- l4 m) A2 y$ y5 sCentOS 5(Redhat 官方已停止支持,不再提供补丁)- D( }5 i8 [! h. S- a" C) j, x
CentOS 66 @& F. T8 D x$ Q5 Y* l
CentOS 7
8 p. `3 m. I2 Y6 X3 _1 I1 E9 DUbuntu 18.04 LTS- Q/ b0 U1 X0 Z1 r% g* d8 O, b
Ubuntu 16.04 LTS1 x; `+ G: A6 A& O ~
Ubuntu 19.04$ b" s( j w- t/ c- ~, f
Ubuntu 18.10( j' g. U$ u& Y( m* r4 ]! q7 C
# a: [; e( u% g: u( `7 C3 z; s
【安全版本】7 j5 E4 V# ]3 D. q
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:5 f0 Y; `) f' z7 F# P! N5 B- M
CentOS 6 :2.6.32-754.15.34 q- S& R% i/ t
CentOS 7 :3.10.0-957.21.3/ B2 T& Z. ?; q) ?. ~
Ubuntu 18.04 LTS:4.15.0-52.56
) u. N- h' O8 F Ubuntu 16.04 LTS:4.4.0-151.178
, T5 v V1 b) z! e! G3 j1 s4 u0 U) p- X M6 q8 R
【修复建议】
) ]2 W8 r; L6 ?* V/ a/ O请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
( Q8 @$ n9 M+ [# k ^/ P1 i推荐方案:【CentOS 6/7 系列用户】
& @* l) [) a: c- ^0 n2 |/ m/ V8 p 1)yum clean all && yum makecache,进行软件源更新;4 X$ o9 w: f! ]0 X8 @
2)yum update kernel -y,更新当前内核版本;0 e, u/ n9 `0 y$ r3 b
3)reboot,更新后重启系统生效;
, a0 [% X6 R" M* h$ q4 }4 t" x6 Z 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
3 w( U! x6 F9 H/ l+ ^8 w推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
# k' F' Z3 x8 E c: K/ _ 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;0 `! \# e3 w; M8 E
2)sudo reboot,更新后重启系统生效;
6 D8 F1 g, q7 I, E6 n- |) i 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
9 Y+ s8 a" o) b4 \) W" E; T1 E临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
' l8 [9 n: c8 K# v6 b9 [* a# w# n 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;" U& Y- N9 P5 h {% x
2)sysctl -p ,重载配置,使其生效。 |