近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
* H! n! ?- s: D( S
' r" R6 c0 a7 D; v4 u5 b% ~【漏洞详情】, r; w0 v$ z* k N7 ^0 r, s, S
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。" Q) r- \" q# |) L/ |
0 k# @" }4 Q' n
【风险等级】3 o4 Y/ O9 e3 G+ C7 q: ^/ Y
高风险' m w) X0 @. E% R" q. n
8 R& C6 F1 ~7 ^, b$ c9 f5 ] r8 U【漏洞风险】6 H8 F1 }2 K _/ u4 L/ P; \
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。8 z/ ^: I# G- E/ \" ~3 ?
! E: E9 {- ?. L* C% U
【影响版本】. p. [ F7 ?8 x k
目前已知受影响版本如下:
/ M" D/ G& \. X: d6 Z7 `) q# BFreeBSD 12(使用到 RACK TCP 协议栈)
5 C( n. x$ f) r1 V: O! NCentOS 5(Redhat 官方已停止支持,不再提供补丁)! O' R) r( _4 S' Q
CentOS 6# \9 K1 ?5 l2 J
CentOS 7& L$ M; b$ @: W; V3 j1 y: Q
Ubuntu 18.04 LTS
5 Q4 t4 W3 u0 xUbuntu 16.04 LTS
* S- w) e" \1 \# I, T8 ~3 HUbuntu 19.04* [ l& D5 `5 j( I
Ubuntu 18.10$ w, o/ W3 a# t# B- I r
) X) Z. N2 ~$ {【安全版本】) x% X- x0 X/ C( @ r9 O
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
}9 W# ]' M) e+ Z0 J" Y CentOS 6 :2.6.32-754.15.3
6 O& I' D# X0 p; f) j1 Q# N CentOS 7 :3.10.0-957.21.3, M4 v, {" u, @7 M [2 M$ \/ ~
Ubuntu 18.04 LTS:4.15.0-52.56# A) {5 v% I3 u( ~5 f: |8 @5 O
Ubuntu 16.04 LTS:4.4.0-151.178
# `. I( Y$ L& U8 P# {$ Y5 ^" N* b, K4 y5 m4 \( o
【修复建议】
9 z0 U+ F9 X5 R' D% u0 k! d请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
) k- \' W {4 G2 q6 V' B推荐方案:【CentOS 6/7 系列用户】
- N1 M, P5 _( ^1 w- \ 1)yum clean all && yum makecache,进行软件源更新; j7 i( V* @* R- i; ~
2)yum update kernel -y,更新当前内核版本;
# I; U j# d+ F3 s) o' T% U 3)reboot,更新后重启系统生效;1 h$ u3 A u) H% U- h) o" v
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
0 F" g; h) [! w$ c5 u8 M9 K- p- _推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】
$ Y) I: K+ W$ G' D' ` 1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;# h: g" r* G% e4 G* s( @4 h3 F
2)sudo reboot,更新后重启系统生效;
- V- m3 b9 B! @ u1 V 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。 _- `& p p! y" [7 ]
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:( ]: W: D O) W& Q/ `, L. J
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;) _5 n; K5 y& ?: f
2)sysctl -p ,重载配置,使其生效。 |