文书档案系统安全配置实操全流程
1. 服务器基础安全加固(前置准备)
本次实操基于Ubuntu Server 22.04 LTS,无额外依赖工具,直接执行以下命令完成环境加固:
```
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
apt update && apt upgrade -y
```
```
useradd -m -s /bin/bash archiveuser
passwd archiveuser
```
```
visudo
```
在文件末尾添加以下内容(直接复制,无需修改路径):
```
archiveuser ALL=(ALL:ALL) NOPASSWD: /usr/bin/systemctl, /usr/bin/apt, /usr/bin/systemctl restart
```
按Ctrl+O回车保存,再按Ctrl+X退出。
2. 文书档案系统基础部署(Nextcloud开源方案)
使用Nextcloud搭建合规的文书档案系统,所有步骤可直接复制执行:
```
apt install apache2 mariadb-server php php-mysql libapache2-mod-php php-gd php-json php-curl php-zip php-mbstring php-intl -y
```
```
mysql_secure_installation
```
按提示操作:回车→设置自定义数据库root密码→输入Y→Y→Y→Y(完成数据库安全加固)。
```
mysql -u root -p
```
进入MySQL后执行以下命令(替换密码为自定义强密码,如Archive@2024):
```
CREATE DATABASE nextcloud_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'nextcloud_user'@'localhost' IDENTIFIED BY 'Archive@2024';
GRANT ALL ON nextcloud_db. TO 'nextcloud_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
```
- 下载并部署Nextcloud 27.1.4稳定版,避免兼容问题:
```
cd /var/www/html
wget https://download.nextcloud.com/server/releases/nextcloud-27.1.4.zip
unzip nextcloud-27.1.4.zip
chown -R www-data:www-data /var/www/html/nextcloud
chmod -R 755 /var/www/html/nextcloud
```
- 配置Apache虚拟主机(替换your-domain.com为自己的域名,无域名填服务器公网IP):
```
nano /etc/apache2/sites-available/nextcloud.conf
```
输入完整配置:
```
DocumentRoot /var/www/html/nextcloud
ServerName your-domain.com
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
```
保存退出后执行:
```
a2ensite nextcloud.conf
a2enmod rewrite headers env dir mime
systemctl restart apache2
```
完成后访问http://your-domain.com,按提示创建管理员账号,即完成基础部署。
3. 档案信息安全核心配置(必做项)
3.1 存储端加密配置
登录Nextcloud管理员后台→设置→安全→加密→必须启用服务器端加密,勾选“强制所有文件使用加密”,点击保存。此配置确保档案文件以加密格式存储,即使磁盘被非法获取,内容也无法解密。
3.2 细粒度权限管控
管理员后台→用户→用户组→新建“档案管理员”“档案查阅员”“档案录入员”三个组;分别分配最小权限:档案管理员拥有全部权限,档案查阅员仅允许“查看/下载”,档案录入员仅允许“上传/新建”,禁止删除、修改或导出。必须关闭“所有用户默认权限”,仅开放必要组的权限。
3.3 操作日志审计配置

管理员后台→设置→日志→设置日志保留天数为180天,启用“用户操作日志”,勾选“文件操作日志”“登录日志”,点击保存。每周手动导出一次日志,存储到独立非服务器介质,用于合规审计。
3.4 敏感档案标签管控
管理员后台→设置→档案管理→新建“敏感档案”标签,将涉密文书自动标记,开启标签访问限制:仅档案管理员可查看敏感档案内容。敏感档案必须设置二次验证,如需查看需额外输入临时密钥。
4. 安全运维与应急备份配置
4.1 自动更新配置
编辑Nextcloud配置文件,启用自动更新稳定版:
```
nano /var/www/html/nextcloud/config/config.php
```
在返回数组末尾添加两行:
```
'update.auto' => 'stable',
'update.severity' => 'critical',
```
手动更新验证:`apt update && apt upgrade -y`,确认所有安全补丁安装完成。
4.2 定时备份脚本配置
创建备份脚本,自动备份数据库和档案文件:
```
nano /root/backup_archive.sh
```
输入完整脚本(替换密码和远程服务器信息,无远程备份则删除对应行):
```
!/bin/bash
备份Nextcloud数据库
DB_PASS='Archive@2024'
mysqldump -u nextcloud_user -p$DB_PASS nextcloud_db > /var/backup/nextcloud_db_$(date +%Y%m%d).sql
备份档案文件
tar -zcf /var/backup/archive_files_$(date +%Y%m%d).tar.gz /var/www/html/nextcloud/data/
上传到远程备份服务器(可选)
scp /var/backup/ backup-user@192.168.1.100:/backup/archive/
删除7天前的本地备份
find /var/backup -name ".sql" -mtime +7 -delete
find /var/backup -name ".tar.gz" -mtime +7 -delete
```
给脚本加执行权限:`chmod +x /root/backup_archive.sh`,设置定时任务:
```
crontab -e
```
添加定时任务(每天凌晨2点自动备份):
```
0 2 /root/backup_archive.sh
```
必须手动执行一次脚本,确认备份文件正常生成在/var/backup目录。
5. 日常安全巡检要点
每日检查:Apache日志(/var/log/apache2/nextcloud_access.log)是否有异常登录尝试,Nextcloud后台是否有未授权的权限修改;每周检查:加密功能是否正常启用,敏感档案标签的访问限制是否生效;每月检查:备份文件是否完整,日志保留时长是否符合要求。