近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
9 L9 Q3 w, N4 r( m! @4 L) G4 h! k
【漏洞详情】
( X- U. Y" z/ ~+ @近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。* x* m5 K {, O$ ]
( J% O2 w( u# r9 y, Y# T【风险等级】
! @- d. J( B- ^0 i6 p# c/ _高风险& M7 U' R1 R* g0 E
2 P1 e7 Q) V( l3 P【漏洞风险】0 J, P' Z# }% R9 o
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
8 \# i" E l& h8 `3 }2 p8 |* U/ c/ v" O' p
【影响版本】
: p2 {' o5 o8 v D- ?& T; x0 O2 B+ O目前已知受影响版本如下:7 C' u' g, { t2 H
FreeBSD 12(使用到 RACK TCP 协议栈)
! N( N0 z) u; Z ~% B% p' {CentOS 5(Redhat 官方已停止支持,不再提供补丁)
4 ?5 K" G+ ? ~3 [5 W z4 KCentOS 64 m" N4 E# U0 h* U. T$ F
CentOS 7+ W3 R$ }/ v/ y
Ubuntu 18.04 LTS+ G) U) A3 w% H9 o% [
Ubuntu 16.04 LTS
1 N# t* G; C- F9 F( eUbuntu 19.04
& ?; m+ @9 b2 V# t% JUbuntu 18.10. O8 l7 Z4 |( Y7 g. J' o
' J4 r. C$ l$ d1 n+ V! L
【安全版本】, v- |- m) @& |* ^
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:7 I' ^6 }& E) V" u5 Q, h R
CentOS 6 :2.6.32-754.15.3
0 I! c P# l4 ^* l2 D! y5 h% H' w CentOS 7 :3.10.0-957.21.3- I" Y& c( e! b! \ M$ D- Q
Ubuntu 18.04 LTS:4.15.0-52.568 q2 M$ @1 k0 j i6 _ o
Ubuntu 16.04 LTS:4.4.0-151.178
/ r- g5 E. x9 M/ B" M0 P4 u% c E6 K+ }- }0 w
【修复建议】
# O0 ]3 z- q& ?) y0 a请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:7 U7 n0 B" [2 q& ?( a$ S; }: u
推荐方案:【CentOS 6/7 系列用户】% ?6 h% `2 K$ n2 h# u
1)yum clean all && yum makecache,进行软件源更新;
2 d6 w/ ?$ ^" ^ 2)yum update kernel -y,更新当前内核版本;
1 a3 M/ h0 d% p9 h2 b* q 3)reboot,更新后重启系统生效;3 M- X* p0 z0 b B: y
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
0 k$ Q, |: P0 L/ n( I j% c0 e推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
. p2 E3 ]1 T' U/ V8 i 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;4 k/ {, _# s" r* z' C
2)sudo reboot,更新后重启系统生效;; e5 C8 t2 k4 U* x; k
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
' R3 Y/ R7 r) {: O/ i) n. [临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可: Z+ u% l/ Q7 @9 p1 u q3 d
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;- w5 a- P0 ]. V3 O9 W
2)sysctl -p ,重载配置,使其生效。 |