0%

修复漏洞-提升RDS响应速度

需求:

  1. 升级linux内核版本,修复SACK Panic”远程DoS漏洞
  2. 安装nscd,提升RDS响应速度

说明:

漏洞描述:

Linux 以及 FreeBSD 等系统内核上存在严重远程DoS漏洞,攻击者可利用该漏洞构造并发送特定的 SACK 序列请求到目标服务器导致服务器崩溃或拒绝服务。

目前已知受影响版本如下:
• FreeBSD 12(使用到 RACK TCP 协议栈)
• CentOS 5(Redhat 官方已停止支持,不再提供补丁)
• CentOS 6
• CentOS 7
• Ubuntu 18.04 LTS
• Ubuntu 16.04 LTS
• Ubuntu 19.04
• Ubuntu 18.10
各大Linux发行厂商已发布内核修复补丁,详细内核修复版本如下:
• CentOS 6 :2.6.32-754.15.3
• CentOS 7 :3.10.0-957.21.3
• Ubuntu 18.04 LTS :4.15.0-52.56
• Ubuntu 16.04 LTS:4.4.0-151.178

修复建议:
➤【CentOS 6/7 系列用户】
注:截止文章发布,CentOS官方暂未同步内核修复补丁到软件源,建议用户及时关注补丁更新情况并开展相应升级工作。升级方式如下:

  1. yum clean all && yum makecache,进行软件源更新;
  2. yum update kernel -y,更新当前内核版本;
  3. reboot,更新后重启系统生效;
  4. uname -a,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。

➤【Ubuntu 16.06/18.04 LTS 系列用户】

  1. sudo apt-get update && sudo apt-get install linux-image-generic,进行软件源更新并安装最新内核版本;
  2. sudo reboot,更新后重启系统生效;
  3. uname -a,检查当前版本是否为【安全版本】,如果是,则说明修复成功。
    如果用户不方便重启进行内核补丁更新,可选择临时缓解方案:
    运行如下命令禁用内核 SACK 配置防范漏洞利用:
    sysctl -w net.ipv4.tcp_sack=0
NSCD服务:

https://help.aliyun.com/knowledge_detail/41806.html

NSCD(Name Service Cache Daemon)是一种能够缓存passwd、group、hosts的本地缓存服务。若您使用短连接的方式连接RDS,请在与RDS相连的ECS实例上进行如下操作开启NSCD,提升RDS响应速度。

思路:

  1. 编写Shell脚本
  2. Ansible分发脚本
  3. Ansible执行脚本
  4. 验证脚本执行情况
  5. 分批重启主机

实现:

Shell脚本:
1
2
3
4
5
6
7
vim /data/vcg/zhy/ansible/0623.sh

yum clean all && yum makecache
yum update -y # 或者 yum update kernel -y
yum install -y nscd
systemctl enable nscd.service
echo "options timeout:1 attempts:1" >> /etc/resolv.conf
分发脚本
1
ansible pre-k8s -m copy -a "src=/data/vcg/zhy/ansible/0623.sh dest=/tmp/0623.sh mode=755"
执行脚本
1
ansible pre-k8s -m shell -a "/tmp/0623.sh"
验证脚本执行情况
1
ansible pre-k8s -m shell -a "cat /etc/resolv.conf |grep options"
分批重启主机
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#脚本内容:
hosts="
172.20.21.249
172.20.21.250
172.20.21.251
172.20.21.252
172.20.21.253
172.20.21.254
172.20.21.255
172.20.22.0
172.20.22.1
172.20.22.2"
for i in $hosts;
do
ssh $i uptime
ssh $i reboot
sleep 2m
ssh $i uptime
done