本次实操适配所有基于Linux部署的数字档案馆系统,无额外付费软件依赖,执行以下命令一键安装所需依赖:
``` apt update && apt install -y openssl libpam-google-authenticator auditd rsync -y ```执行完成后所有依赖安装完成,接下来按顺序完成4步安全配置,全部操作可在30分钟内完成。
这一步是防止非授权访问的核心,需要完成内网限制加二次身份认证双重防护,操作步骤如下:
以管理员身份运行以下命令,生成当前用户的二次验证密钥:
``` google-authenticator ```命令执行过程中,所有交互问题都输入y回车,最后会生成一个二维码和应急备用码,将备用码截图保存在本地安全位置,用于手机丢失时应急登录。
新建PAM配置文件/etc/pam.d/nginx,写入以下完整内容,可直接复制:
修改Nginx中数字档案馆的站点配置,在location根节点添加以下配置,替换其中的内网网段为你单位实际的内网网段:
``` location / { auth_pam "数字档案馆身份验证"; auth_pam_service_name "nginx"; satisfy any; allow 192.168.1.0/24; 替换为你的内网网段 deny all; } ```重启Nginx让配置生效,执行命令:
``` systemctl reload nginx ```所有入库的档案文件都需要加密存储,避免硬盘丢失或者服务器被攻破后档案泄露,我们编写了自动加密脚本,可直接复制使用:
新建脚本文件/opt/archive_encrypt.sh,替换其中的存储路径和32位加密密钥后复制以下内容:

给脚本添加执行权限,配置定时任务每天凌晨自动加密新上传的档案,执行以下命令:
``` chmod +x /opt/archive_encrypt.sh (crontab -l ; echo "0 1 /bin/bash /opt/archive_encrypt.sh >> /var/log/archive_encrypt.log 2>&1") | crontab - ```调阅档案时解密命令如下,替换对应参数即可使用:
``` openssl enc -d -aes-256-cbc -in /path/to/encrypted/file.enc -out /path/to/output/file -k 你的32位密钥 ```所有对档案和配置的修改、访问都需要留痕,符合档案安全合规要求,操作如下:
打开auditd配置文件/etc/audit/rules.d/audit.rules,在文件末尾添加以下规则:
重启auditd并设置开机自启,执行命令:
``` systemctl restart auditd && systemctl enable auditd ```需要查询档案访问记录时,执行以下命令即可导出所有访问日志:
``` ausearch -k archive_access -i --output text > /root/archive_access_log.txt ```灾备是档案安全的最后一道防线,操作如下:
新建备份脚本/opt/archive_backup.sh,替换其中的灾备服务器信息,内容如下:
添加执行权限,配置每周日凌晨自动备份,执行命令:
``` chmod +x /opt/archive_backup.sh (crontab -l ; echo "0 2 0 /bin/bash /opt/archive_backup.sh") | crontab - ```需要恢复时,直接从灾备服务器拉取加密文件,按第二步的解密命令操作即可。
完成所有操作后,执行以下验证确认配置生效:
.enc格式存储