先梳理所有关联资产,避免遗漏风险节点,执行以下命令导出资产清单:
``` 扫描服务器开放端口,确认档案系统关联服务 nmap -p 1-65535 你的档案系统服务器IP 导出已安装软件清单,排查未授权组件 dpkg --get-selections | grep -v deinstall > soft_list.txt Debian/Ubuntu rpm -qa > soft_list.txt CentOS/RHEL ```必须核查的3类资产:
使用开源OpenSCAP工具执行等保2级基线核查(档案系统最低合规要求),执行以下命令安装并扫描:
``` CentOS安装OpenSCAP yum install -y scap-security-guide openscap-scanner 执行等保2级基线核查,导出扫描报告 oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_cn_GB2_2 --results scan.xml /usr/share/xml/scap/ssg/content/ssg-centos7-ds.xml ```扫描完成后优先修复高风险项,比如弱口令、未授权端口开放、系统漏洞补丁未安装等问题。
首先配置数据库透明加密,以MySQL 8.0为例,修改my.cnf配置文件,添加以下内容后重启服务:
``` [mysqld] early-plugin-load=keyring_file.so keyring_file_data=/var/lib/mysql-keyring/keyring innodb_undo_log_encrypt=ON innodb_redo_log_encrypt=ON default_table_encryption=ON ```操作注意:重启MySQL后执行以下命令,对现有档案业务表开启加密:ALTER TABLE 你的档案表名 ENCRYPTION='Y';。所有数据库连接必须强制走SSL,执行授权命令:GRANT ALL ON 档案库. TO '档案用户'@'%' REQUIRE SSL;。
其次配置附件存储加密,本地存储使用eCryptfs加密分区,执行以下命令挂载:
``` 安装加密工具 apt install -y ecryptfs-utils Ubuntu yum install -y ecryptfs-utils CentOS 挂载加密分区存储档案附件,按提示选择aes算法、16位密钥、禁用文件名加密 mount -t ecryptfs /data/attach_raw /data/attach ```如果使用MinIO存储附件,直接在控制台开启服务端加密即可,无需额外配置。
首先强制开启双因素身份认证,SpringBoot开发的档案系统可直接集成TOTP组件,添加以下依赖:
```
必须配置3级权限隔离规则:
其次配置WAF防护拦截攻击,使用开源ModSecurity集成Nginx,执行以下命令安装:
``` Nginx集成ModSecurity apt install -y libnginx-mod-http-modsecurity 下载OWASP核心防护规则 wget https://github.com/coreruleset/coreruleset/archive/refs/tags/v3.3.5.tar.gz -O coreruleset.tar.gz tar -zxvf coreruleset.tar.gz && mv coreruleset-3.3.5 /etc/nginx/modsec/crs ```必须开启3类拦截规则:SQL注入特征拦截、可执行文件上传拦截、未授权附件URL访问拦截,配置完成后重启Nginx生效。
首先部署堡垒机管控所有运维操作,使用开源JumpServer一键安装:
``` 官方一键安装脚本,所有档案系统服务器必须接入堡垒机 curl -sSL https://github.com/jumpserver/jumpserver/releases/download/v3.10.6/quick_start.sh | bash ```强制规则配置:所有运维操作全程录像,高危操作(删库、修改权限、批量导出档案)需提前提交工单审批,未审批操作自动拦截。
其次按照3-2-1备份原则配置自动备份,以下脚本可直接复制使用,放入/etc/cron.daily每日自动执行:
``` !/bin/bash 备份数据库 mysqldump -u 数据库账号 -p'数据库密码' --single-transaction 档案库名 | gzip > /backup/db/$(date +%Y%m%d).sql.gz 备份附件 rsync -av /data/attach /backup/attach/ 同步到异地OSS ossutil cp -r /backup/ oss://你的异地备份Bucket/backup/$(date +%Y%m%d)/ 清理30天以上过期备份 find /backup/ -mtime +30 -delete ```验证要求:每周执行1次备份恢复测试,确保备份文件可正常读取、数据完整。
完成所有配置后,对照以下checklist验证防护效果:
strings 数据库数据文件搜索,无明文档案内容3类常见安全事件处置步骤:
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP断开外网,调取堡垒机日志排查入侵路径,恢复最近的干净备份