档案软件通信加密零门槛实操指南 手把手完成端到端加密落地

前置准备

本次实操基于开源工具实现,无需改造现有档案软件代码,零门槛落地,仅需准备服务器/客户端操作权限,执行对应命令即可完成工具安装:

  • Ubuntu/Debian系统执行安装命令:
    ``` sudo apt update && sudo apt install openssl stunnel4 -y ```
  • CentOS/RHEL系统执行安装命令:
    ``` sudo yum install openssl stunnel -y ```
  • Windows系统通过官方包管理器安装,执行命令:
    ``` winget install ShiningLight.OpenSSL stunnel.stunnel ```

内部部署的档案系统使用自签名证书即可满足加密要求,等保合规场景只需将后续生成的自签名证书替换为CA机构颁发的证书即可,操作步骤完全一致。

实操步骤

第一步:生成加密证书与私钥

我们需要生成服务端的加密证书和私钥,直接复制以下命令依次运行即可,遇到填写信息提示直接按回车留空即可:

  1. 生成2048位RSA私钥:
    ``` openssl genrsa -out archive_server.key 2048 ```
  2. 生成证书签名请求:
    ``` openssl req -new -key archive_server.key -out archive_server.csr ```
  3. 生成有效期10年的自签名证书:
    ``` openssl x509 -req -days 3650 -in archive_server.csr -signkey archive_server.key -out archive_server.crt ```

生成完成后得到两个核心文件:archive_server.key(私钥,需保密存储)、archive_server.crt(证书,可公开分发)。

关键权限配置:Linux系统必须执行以下命令限制私钥访问权限,否则加密服务会启动失败: ``` sudo mkdir -p /etc/archive/cert sudo mv archive_server. /etc/archive/cert/ sudo chmod 600 /etc/archive/cert/archive_server.key ```

第二步:根据档案软件架构配置加密

目前主流档案软件分为两种架构,对应不同配置方式,均可直接照搬修改:

场景1:B/S架构(浏览器访问的档案系统)

档案软件通信加密零门槛实操指南 手把手完成端到端加密落地

大部分B/S架构档案系统基于Nginx反向代理,直接在Nginx配置文件中添加以下配置,替换成你的域名和证书路径即可:

``` server { listen 443 ssl; server_name 你的档案系统域名; ssl_certificate /etc/archive/cert/archive_server.crt; ssl_certificate_key /etc/archive/cert/archive_server.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://127.0.0.1:你的原档案系统端口; } } 原HTTP请求自动跳转HTTPS加密 server { listen 80; server_name 你的档案系统域名; return 301 https://$server_name$request_uri; } ```

配置完成后执行sudo nginx -t验证配置无错,再执行sudo nginx -s reload重载配置即可生效。

场景2:C/S架构(客户端软件直连服务器)

对于自定义TCP通信的C/S档案软件,无需修改原有软件代码,用Stunnel搭建加密隧道即可,操作如下:

服务端配置:新建/etc/stunnel/archive.conf,写入以下内容,修改对应端口即可: ``` cert = /etc/archive/cert/archive_server.crt key = /etc/archive/cert/archive_server.key pid = /var/run/stunnel-archive.pid accept = 8443 connect = 127.0.0.1:原档案服务端口 ``` 然后启动Stunnel服务:Ubuntu执行sudo systemctl enable stunnel4 && sudo systemctl start stunnel4,CentOS执行sudo systemctl enable stunnel && sudo systemctl start stunnel

客户端配置:客户端新建archive_client.conf,写入以下内容: ``` client = yes cert = C:\Program Files\stunnel\cert\archive_server.crt accept = 127.0.0.1:8081 connect = 你的档案服务器公网IP:8443 ``` 启动客户端Stunnel后,将原有档案客户端的连接地址从服务器IP:原端口改成127.0.0.1:8081即可,所有通信都会自动走加密隧道。

第三步:验证加密有效性

执行以下命令即可验证加密是否配置成功,替换成你的服务器地址和加密端口: ``` openssl s_client -connect 你的服务器IP:加密端口 -showcerts ```

如果输出末尾显示Verify return code: 0 (ok),说明加密握手成功,所有通信已经是加密传输。你也可以通过Wireshark抓包验证,所有通信内容都会显示为TLS密文,不会泄露明文档案数据。

常见坑点排查

  • 加密服务启动失败:90%的概率是私钥权限不足,重新执行chmod 600 /path/to/your.key即可解决;剩余情况是证书路径写错,检查配置文件中的绝对路径是否正确。
  • 连接超时:检查服务器防火墙和云服务商安全组,是否放行加密端口,UFW防火墙执行sudo ufw allow 加密端口/tcp,Firewalld执行sudo firewall-cmd --add-port=加密端口/tcp --permanent && sudo firewall-cmd --reload
  • 浏览器提示不安全:自签名证书默认不受浏览器信任,内部使用场景可以手动将证书添加到系统信任列表,等保合规场景替换成CA机构颁发的信任证书即可解决。

以上配置完成后,档案软件所有端到端通信都会被加密,满足数据传输安全要求,整个过程无需修改现有档案软件的任何代码,1小时内即可完成落地。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统