Email:2225994292@qq.com
CNY
如何为内网系统(如OA、ERP)配置SSL证书?
更新时间:2025-12-10 作者:配置SSL证书

与公网服务不同,内网系统的SSL配置面临 “域名非公网注册”“证书信任体系闭环”“多终端适配” 等特殊挑战。本文将从SSL证书选型、私有 CA 搭建、主流系统部署、运维管理四个维度,提供适配 OA、ERP 等内网场景的完整SSL配置方案,帮助组织构建可靠的内网加密环境。

一、内网SSL证书选型:匹配场景的核心决策

内网系统的封闭性决定了其证书选型无需依赖公网 CA(证书颁发机构),核心需平衡 “安全性、管理成本、兼容性” 三大要素。目前主流的内网证书方案分为三类,其适用场景与特性差异显著。

1. 三类证书方案对比与选型建议

证书类型核心原理优势局限性适用场景
自签名证书管理员自行生成密钥对并签署证书,无第三方验证零成本、生成快、部署灵活浏览器默认不信任,需手动导入;无吊销机制,密钥泄露风险高个人测试环境、5 人以下小型团队临时使用
私有 CA 签发证书组织搭建内部 CA 服务器,统一签发、管理证书信任体系可控、支持批量签发与吊销、适配多系统需搭建 CA 基础设施,有运维成本;跨组织信任需额外配置中大型企业内网、多系统协同环境(OA+ERP+CRM)
公网 DV证书公网 CA 签发,仅验证域名所有权(内网域名需特殊配置)浏览器默认信任,无需客户端配置需公网域名(内网 IP 或私有域名无法直接申请);多子域名成本高有公网映射需求的内网系统(如 VPN 接入的 OA)

选型决策流程:

  • 评估团队规模与系统数量:5 人以下、单系统用自签名证书;20 人以上、多系统用私有 CA;
  • 检查公网依赖:无公网域名 / 映射需求→排除公网 DV 证书;
  • 考量安全等级:财务 ERP、核心 OA 等含高敏感数据的系统→强制使用私有 CA 证书。

2. 关键技术参数确定

无论选择何种方案,证书核心参数需满足内网安全需求:

  • 密钥算法:优先选择 RSA 2048 位(兼容性好)或 ECC 256 位(性能优、加密强度高),禁用 RSA 1024 位及以下弱算法;
  • 证书格式:根据服务器类型选择对应格式 ——Nginx/Apache 用 PEM 格式(文本型,含 -----BEGIN CERTIFICATE----- 标识);IIS 用 PFX 格式(二进制,含密钥);Java 容器(如 Tomcat)用 JKS 格式;
  • 有效期:自签名证书建议≤1 年,私有 CA 证书建议≤3 年,避免长期有效证书密钥泄露后无法及时管控;
  • 扩展字段:需包含 “SAN”,支持多域名 / IP 绑定(如同时适配 oa.company.local、192.168.1.100),解决单域名证书适配局限。

二、私有 CA 搭建:内网信任体系的核心基础

对于中大型组织的多系统内网环境,搭建私有 CA 是实现SSL证书集中管控的最优方案。私有 CA 通过 “根证书→中间证书→终端证书” 的层级结构,构建内网独立信任体系,支持证书全生命周期管理。

1. 基于 OpenSSL 搭建私有 CA(Linux 环境)

OpenSSL 是开源的加密工具包,可快速搭建轻量级私有 CA,适用于中小规模内网(≤50 个系统节点)。

(1)环境准备

  • 服务器要求:2 核 4G 以上 Linux 服务器(推荐 CentOS 7/8),关闭公网访问,仅允许内网管理 IP 连接;
  • 安装依赖:yum install -y openssl openssl-devel
  • 目录规划:创建 CA 工作目录,规范证书存储结构:
mkdir -p /etc/pki/CA/{private,certs,newcerts,crl}  # 私钥、证书、待签、吊销列表目录
touch /etc/pki/CA/index.txt  # 证书索引数据库
echo 01 > /etc/pki/CA/serial  # 证书序列号起始值

