近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。0 r6 x. E0 C, _& N, F% }2 f' O
- q. Y! T" O) F" J3 b( s
【漏洞详情】
/ x% `2 J, A. p! F4 q6 `近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。7 ^. m3 P3 T A7 @( C) c
# C* S( Q8 q, x' g% O【风险等级】0 q" X5 A8 ^& r3 x* H
高风险
) Q. I1 O. ~4 j: o3 ^9 w I# e( N7 q5 @8 t6 J$ X
【漏洞风险】
5 l$ R7 W+ T% ~2 v远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。: Y5 J5 z* t @: ~$ ?7 l$ v+ b
& [7 F; k" J7 w: |& m3 q
【影响版本】4 s6 Y" K3 d7 s! m! n! A
目前已知受影响版本如下:
2 N! o c- n1 oFreeBSD 12(使用到 RACK TCP 协议栈)
3 W+ `, v- B4 x: h" p: X9 G8 [" gCentOS 5(Redhat 官方已停止支持,不再提供补丁)
8 `( s/ @' H5 } J9 kCentOS 62 Z$ h% c! F: _5 b3 ?
CentOS 7
% |1 Y, r, [7 Z" gUbuntu 18.04 LTS
! s% E! L9 N1 U5 tUbuntu 16.04 LTS
, u1 t4 s" r; m* C: i y/ {. EUbuntu 19.04/ \- l% x3 t+ f5 G. v' K( ~# f
Ubuntu 18.10; `9 L& ^9 N8 B* { A3 I- [& y
. {* l5 f/ J- w% j8 F% K【安全版本】6 E, J5 {, W D l9 a J
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:& i! a/ \* _& Z1 I2 P
CentOS 6 :2.6.32-754.15.3$ \8 d0 G* h* { ~3 O
CentOS 7 :3.10.0-957.21.3 t/ T d& `# k8 h* F# [) I
Ubuntu 18.04 LTS:4.15.0-52.56
; U9 ?% Z; o7 Z0 n. U' s0 X. C Ubuntu 16.04 LTS:4.4.0-151.178
& z. {. K8 D) k0 Q3 Y2 a
9 b0 T7 V! _8 K% o! o6 x1 v【修复建议】
: D6 A9 [9 e4 Y/ j5 Y4 t请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:3 }7 W! D6 T( O- q) t! b
推荐方案:【CentOS 6/7 系列用户】# N! O7 g/ ]: ]6 x7 @8 \" w- R! i
1)yum clean all && yum makecache,进行软件源更新;
8 e' ~8 S4 I8 j! }' B6 ?8 e 2)yum update kernel -y,更新当前内核版本;
- o- t% t, [# Q 3)reboot,更新后重启系统生效;! W4 F" T* Z' i1 m
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
) y" ?" M5 m( y5 b" r% I* g1 H% u推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
A7 ]0 q/ P6 J& Q 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;, D* Z5 @$ h* ^9 i
2)sudo reboot,更新后重启系统生效;
. }' ^& L+ A) | 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
R# N& k/ s8 j9 Y) Z7 B: {6 K临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
: j3 f: w/ Q1 S- ` 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
# r) o% k+ t g 2)sysctl -p ,重载配置,使其生效。 |