近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。* L5 i! O' ~3 Q; z* c& r4 ?
5 @0 A' }4 m! k: m" R【漏洞详情】; _3 e; M' q% W8 [
近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。; |3 h' o1 h' O+ R' D+ H9 h/ n
2 Q: \. P2 [6 t3 I
【风险等级】
. e) J8 D9 P# Q" h) T高风险) w6 h' t; d8 U7 b& |, y
! @+ r) e0 ~0 m' i【漏洞风险】, G; B: }: E5 _# o
远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。% P1 a) o$ u" P* ^3 ]
3 b& V- L4 B+ a, N- |
【影响版本】* O: j4 B; L( }0 ^; k" N) l
目前已知受影响版本如下:! @6 N( `6 k' Z* l5 k
FreeBSD 12(使用到 RACK TCP 协议栈)
1 i& ?' t; N6 a; R9 {* Y7 L* E5 RCentOS 5(Redhat 官方已停止支持,不再提供补丁)
4 q2 j1 u. d W' d3 d% j! G( [2 a/ p9 eCentOS 6
1 R9 w$ u$ u' Y: fCentOS 7
% q9 H7 Q$ D0 E, QUbuntu 18.04 LTS
4 O" x( m+ ?9 j* Q' \Ubuntu 16.04 LTS
$ o/ V: z: ^/ P& [1 F p1 c$ oUbuntu 19.04: A( o& K2 D" Q! t5 J: h7 _
Ubuntu 18.10
& t4 u) W. h" ^' S- u
5 a2 ?( L! X$ {) h" p+ `【安全版本】! O5 x1 |7 q7 A3 `+ n+ o3 Z6 r
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
5 c! m9 p: ^4 j6 z; m7 y5 ^ CentOS 6 :2.6.32-754.15.3
" g7 G H/ ]. }- b' W, g CentOS 7 :3.10.0-957.21.3: X% x' N3 Z4 B1 x
Ubuntu 18.04 LTS:4.15.0-52.56' J3 _' T0 G _: [
Ubuntu 16.04 LTS:4.4.0-151.178
2 }$ a( n5 W( A5 V( ~% p H9 [
; W/ M- ?0 q R9 v7 w- C0 T【修复建议】
8 L# u9 e0 X1 @, z# U' B请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:
$ a. I, D; c" \! F9 [ k1 [推荐方案:【CentOS 6/7 系列用户】
9 Z* W2 j7 ?) O8 ~0 c1 W; ^ 1)yum clean all && yum makecache,进行软件源更新;4 T$ [& X9 \4 P$ H+ |* n
2)yum update kernel -y,更新当前内核版本;1 g9 P K, O2 H s4 z
3)reboot,更新后重启系统生效;
0 ~! J8 [9 F8 @6 Y" j* v( Z6 h 4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。# t3 f8 M. u+ D) ^6 M1 B7 [
推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】5 K# u: Y2 _( Q# U2 }8 z4 E
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;3 [$ d5 }5 {% z4 g }& ]; n
2)sudo reboot,更新后重启系统生效;
, l g- q( R9 R* }9 S: q 3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。/ d7 k" e5 g6 l9 y9 T( E
临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:5 E1 e* E9 a* \) g7 K5 l. ^/ r0 v
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;5 Q+ x! H/ }& C% L, t
2)sysctl -p ,重载配置,使其生效。 |