近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。$ Z: q! k6 J f" E8 {+ d6 p
9 o& | n2 ]* H; w) V Z$ O
【漏洞详情】+ m- C! }/ C' [! m* f
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
8 T( J+ h! ^4 J( C j
2 K6 U, ^7 k. x8 `% F/ t$ g I【风险等级】' b+ I- e6 F2 G' t
高风险; m9 Y. r$ ^% d4 J* ?+ K
* T- Z+ F) x* k+ t4 `* ^& v
【漏洞风险】
" L _# F" i. s7 P# L# c9 A$ K远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
5 T% Z4 `2 W4 E0 ? Q" q6 q! ]5 k) x- j/ c, z( z4 ]+ J
【影响版本】& P2 n0 Q" a7 U4 ], O# \0 K
目前已知受影响版本如下:& P+ X* c- B+ E
FreeBSD 12(使用到 RACK TCP 协议栈). n( S, G9 n/ d! w- i: c" \ q
CentOS 5(Redhat 官方已停止支持,不再提供补丁), O5 U' M' L, W+ ~$ ^
CentOS 6
9 U% V/ r/ N N% | xCentOS 73 z4 L! M& E, O
Ubuntu 18.04 LTS& h% b2 S8 I$ h. T- o" h
Ubuntu 16.04 LTS
- }6 g9 w: E, H0 ~5 |Ubuntu 19.04
2 k+ Z; ^& K( P! yUbuntu 18.101 }9 L3 o$ l1 j) f9 J
. S5 l. K$ Q) `% l. [
【安全版本】
+ W) y. }& _3 O5 Z各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:7 K6 g6 y9 ~+ y! g
CentOS 6 :2.6.32-754.15.3
U; x& F8 N2 U3 N! z+ R+ U8 { CentOS 7 :3.10.0-957.21.3
; \5 H* G { \8 v: G) `! H Ubuntu 18.04 LTS:4.15.0-52.56
; U$ ^* \- T+ l& \7 V! Z& f Ubuntu 16.04 LTS:4.4.0-151.178
, B g9 u; K* }8 I8 D0 {) \) ?+ ]9 d, p' Y
【修复建议】
. q7 d; j3 P2 [* I3 }请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:2 H9 L# b, T) o4 o3 Q
推荐方案:【CentOS 6/7 系列用户】5 d5 C9 T* I: y1 ?# l$ W* n
1)yum clean all && yum makecache,进行软件源更新;( c5 @4 f, }7 h' Z) R/ O* s
2)yum update kernel -y,更新当前内核版本;
O# W% [2 @6 _, U H' h2 F J2 x c0 b 3)reboot,更新后重启系统生效;
/ s) ]" N. e; a% e2 @* { 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。4 C7 t. V# t2 v+ f9 S/ Q
推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】6 u2 r5 t, V, c6 _$ I
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;* y; Q9 e) O; C$ a- z' U
2)sudo reboot,更新后重启系统生效;
$ E, f, W& X( a% r) X 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
3 v; N; ]' I( b0 q* c7 }/ v0 I临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:" R3 K$ q |/ A0 N i1 k! x
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
8 l; e9 }1 o& _ 2)sysctl -p ,重载配置,使其生效。 |