(2)生成根证书(Root CA)

根证书是信任体系的基石,需严格保管私钥:

  • 生成根私钥(设置密码,避免明文泄露):
openssl genrsa -des3 -out /etc/pki/CA/private/ca.key 2048

(输入密码并牢记,后续签署证书需验证)

  • 生成根证书请求(CSR):
openssl req -new -key /etc/pki/CA/private/ca.key -out ca.csr

(按提示填写信息,Common Name 建议为 “组织名称 + Root CA”,如 “ABC Corp Root CA”)

  • 自签根证书(有效期 10 年,根证书需长期有效):
openssl x509 -req -days 3650 -in ca.csr -signkey /etc/pki/CA/private/ca.key -out /etc/pki/CA/certs/ca.crt

(3)签发终端证书(以 OA 系统为例)

终端证书用于部署在具体应用服务器(如 OA、ERP),需绑定系统域名 / IP:

  • 在 OA 服务器生成证书请求(CSR):
openssl genrsa -out oa.key 2048
openssl req -new -key oa.key -out oa.csr

(Common Name 填写 OA 系统内网地址,如 “oa.company.local”,同时在 SAN 字段添加 IP“192.168.1.100”)

  • 私有 CA 签署终端证书(有效期 1 年):
openssl ca -in oa.csr -out /etc/pki/CA/certs/oa.crt -days 365

(签署前确保 ca.conf 配置中启用 SAN 扩展,支持 IP 绑定)

  • 导出证书包:将 oa.crt(证书)、oa.key(私钥)打包发送至 OA 服务器,完成证书准备。

2. 企业级 CA 方案选型(大规模内网)

当内网系统节点超过 50 个,或需对接 AD 域、统一身份认证时,推荐使用企业级 CA 方案:

  • 微软 AD CS:与 Windows AD 域深度集成,支持通过组策略自动推送根证书至客户端,适配 IIS、Exchange 等 Windows 系系统;
  • HashiCorp Vault:支持动态签发证书(证书有效期可短至分钟级),集成密钥管理功能,适配多云与混合云内网环境;
  • 开源 EJBCA:支持多 CA 层级、证书模板定制,适配 Java 系内网系统(如基于 Tomcat 的 ERP)。

三、主流内网系统SSL证书部署实战

OA 与 ERP 系统多基于 Nginx、IIS、Tomcat 等主流容器搭建,不同容器的证书部署流程存在差异,需结合证书格式与系统特性适配。

1. Nginx 部署(适配多数开源 OA 系统如通达 OA)

Nginx 需 PEM 格式的证书与私钥,部署核心是配置 ssl 模块并关联证书文件。

(1)证书准备

将私有 CA 签发的证书文件(oa.crt)、私钥文件(oa.key)及根证书(ca.crt)放置于 Nginx 配置目录:

mkdir /etc/nginx/ssl && mv oa.crt oa.key ca.crt /etc/nginx/ssl/

(2)配置 SSL 参数

编辑 Nginx 配置文件(如 /etc/nginx/conf.d/oa.conf),添加 HTTPS 监听与加密配置:

server {
    listen 443 ssl;  # 监听HTTPS默认端口
    server_name oa.company.local 192.168.1.100;  # 绑定内网域名与IP

    # 证书文件路径
    ssl_certificate /etc/nginx/ssl/oa.crt;
    ssl_certificate_key /etc/nginx/ssl/oa.key;
    ssl_trusted_certificate /etc/nginx/ssl/ca.crt;  # 信任根证书

    # 安全加密配置(禁用弱加密套件)
    ssl_protocols TLSv1.2 TLSv1.3;  # 仅启用TLS 1.2/1.3
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
    ssl_prefer_server_ciphers on;  # 优先使用服务器加密套件
    ssl_session_cache shared:SSL:10m;  # 启用会话缓存,提升性能

    # 业务配置
    location / {
        root /usr/share/nginx/oa;
        index index.html index.php;
    }
}

