网站首页/ 信息中心/ 档案百科/

从文档存储到用户访问全链路档案管理系统隐私保护实操指南

发布时间:2026年09月05日 07:55:15 浏览量:0

前置准备

本次实操用开源免费的OnlyOffice Community Server 12.0搭建极简档案库,用OpenSSL 1.1.1w生成加密证书,所有操作在Windows 10/11、Ubuntu 22.04 LTS双平台通用(Windows需先安装Git Bash替代CMD执行命令)。

第一步:档案存储端AES-256透明加密

透明加密指用户正常上传下载无需额外操作,系统后台自动加解密。

Ubuntu端配置(LVM+LUKS)

若使用独立硬盘存放档案:

  1. 确认硬盘设备名:执行sudo fdisk -l,找到目标盘(如/dev/sdb)
  2. 清空目标盘分区表(数据将永久丢失,提前备份):执行sudo dd if=/dev/zero of=/dev/sdb bs=4M count=10
  3. 创建LVM物理卷:sudo pvcreate /dev/sdb
  4. 创建卷组(命名vg_archive):sudo vgcreate vg_archive /dev/sdb
  5. 创建逻辑卷(命名lv_archive,占满卷组空间):sudo lvcreate -l 100%FREE -n lv_archive vg_archive
  6. 初始化LUKS分区并设置密码(密码至少12位,含大小写、数字、符号):sudo cryptsetup luksFormat /dev/mapper/vg_archive-lv_archive,输入大写YES确认
  7. 打开LUKS分区(映射为archive_crypt):sudo cryptsetup luksOpen /dev/mapper/vg_archive-lv_archive archive_crypt
  8. 格式化映射分区为ext4:sudo mkfs.ext4 /dev/mapper/archive_crypt
  9. 创建挂载目录:sudo mkdir -p /opt/onlyoffice_archive
  10. 配置开机自动挂载:
    • 获取LUKS分区UUID:sudo blkid /dev/mapper/vg_archive-lv_archive,记录UUID值
    • 获取映射分区UUID:sudo blkid /dev/mapper/archive_crypt,记录另一个UUID值
    • 编辑/etc/crypttab:sudo nano /etc/crypttab,添加一行archive_crypt /dev/disk/by-uuid/[第一个UUID值] none luks,Ctrl+O保存、Ctrl+X退出
    • 编辑/etc/fstab:sudo nano /etc/fstab,添加一行/dev/mapper/archive_crypt /opt/onlyoffice_archive ext4 defaults 0 2,保存退出

Windows端配置(BitLocker)

  1. 打开“此电脑”,右键目标档案盘→启用BitLocker
  2. 选择“使用密码解锁驱动器”,设置至少12位强密码
  3. 选择“保存恢复密钥到文件”,存放在U盘或非BitLocker加密的本地安全文件夹
  4. 选择“仅加密已使用的磁盘空间”(新盘选“加密整个驱动器”)
  5. 选择“兼容模式”,加密完成后重启电脑

第二步:配置OnlyOffice HTTPS传输加密

从文档存储到用户访问全链路档案管理系统隐私保护实操指南

OnlyOffice默认HTTP传输,需替换为OpenSSL自签名证书(生产环境用Let’s Encrypt免费证书,本次演示自签名)。

生成自签名证书(双平台通用Git Bash)

  1. 创建证书目录:mkdir -p ~/onlyoffice_ssl
  2. 生成私钥(无密码,生产环境需加-des3参数设置密码):openssl genrsa -out ~/onlyoffice_ssl/onlyoffice.key 2048
  3. 生成证书签名请求(一路回车跳过,仅Common Name填你的服务器IP或域名):openssl req -new -key ~/onlyoffice_ssl/onlyoffice.key -out ~/onlyoffice_ssl/onlyoffice.csr
  4. 生成有效期3650天的自签名证书:openssl x509 -req -days 3650 -in ~/onlyoffice_ssl/onlyoffice.csr -signkey ~/onlyoffice_ssl/onlyoffice.key -out ~/onlyoffice_ssl/onlyoffice.crt

Ubuntu端OnlyOffice SSL配置

  1. 将证书移动到OnlyOffice配置目录:sudo cp ~/onlyoffice_ssl/onlyoffice.crt /etc/onlyoffice/documentserver/nginx/ssl/sudo cp ~/onlyoffice_ssl/onlyoffice.key /etc/onlyoffice/documentserver/nginx/ssl/
  2. 修改OnlyOffice Nginx配置:sudo nano /etc/onlyoffice/documentserver/nginx/includes/ds-common.conf
  3. 找到listen 80;,替换为:
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate /etc/onlyoffice/documentserver/nginx/ssl/onlyoffice.crt;
    ssl_certificate_key /etc/onlyoffice/documentserver/nginx/ssl/onlyoffice.key;
    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;
  4. 在文件末尾添加HTTP重定向HTTPS配置:
    server {
    listen 80;
    listen [::]:80;
    server_name _;
    return 301 https://$host$request_uri;
    }
  5. 重启OnlyOffice所有服务:sudo systemctl restart onlyoffice-documentserver.service onlyoffice-communityserver.service
  6. 访问https://你的服务器IP,首次需跳过浏览器安全警告

