做汽车微信广告视频网站有哪些,重庆百度整站优化,合肥网页设计工资,推广策划方案怎么写文章目录 openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安全的TCP/IP连接100.1 背景信息100.2 前提条件100.3 注意事项100.4 操作步骤100.5 相关参考 openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安… 文章目录 openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安全的TCP/IP连接100.1 背景信息100.2 前提条件100.3 注意事项100.4 操作步骤100.5 相关参考 openGauss学习笔记-100 openGauss 数据库管理-管理数据库安全-客户端接入之用SSL进行安全的TCP/IP连接
100.1 背景信息
openGauss支持SSL标准协议TLS 1.2SSL协议是安全性更高的协议标准它们加入了数字签名和数字证书来实现客户端和服务器的双向身份验证保证了通信双方更加安全的数据传输。
100.2 前提条件
从CA认证中心申请到正式的服务器、客户端的证书和密钥。假设服务器的私钥为server.key证书为server.crt客户端的私钥为client.key证书为client.crtCA根证书名称为cacert.pem。
100.3 注意事项
当用户远程连接到数据库主节点时需要使用sha256的认证方式。当内部服务器之间连接时需要使用trust的认证方式支持IP白名单认证。
100.4 操作步骤
openGauss在数据库部署完成后默认已开启SSL认证模式。服务器端证书私钥以及根证书已经默认配置完成。用户需要配置客户端的相关参数。
配置SSL认证相关的数字证书参数具体要求请参见表1。 配置客户端参数。 已从CA认证中心申请到客户端默认证书私钥根证书以及私钥密码加密文件。假设证书、私钥和根证书都放在“/home/omm”目录。 双向认证需配置如下参数 export PGSSLCERT/home/omm/client.crt
export PGSSLKEY/home/omm/client.key
export PGSSLMODEverify-ca
export PGSSLROOTCERT/home/omm/cacert.pem单向认证需要配置如下参数 export PGSSLMODEverify-ca
export PGSSLROOTCERT/home/omm/cacert.pem修改客户端密钥的权限。 客户端根证书密钥证书以及密钥密码加密文件的权限需保证权限为600。如果权限不满足要求则客户端无法以SSL连接到openGauss。 chmod 600 client.key
chmod 600 client.crt
chmod 600 client.key.cipher
chmod 600 client.key.rand
chmod 600 cacert.pem须知 从安全性考虑建议使用双向认证方式。 配置客户端环境变量必须包含文件的绝对路径。 表 1 认证方式
认证方式含义配置客户端环境变量维护建议双向认证推荐客户端验证服务器证书的有效性同时服务器端也要验证客户端证书的有效性只有认证成功连接才能建立。设置如下环境变量PGSSLCERTPGSSLKEYPGSSLROOTCERTPGSSLMODE该方式应用于安全性要求较高的场景。使用此方式时建议设置客户端的PGSSLMODE变量为verify-ca。确保了网络数据的安全性。单向认证客户端只验证服务器证书的有效性而服务器端不验证客户端证书的有效性。服务器加载证书信息并发送给客户端客户端使用根证书来验证服务器端证书的有效性。设置如下环境变量PGSSLROOTCERTPGSSLMODE为防止基于TCP链接的欺骗建议使用SSL证书认证功能。除配置客户端根证书外建议客户端使用PGSSLMODE变量为verify-ca方式连接。
100.5 相关参考
在服务器端的postgresql.conf文件中配置相关参数详细信息请参见表2。
表 2 服务器参数
参数描述取值范围ssl表示是否启动SSL功能。on开启SSL功能。off关闭SSL功能。**默认值**offrequire_ssl设置服务器端是否强制要求SSL连接。该参数只有当参数ssl为on时才有效。on服务器端强制要求SSL连接。off服务器端对是否通过SSL连接不作强制要求。**默认值**offssl_cert_file指定服务器证书文件包含服务器端的公钥。服务器证书用以表明服务器身份的合法性公钥将发送给对端用来对数据进行加密。请以实际的证书名为准其相对路径是相对于数据目录的。默认值server.crtssl_key_file指定服务器私钥文件用以对公钥加密的数据进行解密。请以实际的服务器私钥名称为准其相对路径是相对于数据目录的。默认值server.keyssl_ca_fileCA服务器的根证书。此参数可选择配置需要验证客户端证书的合法性时才需要配置。请以实际的CA服务器根证书名称为准。默认值cacert.pemssl_crl_file证书吊销列表如果客户端证书在该列表中则当前客户端证书被视为无效证书。请以实际的证书吊销列表名称为准。默认值空表示没有吊销列表。ssl_ciphersSSL通讯使用的加密算法。本产品支持的加密算法的详细信息请参见表4。**默认值**ALL表示允许对端使用产品支持的所有加密算法但不包含ADH、LOW、EXP、MD5算法。ssl_cert_notify_timeSSL服务器证书到期前提醒的天数。请按照需求配置证书过期前提醒天数。**默认值**90
在客户端配置SSL认证相关的环境变量详细信息请参见表3。 说明 客户端环境变量的路径以“/home/omm”为例在实际操作中请使用实际路径进行替换。 表 3 客户端参数
环境变量描述取值范围PGSSLCERT指定客户端证书文件包含客户端的公钥。客户端证书用以表明客户端身份的合法性公钥将发送给对端用来对数据进行加密。必须包含文件的绝对路径如export PGSSLCERT/home/omm/client.crt默认值空PGSSLKEY指定客户端私钥文件用以对公钥加密的数据进行解密。必须包含文件的绝对路径如export PGSSLKEY/home/omm/client.key默认值空PGSSLMODE设置是否和服务器进行SSL连接协商以及指定SSL连接的优先级。**取值及含义**disable只尝试非SSL连接。allow首先尝试非SSL连接如果连接失败再尝试SSL连接。prefer首先尝试SSL连接如果连接失败将尝试非SSL连接。require只尝试SSL连接。如果存在CA文件则按设置成verify-ca的方式验证。verify-ca只尝试SSL连接并且验证服务器是否具有由可信任的证书机构签发的证书。verify-full只尝试SSL连接并且验证服务器是否具有由可信任的证书机构签发的证书以及验证服务器主机名是否与证书中的一致。**默认值**preferPGSSLROOTCERT指定为客户端颁发证书的根证书文件根证书用于验证服务器证书的有效性。必须包含文件的绝对路径如export PGSSLROOTCERT/home\/omm\/certca.pem**默认值**空PGSSLCRL指定证书吊销列表文件用于验证服务器证书是否在废弃证书列表中如果在则服务器证书将会被视为无效证书。必须包含文件的绝对路径如export PGSSLCRL/home/omm/sslcrl-file.crl**默认值**空
服务器端参数ssl、require_ssl与客户端参数sslmode配置组合结果如下
ssl服务器sslmode客户端require_ssl服务器结果ondisableon由于服务器端要求使用SSL但客户端针对该连接禁用了SSL因此无法建立连接。disableoff连接未加密。allowon连接经过加密。allowoff连接未加密。preferon连接经过加密。preferoff连接经过加密。requireon连接经过加密。requireoff连接经过加密。verify-caon连接经过加密且验证了服务器证书。verify-caoff连接经过加密且验证了服务器证书。verify-fullon连接经过加密且验证了服务器证书和主机名。verify-fulloff连接经过加密且验证了服务器证书和主机名。offdisableon连接未加密。disableoff连接未加密。allowon连接未加密。allowoff连接未加密。preferon连接未加密。preferoff连接未加密。requireon由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。requireoff由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。verify-caon由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。verify-caoff由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。verify-fullon由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。verify-fulloff由于客户端要求使用SSL但服务器端禁用了SSL因此无法建立连接。
SSL传输支持一系列不同强度的加密和认证算法。用户可以通过修改postgresql.conf中的ssl_ciphers参数指定数据库服务器使用的加密算法。目前本产品SSL支持的加密算法如表4所示。
表 4 加密算法套件
OpenSSL套件名IANA套件名安全程度ECDHE-RSA-AES128-GCM-SHA256TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256HIGHECDHE-RSA-AES256-GCM-SHA384TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384HIGHECDHE-ECDSA-AES128-GCM-SHA256TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256HIGHECDHE-ECDSA-AES256-GCM-SHA384TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384HIGHDHE-RSA-AES128-GCM-SHA256TLS_DHE_RSA_WITH_AES_128_GCM_SHA256HIGHDHE-RSA-AES256-GCM-SHA384TLS_DHE_RSA_WITH_AES_256_GCM_SHA384HIGH 说明 目前只支持上表中的6种加密算法套件。配置参数ssl_ciphers的默认值为ALL表示支持上表中的所有加密算法。为保持前向兼容保留了DHE算法套件即DHE-RSA-AES128-GCM-SHA256和DHE-RSA-AES256-GCM-SHA384根据CVE-2002-20001漏洞披露DHE算法存在一定安全风险非兼容场景不建议使用可将ssl_ciphers参数配置为仅支持ECDHE类型算法套件。如需指定以上加密算法套件可以设置ssl_ciphers为上表中OpenSSL套件名称加密算法套件之间需要使用分号分割如在postgresql.conf设置ssl_ciphers‘ECDHE-RSA-AES128-GCM-SHA256;ECDHE-ECDSA-AES128-GCM-SHA256’。SSL连接认证不仅增加了登录创建SSL环境及退出过程清理SSL环境的时间消耗同时需要消耗额外的时间用于加解密所需传输的内容因此对性能有一定影响。特别的对于频繁的登录登出短时查询等场景有较大的影响。在证书有效期小于7天的时候连接登录会在日志中产生告警提醒。 点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富