在 Ubuntu + IBM Informix 环境中,“加密”一般指 数据传输加密(SSL/TLS) 和 数据存储加密(磁盘/表空间加密)。下面按常见场景给你一个实用指南。
| 加密类型 | 说明 | 是否常用 |
|---|---|---|
| SSL/TLS(通信加密) | 客户端 ↔ 服务器之间的加密 | ✅ 常用 |
| 磁盘加密(Disk Encryption) | 数据文件加密 | ✅ 企业版支持 |
| 列级加密 | 对敏感字段加密 | ✅ |
| 数据库密码加密 | 用户密码存储加密 | ✅ 默认 |
oninit / onconfig 权限openssl version
cd $INFORMIXDIR/ssl
mkdir -p certs
cd certs
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 \
-out ca.crt
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key \
-CAcreateserial -out server.crt -days 3650 -sha256
onconfigENCRYPT_CDR 0
SSL_KEYSTORE_FILE $INFORMIXDIR/ssl/certs/server.key
SSL_CERT_FILE $INFORMIXDIR/ssl/certs/server.crt
SSL_CA_FILE $INFORMIXDIR/ssl/certs/ca.crt
sqlhostsol_informix ssl drsoctcp localhost 1526
⚠️ 注意:
ssl 表示启用 SSLonmode -ky
oninit -v
jdbc:informix-sqli://localhost:1526/testdb:INFORMIXSERVER=ol_informix;ssl=true;
onmode -wf DISK_ENCRYPTION=1
或 onconfig:
DISK_ENCRYPTION 1
⚠️ 注意:
INSERT INTO user_table
VALUES (ENCRYPT('123456'));
解密:
SELECT DECRYPT(password) FROM user_table;
⚠️ 适合:
不适合全文检索字段。
cryptsetup luksFormat /dev/sdb
chown informix:informix $INFORMIXDIR
chmod 700 $INFORMIXDIR
IBM Global Security Kit (GSKit)onstat -c | grep SSL
oncheck -pp
✅ 生产环境最佳实践
你可以告诉我:
我可以给你 完整可执行的配置示例 ✅