近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
, S U% b# R: }$ I6 U2 F" {0 B
" X2 u1 B* e8 ~7 s, W【漏洞详情】8 X- N# S7 J9 @
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。: ~; u5 b* F3 g$ ?$ t8 d4 h, X
8 ]1 h& ~8 [! p6 S" L【风险等级】0 N4 P7 K/ _/ j$ `" j7 {9 B
高风险
6 c& k4 m0 U# w4 e5 C
5 W$ g7 o3 @- D% g【漏洞风险】
( L- g9 Z, D2 @% I5 V远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。) G4 ]$ V3 z# @6 A y5 B
1 @1 `+ \% P' `4 Z【影响版本】
* S3 o4 p& J! n1 n9 c7 b( F$ ?- G目前已知受影响版本如下:
" }) ?/ C8 u' A5 W! MFreeBSD 12(使用到 RACK TCP 协议栈)
/ `9 j4 A3 r! A! w) e N. X4 E3 pCentOS 5(Redhat 官方已停止支持,不再提供补丁)- R# I. ? U7 l0 `( ]* ^- l
CentOS 6
8 }& r! p4 q+ t5 m! P% e* @& fCentOS 7# K+ M- N" e" T- B k9 K' w5 }
Ubuntu 18.04 LTS* q( A9 m% E! s0 x/ {) y1 `
Ubuntu 16.04 LTS
$ Y$ Q/ i! E, X/ `' kUbuntu 19.04
) B4 d( Z4 G& J& J) N6 F) S' l. SUbuntu 18.10
, M) c/ W U$ B4 X# i
* @% j$ O h& P) {" l- t M8 Z% U【安全版本】4 x5 a/ x8 B; S+ k7 F2 K3 M
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
' |9 ^5 K4 K& _ CentOS 6 :2.6.32-754.15.3 z* K+ ]) S- N3 n% _/ A8 y7 D* o
CentOS 7 :3.10.0-957.21.3. p+ l, e7 t1 W' ~
Ubuntu 18.04 LTS:4.15.0-52.56( s' }; j* j4 y# ~7 o
Ubuntu 16.04 LTS:4.4.0-151.178 ! z0 j; D3 [# E
$ O ?! n& u+ d2 ]0 X' e6 P
【修复建议】
# q! P3 H/ _3 @3 q& b请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
# V1 {4 D2 ~3 s+ o* M6 U. a推荐方案:【CentOS 6/7 系列用户】
2 P9 L$ u3 A0 ?' G 1)yum clean all && yum makecache,进行软件源更新;
) m3 f) ?# D, z: p$ U 2)yum update kernel -y,更新当前内核版本;
% K9 ?5 l6 z% E: ~) ]6 v1 f 3)reboot,更新后重启系统生效;8 ^' i- R" ^# m" y+ m6 v% c
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。2 b# y, E5 r* `( A' E& R
推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
$ F' V6 F C* Q8 p1 @, R 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
5 H: G( r e+ h7 O- K' n0 K 2)sudo reboot,更新后重启系统生效;! D! e; A" Q) _$ k* [
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。; I ^' c" `4 r1 @4 R2 q
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:+ Z5 Q9 B6 v/ r9 i8 e
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
0 w: m- O Y; V1 n+ z" v, _ 2)sysctl -p ,重载配置,使其生效。 |