Omicscloud漏洞检查

来自OmicsWiki
跳到导航 跳到搜索

Ubuntu 22.04 安全加固可扩展 Check List

状态 漏洞名称 修复步骤(简要命令) 自测办法(验证命令)
[ ] 1. Nginx 软件版本漏洞 (对应图里 CVE 漏洞) # 1. 安装必要的依赖工具

sudo apt update

sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring

# 2. 下载并导入 Nginx 官方签名公钥

# 注意:如果此时 curl 提示“Could not resolve host”,请在 curl 命令中加入代理参数(代理ip记得改),改为:

# curl -x http://10.7.41.201:7890 -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg

# 3. 将 Nginx 官方源地址写入 apt 源列表

# $(lsb_release -cs) 会自动获取当前 Ubuntu 的代号(如 jammy)

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

# 4. 刷新软件源,并安装/升级 Nginx

sudo apt update

sudo apt install -y nginx

# 5. 检查版本是否升级成功

nginx -v

nginx -v✅ 预期:显示 1.26.x 或 1.30.x 或更高
[ ] 2. HTTP 横幅版本泄露 (对应图里“HTTP横幅”) 编辑 /etc/nginx/nginx.confhttp { 块内添加:

server_tokens off; 然后 sudo systemctl reload nginx

curl -I http://localhost✅ 预期:Server 头仅显示 nginx,不带版本号
[ ] 3. SSL 弱加密套件与协议 (对应图里“密码套件/协议”) server { 的 SSL 配置部分添加:

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

ssl_prefer_server_ciphers off; 然后 sudo systemctl reload nginx

nmap --script ssl-enum-ciphers -p 443 localhost✅ 预期:只显示 TLSv1.2TLSv1.3,没有 TLSv1.0/1.1,没有弱加密套件
[ ] 4. 默认 Nginx 首页 (对应图里“默认 nginx 设置”) 删除默认测试页:

sudo rm /var/www/html/index.nginx-debian.html

curl http://localhost✅ 预期:不再显示 Nginx 默认的“Welcome to nginx!”页面
[ ] 5. TCP 时间戳泄露 (对应图里“TCP时间戳”) 写入并生效内核参数:

echo "net.ipv4.tcp_timestamps = 0" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

sysctl net.ipv4.tcp_timestamps✅ 预期:输出 net.ipv4.tcp_timestamps = 0
[ ] 6. ICMP/跟踪路由风险 (对应图里“ICMP/跟踪路由”) 写入并生效内核参数:

echo "net.ipv4.conf.all.accept_redirects = 0" | sudo tee -a /etc/sysctl.conf sudo sysctl -p

sysctl net.ipv4.conf.all.accept_redirects✅ 预期:输出 net.ipv4.conf.all.accept_redirects = 0
[ ] 7. LDAP 信息泄露 (对应图里“LDAP搜索请求”) 阻止 Docker 穿透暴露端口:

sudo iptables -I DOCKER-USER -p tcp --dport 389 -j DROP sudo iptables -I DOCKER-USER -p tcp --dport 636 -j DROP并保存规则:sudo netfilter-persistent save

本机测试:nc -zv 127.0.0.1 389(应通)

跨局域网测试:另一台机器 nc -zv 10.7.41.245 389(应不通)

[ ] 8. MySQL 3306 局域网访问 (修复业务连通性) UFW 放行局域网(记得根据实际情况调整网段)网段:

sudo ufw allow from 10.0.0.0/8 to any port 3306 sudo ufw reload

跨局域网测试:另一台机器 nc -zv 10.7.41.245 3306

✅ 预期:能连通

[ ] 9. SSH 22端口防爆破 (建议替代直接禁用) 将允许所有人改为限流:

sudo ufw delete allow 22/tcp sudo ufw limit 22/tcp

sudo ufw status✅ 预期:22/tcp 状态为 LIMIT
[ ] 10. SSL 证书过期 (图中遗留项) 注:因你无域名,此项无法通过申请证书修复,属于合规性遗留项。暂时忽略,后续有了域名再使用 certbot 申请。 openssl s_client -connect localhost:443 -servername localhost 2>/dev/null | openssl x509 -noout -dates✅ 预期:证书日期已经过期(目前状态正常)