近期多所学校向公司提交了安全检测报告,其中5.2及之前的网络风险评估低至非常危险(8.8分)。为提升整个系统安全,应对各种安全评估,本文档列出并不断完善可行的服务器加固措施
升级到ubuntu 16.04/R6.2
服务器在R6.0之后使用ubuntu16.04操作系统/nginx服务器,基于BS架构打造且接口使用了https加密传输,减少了暴露的端口和应用,安全性提升明显。因此,建议加固的服务器优先升级到r6.2.1版本,本文档也针对该版本加固。
防火墙加固
启用ufw防火墙服务并仅允许需要的端口开放。执行的命令如下:
systemctl - enable ufw 使能ufw服务
- systemctl start ufw 运行ufw服务
ufw enable ufw启用
- ufw default deny 未允许的端口禁止防火
ufw allow 443/tcp 允许https端口443
- ufw allow 80/tcp 允许http端口80,该端口仅为了跳转到https地址,开放端口影响不大
ufw allow 22/tcp 允许远程访问,部分安全检测会认为开放该端口有安全隐患,在必要时可以禁止访问22号端口
- ufw allow 1000:10000/udp 允许udp访问,一般不会检测,所以端口范围适当放大
ufw allow 8500:8600/tcp ip对讲端口,没有IP对讲服务时可以不添加
- 特别注意,没有USB-KEY服务时,应执行`ufw deny 3306/tcp`禁止3306端口访问
ufw allow 3306/tcp
3. 禁用icmp协议
vi /etc/ufw/before.rules 将有`icmp`的行中ACCEPT替换为DROP
4. 替换ssl证书,证书联系夏磊/徐海军获取
- cp idste.crt /etc/nginx/ssl/idste.crt
- cp idste.crt /usr/local/share/libwebsockets-test-server/libwebsockets-test-server.pem
- cp idste.key /etc/nginx/ssl/idste.key
- cp idste.key /usr/local/share/libwebsockets-test-server/libwebsockets-test-server.key.pem
5. 重启并确认
- reboot 重启服务器
ufw status
查看ufw状态,输出类似于
root@xuhj:/home/xuhj# ufw status
Status: active
To Action From
-- ------ ----
443/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
1000:10000/udp ALLOW Anywhere
8500:8600/tcp ALLOW Anywhere
443/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
1000:10000/udp (v6) ALLOW Anywhere (v6)
8500:8600/tcp (v6) ALLOW Anywhere (v6)
</WRAP>