近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。+ F/ X4 I4 K! ^, w0 [, X% E
& L* x6 ?; w3 G: }8 H) Q( `' ]
【漏洞详情】
9 y5 y5 w) @, c近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
+ d- E* ~8 |$ K' `) M$ |% L
, c9 `7 E4 n$ V) F【风险等级】1 P2 ~. i; B- E5 b+ C0 f" Q
高风险 L. h' t8 ], U+ X+ d
% T5 @) A' m; y# M9 _. v' w# \: W【漏洞风险】
! O# o9 H7 U$ h远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。
. l7 n" {9 y$ t" P. d# X0 |- [) v0 d( x% ]: ~) t
【影响版本】
9 O* Q, m- |; W9 h% \( Y目前已知受影响版本如下:7 `( r5 d( |! `
FreeBSD 12(使用到 RACK TCP 协议栈)
0 v, K+ W) |. |3 Q XCentOS 5(Redhat 官方已停止支持,不再提供补丁)
* ]7 `& U: P7 g2 Q# H$ ~0 {" {: j. WCentOS 6/ S. s6 a! U7 Q
CentOS 7
7 U# ?) i- K2 p4 i! AUbuntu 18.04 LTS6 p: I- h1 I! o5 y
Ubuntu 16.04 LTS
9 a% Z& b) x* ?( z" U3 B, p. OUbuntu 19.04
! o+ q0 L0 L. n( TUbuntu 18.105 m9 ]( Z7 k6 `. C
, ]2 p4 o) R( b【安全版本】. G+ ?. A$ O8 b. h. ?( s
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:8 R* K$ M" j5 }9 O& j9 N2 ]
CentOS 6 :2.6.32-754.15.3
% }' h. U$ ^2 z1 p# h9 x CentOS 7 :3.10.0-957.21.3
9 S9 F6 J7 r3 y& N2 y2 b Ubuntu 18.04 LTS:4.15.0-52.56
" i0 U, i+ J) ], _* d! u Ubuntu 16.04 LTS:4.4.0-151.178 4 w# ?3 I# r9 S5 m# d
4 n9 ~7 A# w: w
【修复建议】
6 m' d h- L: A; d( z' ~请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:3 O( [$ s/ a2 u5 b% J# e6 t: U5 |: l& y
推荐方案:【CentOS 6/7 系列用户】4 u1 j4 p; E4 B1 o1 l# v, K9 c1 ~
1)yum clean all && yum makecache,进行软件源更新;
* d2 N J4 n; \( D 2)yum update kernel -y,更新当前内核版本;4 ?& K4 W2 |' ]; `: J8 s& X: U
3)reboot,更新后重启系统生效;' O3 L0 p$ R( o0 u- v, n+ \
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。% ^6 \' Z6 K( G; `, y' g6 u+ F
推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】! `6 I @9 [3 b4 b0 r9 J! ? n
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;: {& r" ~- Z, z- P, v
2)sudo reboot,更新后重启系统生效;; \/ {7 r8 `1 i5 y+ _
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
# ? D \1 l4 a5 l% r) u$ _: |临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
6 d* x t& l! W/ l3 j' ]# ?4 G2 w4 Y 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;* I% D6 F! ?, I1 I/ d
2)sysctl -p ,重载配置,使其生效。 |