第三步:设置OnlyOffice权限分级与操作审计

权限分级配置

  1. 登录OnlyOffice社区版管理员账号(默认用户名admin,密码安装时设置)
  2. 进入“设置”→“用户”→“角色”,删除默认普通用户以外的角色,创建3个自定义角色:
    • 档案管理员:勾选“创建/编辑/删除所有档案”“管理用户档案权限”“查看操作日志”
    • 普通借阅人:勾选“查看自己/被授权档案”“下载被授权档案(可选禁用)”
    • 临时访客:仅勾选“查看单次被授权的特定档案”“有效期24小时自动失效”
  3. 创建用户并分配对应角色,临时访客需设置账号有效期

操作审计配置

  1. 进入“设置”→“集成”→“审计日志”,勾选“启用审计日志”
  2. 勾选所有需审计的操作:上传、下载、编辑、删除、权限变更、登录/登出
  3. 设置审计日志保存期限为180天(可选,但需符合《个人信息保护法》要求)
  4. 点击“保存”,可在“设置”→“集成”→“审计日志”页面实时查看或导出CSV格式日志

第四步:敏感信息脱敏(OnlyOffice编辑器宏实现)

针对Word文档中的身份证号、手机号自动脱敏,不影响档案原文存储,仅借阅/查看时显示脱敏内容。

  1. 在OnlyOffice中打开需脱敏的Word档案,点击“插件”→“宏”→“创建”
  2. 删除默认代码,粘贴完整脱敏宏代码:
    (function()
    {
    var oDocument = Api.GetDocument();
    var oRange = oDocument.GetRange(0, oDocument.GetCharactersCount());
    var sText = oRange.GetText();
    // 身份证号脱敏(保留前6后4)
    sText = sText.replace(/(\d{6})\d{8}(\d{4})/g, "$1$2");
    // 手机号脱敏(保留前3后4)
    sText = sText.replace(/(1[3-9]\d)\d{4}(\d{4})/g, "$1$2");
    oRange.SetText(sText);
    })();
  3. 点击“保存”,命名为“敏感信息脱敏”,设置为“所有用户可使用”
  4. 档案管理员上传原文时保存加密,借阅人打开时点击“插件”→“宏”→“运行”即可查看脱敏内容

第五步:定期备份加密(双平台通用)

备份策略

采用“本地增量+云端加密”双备份:本地每日增量备份档案,每周全量备份;云端仅存每周加密全量备份。

本地增量备份(Ubuntu端rsync,Windows端FreeFileSync)

Ubuntu端配置每日增量备份到另一非加密逻辑卷/外接硬盘:

  1. 创建备份脚本:sudo nano /opt/archive_backup.sh
  2. 粘贴完整脚本:
    !/bin/bash
    BACKUP_SRC="/opt/onlyoffice_archive"
    BACKUP_DEST="/mnt/usb_backup/onlyoffice_incremental"
    DATE=$(date +%Y%m%d_%H%M%S)
    mkdir -p $BACKUP_DEST
    rsync -av --delete --link-dest=$BACKUP_DEST/$(ls -t $BACKUP_DEST | head -1) $BACKUP_SRC $BACKUP_DEST/$DATE
    保留最近7天的增量备份
    find $BACKUP_DEST -type d -mtime +7 -exec rm -rf {} \;
  3. 赋予执行权限:sudo chmod +x /opt/archive_backup.sh
  4. 配置crontab每日凌晨2点执行:sudo crontab -e,添加一行0 2 /opt/archive_backup.sh
商标档案管理系统:别再让商标资产“睡大觉”了!
商标档案管理系统:别再让商标资产“睡大觉”了!
你有没有发现,很多公司花大价钱注册了一堆商标,结果呢?这些商标就像被扔进了仓库角落的旧文件,没人记得、没人维护,甚至快过期了都无人知晓。这事儿吧,说白了就是管理上的一笔“糊涂账”。
2026年09月05日 07:55:15
土木工程建筑业企业档案培训:实用干货全揭秘
土木工程建筑业企业档案培训:实用干货全揭秘
哎,各位土木届的搬砖人、包工头、资料员们,终于挖到个能救咱们半条命的宝贝了——今天要唠的就是跟咱们每天离不开的“工地隐形生命线”有关的【土木工程建筑业企业档案培训】!我可不是啥自媒体瞎忽悠,我是真踩过...
2026年09月05日 07:55:15
微信咨询
电话联系
QQ客服
微信咨询一对一服务
服务热线: 028-8744 4417
QQ客服: 2305721818