近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
7 j% I9 V; `8 a) M/ E6 f, k3 W. ]/ J9 j( A E8 n7 J ~% }! }
【漏洞详情】8 o( \$ p0 E# L+ n7 v
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。, \+ G! `6 R$ ~5 D; r. T i7 O
1 S5 w& ]* Q( D& C5 u0 ~" d
【风险等级】
- t6 b" k+ }1 \" {高风险0 j& r' a9 V; A7 B d$ C
( y* b8 _, y! e4 T2 @% w【漏洞风险】# y; e0 q/ v' b5 k, m/ r
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。 V* B: V' P2 U, r3 V z! W/ f
; _) x4 A% d& f4 l/ o( Y, \! W【影响版本】) i) J* ?5 `$ K" j
目前已知受影响版本如下:8 ` Z! y! v2 d
FreeBSD 12(使用到 RACK TCP 协议栈)0 Z# j6 Q+ M% e6 t" n# f
CentOS 5(Redhat 官方已停止支持,不再提供补丁)/ [. A6 u, z) `7 x! q) d
CentOS 6
6 m% P, F$ r8 _CentOS 7+ f4 x& s$ g/ ^! o8 |) g
Ubuntu 18.04 LTS
" m& [& j- z: K8 mUbuntu 16.04 LTS+ u8 A F+ m( _! f3 S! K9 C+ H3 `$ [
Ubuntu 19.04: B2 K% t; M" |& O! b6 `
Ubuntu 18.105 @3 d( k: h+ R' t# n& |( l
5 R K/ |' f d
【安全版本】
% y- e1 s0 N" q& ~+ a/ j各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下: F8 {* G- p3 u) t3 x4 U; V
CentOS 6 :2.6.32-754.15.3' b( r6 N4 J4 e8 r9 E- I' L" ]
CentOS 7 :3.10.0-957.21.3
% w* {* `# N: @' R( F2 [ Ubuntu 18.04 LTS:4.15.0-52.568 ?3 U2 ]; R' z" `6 J2 b* p
Ubuntu 16.04 LTS:4.4.0-151.178
$ d! B% U# {" {0 z6 j# x- ?( S6 a* ^7 ` M v9 [1 l/ {' P6 w K
【修复建议】
# G# X5 W/ B8 e( R7 a% c请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
) q' X( Q: \: j" X/ s推荐方案:【CentOS 6/7 系列用户】
5 j& i3 }9 X9 |# ? 1)yum clean all && yum makecache,进行软件源更新;: E* D6 w& {* t( F3 b
2)yum update kernel -y,更新当前内核版本;
, t6 h$ f$ Z# t( S) ?7 L9 W/ e 3)reboot,更新后重启系统生效;
8 a" ?7 f2 `$ c 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
$ I4 {9 A% N' i推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
. J: W4 U0 {# l) j% t 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;$ e' v6 A( k1 i& R
2)sudo reboot,更新后重启系统生效;
) ]. X; m+ v8 \1 _ N) N 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。- p# {' F% D. Y3 x# _7 H0 |
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:
6 _* N1 L6 w0 S; e+ f* D 1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;
8 B$ c( c. o. j; r& ] 2)sysctl -p ,重载配置,使其生效。 |