解释 PostgreSql ssl_cipher 值: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH

Jér*_*nge 1 postgresql configuration ssl

在该postgresql.conf文件中,可以配置 的授权值ssl_cipher。但我找不到解释 ALL、ADH、LOW、EXP、MD5 和 STRENGTH 值对应的文档。

我猜MD5是指相应的MD5算法,但是其他值呢?我认为 LOW 不应该在生产环境中使用。

Mat*_*Mat 5

这是由 OpenSSL 库处理的参数。格式和选项记录在ciphers(5)手册页中。

对于你提到的那些:

全部

除必须显式启用的 eNULL 密码之外的所有密码套件;从 OpenSSL 开始,默认情况下所有密码套件均按合理顺序排列

抗利尿激素

匿名 DH 密码套件,请注意,这不包括匿名椭圆曲线 DH (ECDH) 密码套件。

低的

“低”加密密码套件,当前使用 64 或 56 位加密算法,但不包括导出密码套件。

出口、出口

导出加密算法。包括40位和56位算法。

MD5

使用 MD5 的密码套件。

您可以将它们组合起来,并通过使用前缀专门包含或排除密码类别:

每个密码字符串前面可以选择添加字符 !、- 或 +。

如果 !使用后,密码将从列表中永久删除。即使明确说明,删除的密码也永远不会重新出现在列表中。

如果使用 - 则将从列表中删除密码,但可以通过以后的选项再次添加部分或全部密码。

如果使用 +,则密码将移至列表末尾。此选项不会添加任何新密码,它只是移动与现有密码相匹配的密码。

@STRENGTH有点特别:

密码字符串@STRENGTH 可以在任何时候用于按加密算法密钥长度的顺序对当前密码列表进行排序。