近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
* y& q' E" ]/ o, U! H K3 \
' \5 D0 {! v& Q7 q【漏洞详情】
* s# X% c& {& O# Y近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
$ w" |' b# \ V/ Z5 ~3 k1 C+ m4 \3 p% F. W+ h/ B6 x
【风险等级】 t6 L. S% G7 N
高风险
+ Y f6 W! r( A3 f0 f) l9 Z+ Y/ Y* ?0 Q7 [% E
【漏洞风险】
5 E; S! _8 k7 A2 {: V4 P& ^远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。6 z1 o. p9 `0 P
! C, }, ?; \" U" f4 A% p
【影响版本】# E6 S- m, n# d8 h
目前已知受影响版本如下:
6 w) C7 ]+ ]$ o/ J! OFreeBSD 12(使用到 RACK TCP 协议栈)- i' t' V w$ I) I$ ]% J8 n$ H
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
' m W/ p4 {, A6 wCentOS 6. r# v$ w( ^ b: B
CentOS 7
- p! K% I% Z6 ^' x8 CUbuntu 18.04 LTS$ c& C Y8 Q+ C" x
Ubuntu 16.04 LTS' m+ F; r# X* i3 U
Ubuntu 19.04
6 e; B. ~' G1 b7 E2 Q: X2 RUbuntu 18.10# q6 o; @/ Y' M! w% }3 d1 X) ?. A
1 Y) ^; i7 Y) L5 c- D. _2 o
【安全版本】
/ C4 m3 _+ y( D4 A各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
$ ~ f. N$ d& }8 Q/ n# S. e CentOS 6 :2.6.32-754.15.3
S# `% x" t B CentOS 7 :3.10.0-957.21.3
7 t( p+ j \" `$ n6 J6 s6 g Ubuntu 18.04 LTS:4.15.0-52.56
2 s4 S/ F5 `; ]5 e Ubuntu 16.04 LTS:4.4.0-151.178 - ]$ ~) }: D: S* j+ w
' ] L; ~4 o7 \, a; j【修复建议】
F) `# D# q( s请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
! I/ k$ a* b% R" v7 I) A推荐方案:【CentOS 6/7 系列用户】
- |+ }& ]% x0 O! V 1)yum clean all && yum makecache,进行软件源更新;
5 d5 A2 w4 u+ ?* b' Z& w 2)yum update kernel -y,更新当前内核版本;. ]1 k/ d. D! [0 [% ]& d* X! T' t
3)reboot,更新后重启系统生效;
$ E8 N; v: O+ f* `& h 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。5 _6 v4 O- g2 h, K+ A
推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
/ w! `/ U; ~& n5 I% }+ g) V8 T6 N 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;4 Q8 y' x# y' p8 O6 a
2)sudo reboot,更新后重启系统生效;
5 f8 T- z7 f9 c w ] 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。$ s3 N" {& s Q4 S/ e) \9 g; q+ x: Q
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:' v1 Y/ ~; ~+ L/ }( ~7 n" t: e
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;5 ^7 S$ K0 c% V
2)sysctl -p ,重载配置,使其生效。 |