近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
, R3 M3 s0 I3 m# ^0 W1 p( u& J8 S: H% c3 j2 p
【漏洞详情】6 b; S! Q, L, i8 p& _' T
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。! |: g; D9 S$ g
! p) _+ j, z5 F: m4 w: [【风险等级】# l1 A: i! s' H
高风险
' W. D/ u: ] K& W. J0 o" W/ F3 ^1 Q# U I0 k1 Z
【漏洞风险】, A0 b- W' M0 }. G: }& g+ H
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
6 W7 h+ [- z4 @/ J1 n
5 h( A$ \2 e9 o6 a; E【影响版本】1 Z$ b# p! e& u( q" S6 s
目前已知受影响版本如下: M3 A% Z: e _/ S4 S
FreeBSD 12(使用到 RACK TCP 协议栈): [1 H" s& [- J. U5 A% ]8 j' i1 V
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
$ D7 z: u/ f/ z! H1 `# F. MCentOS 6' F% \. s3 {" ^: p( j! H0 |
CentOS 7; J5 T/ f) R& ]" w! r- X7 J& U
Ubuntu 18.04 LTS! b# m3 F. P/ n) y( a3 o3 t
Ubuntu 16.04 LTS
4 ?$ } Z0 L4 y0 W3 T! KUbuntu 19.048 S6 H. D u( D( Y% w
Ubuntu 18.10' Y) w' T/ n. B7 L* ]. @5 x8 F
+ b E% E2 E' h* g5 \; F
【安全版本】
" m) j* H) p( p0 j" S4 P! ]各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:) l- R; _# Q) M* h- [$ x
CentOS 6 :2.6.32-754.15.3: }7 O) V1 \6 W
CentOS 7 :3.10.0-957.21.30 }1 o: ~& ]' T+ J* T
Ubuntu 18.04 LTS:4.15.0-52.569 `% N4 D2 m2 J3 I1 a& r
Ubuntu 16.04 LTS:4.4.0-151.178
7 y$ P6 ^2 c0 @( W( b: A) A( Y _' i" F9 d3 M' B6 z- R
【修复建议】
# A; t2 x( m5 u6 A# s$ y1 Y3 k请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
* c5 m' K3 O# i% W1 P推荐方案:【CentOS 6/7 系列用户】
, [0 A" W6 k1 J% ]+ ~3 O 1)yum clean all && yum makecache,进行软件源更新;
: _) g E c- h; m$ X 2)yum update kernel -y,更新当前内核版本;3 L# P% S# e( `) P
3)reboot,更新后重启系统生效;
. _: x" t/ z" z" X 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
+ ^' O1 Z( K$ x7 W. P2 x% r+ j+ u推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
: N% _6 v$ e8 B6 {9 l! P' u% t 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
1 E$ b2 t' k$ D# x: U) T9 ? 2)sudo reboot,更新后重启系统生效;% [8 F }) G/ G
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。3 P6 R0 z; W- A& E, C
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:, y# [ i* q. c+ q1 k+ }
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;+ ^/ H, h/ ^& W J
2)sysctl -p ,重载配置,使其生效。 |