近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
9 q8 F, i/ `: p4 J. G) i
: v8 e4 c, k0 s( R+ @【漏洞详情】( ]3 Z; I" g( T; R- j4 h0 U
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
7 G' v+ c5 `1 o9 U. L! P1 \. Q/ j- t7 ~# b
【风险等级】$ g3 t+ P- c7 V! A) v
高风险
, n4 p' A* w+ m) F. X( d/ {' n5 T" P( w. O* {" U0 z2 J
【漏洞风险】. P' ^. b+ e% k- J% |( k$ s& f
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
~9 m" b2 D/ j, } s1 ]) D( [9 Y8 P) {3 [9 m+ l1 D
【影响版本】
! E/ o$ W; q0 w0 _2 e9 X+ B) ~6 H目前已知受影响版本如下:
s1 c2 y2 j3 V6 rFreeBSD 12(使用到 RACK TCP 协议栈)0 _# D& Z1 l+ l. z
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
4 \- R w3 Z- T0 g5 U2 J: d( C; i! z2 dCentOS 6
/ Z/ P5 ?: ]3 o9 r, |CentOS 7
2 s7 H* c0 m s, z" W, P% h' QUbuntu 18.04 LTS3 J5 T# @' |' N/ X0 n' y
Ubuntu 16.04 LTS
6 M/ ]! Q; c9 N3 f( X6 I0 E' c- b2 dUbuntu 19.04
5 ]# c( Q6 ^, K/ q1 n7 z1 v; [$ _Ubuntu 18.10; j! o6 E% J) T+ }
u1 B9 Z2 K) Z【安全版本】
/ G. q& a+ m. U4 C各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:) J3 J0 q5 R! V! o
CentOS 6 :2.6.32-754.15.3
$ X% u- q& r, Z; \ CentOS 7 :3.10.0-957.21.3
, } p+ ^- a" Y" @. o) X1 s- e" |/ g# i) s Ubuntu 18.04 LTS:4.15.0-52.56
# [5 ]( _. |" y9 R2 y Ubuntu 16.04 LTS:4.4.0-151.178
8 C' R# w# [3 B, R& }6 D* i- W1 Q. Q- @5 u5 f; W8 J
【修复建议】
6 Q) O5 ~3 Z/ p3 p5 f& m1 \) d2 t3 j l请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:8 O2 ~8 M$ f$ I* K' Z
推荐方案:【CentOS 6/7 系列用户】
# m/ n9 Y' P" y+ r 1)yum clean all && yum makecache,进行软件源更新;2 }" X3 p7 g6 s6 X& B1 Z
2)yum update kernel -y,更新当前内核版本;
) E, l0 U2 ?! d' i9 E" L 3)reboot,更新后重启系统生效;9 v4 K& F( W% D/ U" @
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
$ Y8 Y: V" a0 g* Z& `推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
0 v" s2 s1 e# D( w! ` 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;8 r# I+ j" O& j
2)sudo reboot,更新后重启系统生效;
5 u# L* `& G4 v# ^' ~- @ 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
. d, G4 F( P/ [5 l5 b临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:& ~9 N1 m9 x9 {4 e
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
+ G3 ^' w+ a9 `6 g/ v 2)sysctl -p ,重载配置,使其生效。 |