# HTTP自动跳转HTTPS(可选)
server {
    listen 80;
    server_name oa.company.local 192.168.1.100;
    return 301 https://$host$request_uri;
}

(3)验证部署

  • 重启 Nginx:systemctl restart nginx
  • 本地验证:在浏览器访问https://oa.company.local,导入根证书后显示 “安全锁” 标识;
  • 命令行验证:openssl s_client -connect 192.168.1.100:443 -CAfile /etc/nginx/ssl/ca.crt,返回 “Verify return code: 0 (ok)” 即为成功。

2. IIS 部署(适配微软 Dynamics ERP、泛微 OA Windows 版)

IIS 需 PFX 格式证书(含私钥),部署依赖 Windows 证书存储机制。

(1)证书格式转换(若证书为 PEM 格式)

使用 OpenSSL 将 PEM 格式转换为 PFX:

openssl pkcs12 -export -in oa.crt -inkey oa.key -out oa.pfx -certfile ca.crt

(设置 PFX 密码,导入时需验证)

(2)导入证书至服务器

  • 打开 “服务器管理器→工具→Internet 信息服务 (IIS) 管理器”;
  • 选中服务器节点,双击 “服务器证书”,点击 “导入”;
  • 选择 oa.pfx 文件,输入密码,勾选 “允许导出私钥”,完成导入。

(3)配置网站 HTTPS

  • 选中 OA/ERP 网站,点击 “绑定”→“添加”;
  • 类型选择 “https”,端口默认 443,SSL证书选择导入的证书,点击 “确定”;
  • 启用 HTTPS 强加密:点击 “SSL 设置”,勾选 “要求 SSL” 与 “要求 128 位加密”,完成配置。

3. Tomcat 部署(适配 Java 开发的 ERP 系统如金蝶 K/3)

Tomcat 需 JKS 格式证书,可通过 keytool 工具生成或转换证书格式。

(1)证书格式转换(PFX 转 JKS)

keytool -importkeystore -srckeystore oa.pfx -srcstoretype PKCS12 -destkeystore oa.jks -deststoretype JKS

(输入源 PFX 密码与目标 JKS 密码,牢记 JKS 密码)

(2)配置 server.xml

编辑 Tomcat 配置文件(conf/server.xml),启用 SSL 连接器:

443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true">
    Config>
         certificateKeystoreFile="conf/oa.jks"  # JKS证书路径
                     certificateKeystorePassword="123456"  # JKS密码
                     type="RSA"
                     certificateAuthorityFile="conf/ca.crt"/>  # 根证书路径
    </SSLHostConfig>
</Connector>

# 禁用HTTP端口(可选,强制HTTPS访问)
 80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443"/> -->

(3)验证部署

  • 重启 Tomcat:bin/shutdown.sh && bin/startup.sh
  • 访问验证:https://192.168.1.101:443(Tomcat 默认 443 端口需 root 权限,非 root 用户可改用 8443 端口)。

4. 客户端信任配置(解决浏览器告警问题)

内网证书默认不被客户端信任,需手动导入根证书至客户端设备,避免访问时出现 “不安全” 告警:

(1)Windows 客户端

  • 双击根证书 ca.crt,点击 “安装证书”;
  • 选择 “当前用户” 或 “本地计算机”(推荐后者,所有用户可用);
  • 选择 “将所有证书放入下列存储”,点击 “浏览”,选择 “受信任的根证书颁发机构”,完成导入。

(2)macOS 客户端

  • 双击 ca.crt,打开 “钥匙串访问”;
  • 选中导入的根证书,右键选择 “显示简介”;
  • 在 “信任” 选项卡中,设置 “使用此证书时” 为 “始终信任”。

(3)移动端(Android/iOS)

  • Android:通过 “设置→安全→加密与凭据→从存储设备安装” 导入 ca.crt;
  • iOS:通过邮件发送 ca.crt,点击附件安装,再到 “设置→通用→关于本机→证书信任设置” 启用信任。

四、内网SSL证书运维管理:安全与可用的持续保障

