本文介绍部分系统加固方法。后续有新内容再更新。
基于银河麒麟V10(非SP1
,基于 Ubuntu16.04
改版)。
禁用USB存储设备
本系统禁用USB存储设备的方法和传统Ubuntu相比增加了一部。
# 禁用use_storage模块
echo "blacklist usb_storage" | sudo tee -a /etc/modprobe.d/blacklist.conf
# 禁用uas模块
echo "blacklist uas" | sudo tee -a /etc/modprobe.d/blacklist.conf
# 更新initramfs,此项是银河麒麟独需。
sudo update-initramfs -u
参考链接: Ubuntu禁用USB存储设备
封禁端口
执行防火墙配置需要具备一些基础。比如,iptables里面各个链(chain),运行机制(从上到下逐个判别,顺序很重要), 保存机制等。
比如要求为:
1.以下端口禁止开放:TCP21,TCP23,TCP/UDP135,TCP/UDP137,TCP/UDP138,TCP/UDP139,TCP/UDP445。
2.以下端口应限制访问 IP:TCP3389
具体执行如下:
# 先在银河麒麟系统中的控制面板->网络控制里面。将防火墙配置成自定义。
# 参考使用以下指令:
# 查看当前规则链
sudo iptables -nL
# 添加drop,使用了multiport模块
sudo iptables -I INPUT 1 -p tcp -m multiport --dport 21,23,135,137,138,139,445,3389 -j DROP
sudo iptables -I INPUT 2 -p udp -m multiport --dport 135,137,138,139,445,3389 -j DROP
# 删除num
sudo iptables -D INPUT 4
# 查看帮助
sudo iptables --help
# 保存,必须用root
iptables-save > /etc/iptables/rulesIPV4
# 开机自启动,写入/etc/rc.local的 exit 0 前面
iptable-restore < /etc/iptables/rulesIPV4
关键目录下文件变更
此问题一般由网安探针汇报。逻辑为监测 /lib/
目录下有无文件变化。若存在。则告警。此问题的处理很是麻烦,必须先弄清楚探针是如何检测到目录变化的,其实他用到了Linux下的 audit 审计系统。
audit由红帽开发,负责系统审计。通过配置audit对 /lib/文件夹进行监控,然后audit发现异常汇报给探针。知道此机制后。我们就能顺腾摸瓜,同样基于audit去查找是哪些文件发生了变动。具体查找过程不做赘述,最终发现是麒麟内置的商店类应用后台存在创建/删除定时器的情况。禁用或删除这些服务即可。
# 先查找相关服务
systemctl list-units | grep kylin
------------输出内容----------------
ksc-defender-init.service loaded active exited Init kylin security center configure to system
kylin-display-switch.service loaded active running The daemon of kylin display switch
kylin-update-manager-dbus.service loaded active running Kylin Update Manager Dbus service
dev-mapper-kylin\x2d\x2dvg\x2dswap_1.swap loaded active active /dev/mapper/kylin--vg-swap_1
kylin-source-update-T1.timer loaded active waiting kylin-update-timer
kylin-source-update-T2.timer loaded active waiting kylin-update-timer
kylin-source-update-T3.timer loaded active waiting kylin-update-timer
kylin-source-update-T4.timer loaded active waiting kylin-update-timer
kylin-source-update-timer.timer loaded active waiting 更新源管理器启动时间的定时器生成工具
# 对输出内容中kylin-source*相关程序stop并disable.
其实此问题暴露出麒麟系统工程师做事的一个不好的方面。其基于Ubuntu添加服务时,添加了一个kylin-source-update-timer.service。此服务每次开机启动后,会删除并创建4个kylin-source-update-T*.timer定时器。这些定时器会在随机时间点对麒麟软件源进行更新。但是实际上,这些timer是不需要删除重建的,只要使用程序判一下有没有,没有则创建就好了。这么简单粗暴的处理问题不大好。