近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
- W+ D1 z6 h+ F. r: @4 ]0 b- h: `
【漏洞详情】' N/ c# b* M# l
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
# E) t" e. J2 N( O/ U8 F; h4 [: Z6 I' `
【风险等级】' q7 ^/ o) X. L3 y( J9 B
高风险% o1 S& }. O3 a5 u. ]' s* E- Z, ?, S
4 |: w7 m9 v, T% i【漏洞风险】5 A# m: a5 i2 |; \
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。) _' |% }0 y0 I7 h# _! b
+ ]2 q" ]: ?4 s: E【影响版本】
0 v* W; l- t) K, y( p% m* T; t目前已知受影响版本如下:+ C; ^- U5 a/ V9 F( f
FreeBSD 12(使用到 RACK TCP 协议栈); C3 g4 u; W1 v7 h) f4 g8 ?
CentOS 5(Redhat 官方已停止支持,不再提供补丁)2 I$ g |! J4 E. q x
CentOS 6
* d: L, Y1 i3 a9 W: Y8 i; Z( tCentOS 7
7 j/ H6 b. E& _5 V/ [Ubuntu 18.04 LTS$ w) L5 p5 B( C2 H. J
Ubuntu 16.04 LTS
) n8 d7 W2 j" I' u% j" o( F( X. u- ~Ubuntu 19.04
9 V' ~ @- ]( y7 PUbuntu 18.108 G6 E: e8 j1 S' j! U4 Y4 y
7 z1 A- n4 v, m
【安全版本】- q8 r2 ?% Z* n' l3 W/ s
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
. d h5 h6 l- K7 V+ v3 ? CentOS 6 :2.6.32-754.15.3
- q. S, E! O2 u. Z2 \8 D: n CentOS 7 :3.10.0-957.21.3) `- x, u* Y5 y L0 w* q; j) j$ _: }
Ubuntu 18.04 LTS:4.15.0-52.56
" p0 c' g8 }7 V2 ?! N Ubuntu 16.04 LTS:4.4.0-151.178
; J$ @2 \0 V# K/ e9 w3 f3 \& R2 G. O g: z/ S: @
【修复建议】
' X Y3 C& T; A2 m0 r2 o请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
8 M+ r3 s* M* x( B* a7 S! _推荐方案:【CentOS 6/7 系列用户】
# |5 _: ?( V0 t# ~5 Z 1)yum clean all && yum makecache,进行软件源更新;, ?0 h U4 p$ D7 @7 B1 i* b
2)yum update kernel -y,更新当前内核版本;
6 M5 @0 v4 g3 K 3)reboot,更新后重启系统生效;# y' _, X7 k7 z% a2 Y, i' X$ R# J
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
( _* N* n3 E9 N+ h推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】( s @9 A& ^% J: N+ E5 _& [
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
" g4 E& g4 x& a) C" C8 f 2)sudo reboot,更新后重启系统生效;
4 P9 T% C( p* a) k( W0 `" g5 c 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
/ a( d6 |5 M# J0 `! _' M7 Z临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:, L- E) Y! A' N" X" m2 R
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
1 X. J) Q( ]$ Z5 ^! v( o 2)sysctl -p ,重载配置,使其生效。 |