近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
1 O" {2 W6 j' I5 f5 j
6 s! @* P( ~; M' _7 | C( P2 m- ^【漏洞详情】
% l& Q1 s4 a& E近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。6 ]# P9 V$ j! \5 V) a& |
1 w: j1 q* J: ` [【风险等级】
3 F+ Z. D% x3 p- n% p- d5 W高风险: S1 b, ?# L1 j, ~4 A+ ~
0 k1 E9 X# g1 c! t0 V6 H
【漏洞风险】0 r/ M; }2 W6 z* h3 I. P
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。. a+ L( @; l. N/ v1 L) _& W3 X4 D/ ~9 ^, G
6 }; C, r l" d) a6 J
【影响版本】+ }+ l q# }/ v8 T
目前已知受影响版本如下:3 K+ a% M$ h' `& C
FreeBSD 12(使用到 RACK TCP 协议栈)
6 q) W G* b9 W/ `0 G6 C$ S0 RCentOS 5(Redhat 官方已停止支持,不再提供补丁)
8 i1 W+ ^" ~" M2 g/ ]CentOS 6
2 l7 N4 z) W+ Y! Z& J" u( SCentOS 7- p: S7 Q2 t6 F
Ubuntu 18.04 LTS( y: m3 R$ R9 z1 Y0 O0 u& R
Ubuntu 16.04 LTS8 u& P0 f. O" E* ^2 {5 @0 Z
Ubuntu 19.04
4 r) s3 {7 m3 e: J' ?- cUbuntu 18.105 s# f( a# @3 C+ E+ q7 P
' R# [3 t8 M; [ |- l【安全版本】0 ]* X2 F( p- i8 o' W. I
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:1 y/ |9 O0 b5 U/ J1 i
CentOS 6 :2.6.32-754.15.39 q A9 W$ t; Q' r1 M5 D6 W
CentOS 7 :3.10.0-957.21.3$ s, @: k% i D
Ubuntu 18.04 LTS:4.15.0-52.56
! M& L6 H' S/ t B Ubuntu 16.04 LTS:4.4.0-151.178 * z+ @) j2 n: V) ~
1 ~5 L: h# n$ e u9 z3 r4 ]8 S, C
【修复建议】" Q* E! }. j6 W, {7 z6 `* l
请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:8 M! c4 B5 l2 n
推荐方案:【CentOS 6/7 系列用户】
1 x; H( j, G/ O' S: F 1)yum clean all && yum makecache,进行软件源更新;% x) O* _8 N9 o+ X* ]8 ?
2)yum update kernel -y,更新当前内核版本; n D( { W, W$ j4 X
3)reboot,更新后重启系统生效;
) C7 v, O& ^. N( x) A 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
: t3 ?' i0 J# v0 _" A& l推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】; U4 ?" C: G& m; y5 N* N
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;0 t/ P- X' E" P
2)sudo reboot,更新后重启系统生效;( c C2 c0 Y$ ?7 P0 d3 A% E9 t1 c
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。, q2 t+ x* V, t1 X/ s6 f$ U
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
5 j7 Z% ^* u! g8 h$ G/ ~# g. j6 l 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
5 ^5 p1 a5 h& @& p 2)sysctl -p ,重载配置,使其生效。 |