证书部署并非一劳永逸,需建立全生命周期运维机制,避免因证书过期、私钥泄露导致的服务中断或安全事件。

1. 证书生命周期管理

(1)到期预警机制

  • 手动监控:通过openssl x509 -in oa.crt -noout -dates查看证书有效期,提前 30 天预警;
  • 自动监控:利用 Zabbix、Prometheus 等监控工具,配置证书过期告警(如剩余天数≤30 时触发邮件 / 短信告警);
  • 企业级方案:微软 AD CS 支持证书自动续期,HashiCorp Vault 可动态签发短期证书,减少人工干预。

(2)证书吊销与更新

当服务器迁移、私钥泄露时,需立即吊销旧证书:

  • 基于 OpenSSL CA:openssl ca -revoke /etc/pki/CA/newcerts/01.pem(01.pem 为证书序列号对应的文件),并更新吊销列表:openssl ca -gencrl -out /etc/pki/CA/crl.pem
  • 客户端同步:将吊销列表(crl.pem)部署至应用服务器,配置 SSL 验证吊销状态(如 Nginx 添加ssl_crl /etc/nginx/ssl/crl.pem;)。

2. 安全加固措施

(1)私钥安全管理

  • 存储防护:私钥文件权限设置为 600(仅所有者可读),避免权限泄露;Windows 系统将私钥存储在 “本地计算机” 证书存储,启用 “私钥不可导出”;
  • 备份策略:私钥加密备份至离线存储(如加密 U 盘),备份文件需标注证书用途与有效期;
  • 禁用明文私钥:避免在配置文件中直接写入私钥,优先使用证书存储或密钥管理工具。

(2)加密配置优化

  • 禁用弱协议:关闭 SSLv2、SSLv3 及 TLSv1.0/1.1,仅保留 TLSv1.2/1.3;
  • 启用 HSTS:在服务器响应头添加Strict-Transport-Security: max-age=31536000; includeSubDomains,强制客户端使用 HTTPS 访问;
  • 性能优化:启用 OCSP Stapling(Nginx 添加ssl_stapling on; ssl_stapling_file /etc/nginx/ssl/ocsp_response;),避免客户端频繁查询证书状态。

3. 常见问题排查

(1)浏览器提示 “证书不受信任”

排查点 1:根证书是否已导入客户端 “受信任的根证书颁发机构”;

排查点 2:证书 Common Name 或 SAN 是否包含访问的域名 / IP;

排查点 3:证书链是否完整(终端证书需包含中间 CA 证书,若有)。

(2)HTTPS 访问超时

排查点 1:服务器 443 端口是否开放(telnet 192.168.1.100 443);

排查点 2:证书与私钥是否匹配(openssl x509 -noout -modulus -in oa.crt | openssl md5与openssl rsa -noout -modulus -in oa.key | openssl md5结果需一致);

排查点 3:加密套件配置是否兼容客户端(老旧设备可能不支持 TLSv1.3,需临时启用 TLSv1.2)。

(3)证书续期后服务异常

排查点 1:新证书是否替换旧证书文件,路径是否正确;

排查点 2:服务器是否重启生效(Nginx、Tomcat 等需重启加载新证书);

排查点 3:客户端是否缓存旧证书,需清除浏览器缓存或重启客户端。

内网系统SSL证书配置的核心是 “适配内网特性的信任体系构建”—— 小型团队可采用自签名证书快速落地,中大型组织需搭建私有 CA 实现规范化管理。在部署实践中,需结合系统容器类型选择证书格式,通过客户端信任配置解决告警问题,最终通过全生命周期运维保障加密服务的持续可用。


Dogssl.cn拥有20年网络安全服务经验,提供构涵盖国际CA机构SectigoDigicertGeoTrustGlobalSign,以及国内CA机构CFCA沃通vTrus上海CA等数十个SSL证书品牌。全程技术支持及免费部署服务,如您有SSL证书需求,欢迎联系!
相关文档
立即加入,让您的品牌更加安全可靠!
申请SSL证书
0.179283s