近日 Linux 内核被曝存在TCP “SACK PANIC” 远程拒绝服务漏洞(漏洞编号:CVE-2019-11477,CVE-2019-11478,CVE-2019-11479),攻击者可利用该漏洞远程攻击目标服务器,导致系统崩溃或无法提供服务。
2 {+ v8 ?& b: f: p* C: O
H$ q1 N( j8 u- C: D+ v0 D$ Z【漏洞详情】
" l% t; V0 i0 [) _$ v近日发现 Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。
& ~1 ^8 Q. a3 O( V
" k! E+ U2 o9 m! P( p【风险等级】. X- E2 \3 ]/ F+ w+ I" A W
高风险
9 w: y# c+ L: B$ r: D: o# [
+ C. n% b! ~% q2 k【漏洞风险】
1 O) I# g% q4 {5 y! j远程发送特殊构造的攻击包,导致目标 Linux 或 FreeBSD 服务器崩溃或服务不可用。6 Z0 o: @; N2 q1 N; I" T
, P+ H) \. g. p$ @! r
【影响版本】
* y: v9 _+ j; }3 l/ C; D5 j+ B目前已知受影响版本如下:
+ L9 b) {0 ^1 P$ o5 Q8 ]FreeBSD 12(使用到 RACK TCP 协议栈)+ n b7 P$ r* |- o
CentOS 5(Redhat 官方已停止支持,不再提供补丁)
+ y1 Q4 B U' m/ Z8 }3 v4 sCentOS 69 C) Y/ F }) v9 @, d* z, e
CentOS 7
' W$ q/ ~4 G" m7 AUbuntu 18.04 LTS0 [/ H2 a. a1 P4 ^& G
Ubuntu 16.04 LTS4 s, a( \7 ~) F) ^1 @( U9 w
Ubuntu 19.04- a- W3 ` P% i
Ubuntu 18.10
' j# o4 y- Z" G/ q5 x) }7 [" M; B; ~0 q8 A6 R4 E5 x4 e
【安全版本】2 C$ P* B( g& o1 N% ]- ~
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
' ^- e& G+ c4 l CentOS 6 :2.6.32-754.15.3+ R/ Q2 ^/ B! Y' R( Q$ _) t( F2 c
CentOS 7 :3.10.0-957.21.3
% [# P+ J; ~0 U7 c" B+ ] Ubuntu 18.04 LTS:4.15.0-52.56% Y3 P0 k! ^' E2 y6 l4 s
Ubuntu 16.04 LTS:4.4.0-151.178
5 t6 G( O0 `$ T( d; }
# K1 y- l" { |* H: m* S: v9 |' i【修复建议】* P# Y# D( d2 a: |
请参照上述【安全版本】升级您的 Linux 服务器内核,参考操作如下:% \* u9 }9 S3 J6 E* C9 X' e
推荐方案:【CentOS 6/7 系列用户】
+ W- q7 m0 |% F( Z 1)yum clean all && yum makecache,进行软件源更新;
- @0 p7 J6 D7 J- Y. x2 C 2)yum update kernel -y,更新当前内核版本;
$ `+ t+ f; {3 K _$ o: ^! z+ d R 3)reboot,更新后重启系统生效;! @6 i2 C. U3 [3 R% r. z
4)uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。
7 S: l1 I" J$ G推荐方案:【Ubuntu 16.04/18.04 LTS 系列用户】1 |- H9 [1 @/ o) t
1)sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
. T& m- A* u+ W! i& z% N 2)sudo reboot,更新后重启系统生效;" o+ T9 j" \4 Z, q4 A
3)uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
: F; j* J6 U1 E* T6 a: u5 N临时缓解方案:如用户不方便重启进行内核补丁更新,可选择如下方式禁用内核 SACK配置防范漏洞利用,运行如下命令即可:! D/ f0 y+ F; ]5 l1 q i4 b
1)echo 'net.ipv4.tcp_sack = 0' >> /etc/sysctl.conf ,禁用 SACK 配置;8 D% D2 Q# o7 O( R b" a
2)sysctl -p ,重载配置,使其生效。 |