近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。% y- G3 u6 v, Z& B" k5 l
, {% i" N$ q& y! K4 x
【漏洞详情】
2 _0 \% Y& ~ @近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。% a- x! h1 @7 j6 `2 K
0 \4 L2 a/ ~4 L( E【风险等级】
% [" @% s7 @% Q: @3 e$ H高风险7 N' M& p" h# f9 C. X+ z
' ~2 h+ {4 z" Z! g" L/ \
【漏洞风险】
X8 q; ^, S# T- L9 E% G% l远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
. K$ R6 b6 b1 y' W! @7 ]( S+ @/ s; n( Q) s. V' I- O7 m
【影响版本】3 `! ]; `6 [$ z* j7 z
目前已知受影响版本如下:6 N- z K0 A$ y: F
FreeBSD 12(使用到 RACK TCP 协议栈)
5 a2 [' C l2 h. I# ]3 cCentOS 5(Redhat 官方已停止支持,不再提供补丁) h; O; E9 M- G
CentOS 6
# P$ N" u- f9 ]: e% @3 |* {) F ^CentOS 7- k- ?# L9 L' @# o" l% Z# @
Ubuntu 18.04 LTS
. o! C2 H! }! \; n0 UUbuntu 16.04 LTS
" }/ T4 Y; ]) J5 Q. c( _- tUbuntu 19.04
$ k7 u: M6 ?) s1 \) }* L5 ^Ubuntu 18.10: w" [5 y8 D, t$ u8 s. _' M
3 z# p5 W6 z( p, `, Y% o【安全版本】. [! q( {% `; F$ }
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
9 M( m/ W$ R( Y CentOS 6 :2.6.32-754.15.3; m/ b& `7 V6 N; \3 _ h
CentOS 7 :3.10.0-957.21.3
) [# B4 u) L3 a1 T; t5 O$ M/ H Ubuntu 18.04 LTS:4.15.0-52.56
3 d3 c" V3 z0 V2 }1 q+ o t( W Ubuntu 16.04 LTS:4.4.0-151.178
+ H/ d% P# y; \/ \
0 `. f" ]. L/ N% \3 w( s【修复建议】) I! s: r- B0 G( }5 d r3 P$ Y9 o* X
请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
* z$ x7 x. W8 K6 ^3 M# ]推荐方案:【CentOS 6/7 系列用户】5 j7 m: L2 K5 n, s& E' q6 p
1)yum clean all && yum makecache,进行软件源更新;1 W h8 j2 |" B( s
2)yum update kernel -y,更新当前内核版本;, [$ v( x2 D/ A" t! M
3)reboot,更新后重启系统生效;
1 M+ U F$ o' U7 e 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
& O+ G1 v, Z- H) f, S5 i1 [: u推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】 J; v6 m1 u! j
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;- Y, ?. M) n' X: m: A
2)sudo reboot,更新后重启系统生效;# B; k$ l% C( m- k6 X! ?
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。3 y, i; p' ~1 A7 Z
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
/ V8 o' o0 [- Y- m \ R& d 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
$ m0 {3 M( s( e/ f) Z5 y3 @ 2)sysctl -p ,重载配置,使其生效。 |