4.1. 连接设置 ¶

listen_addresses

属性

描述

类型

string

默认值

*

级别

KINGBASE---实例级

指定服务器在哪些 TCP/IP 地址上监听客户端连接。值的形式是一个逗号分隔的主机名和/或数字 IP 地址列表。特殊项 对应所有可用 IP 接口。"0.0.0.0" 允许监听所有 IPv4 地址,"::" 允许监听所有 IPv6 地址。如果列表为空,服务器将根本不会监听任何 IP 接口,在这种情况中只能使用 Unix 域套接字来连接它。默认值是localhost,它只允许建立本地 TCP/IP “环回”连接。虽然客户端认证( 强身份验证 )允许细粒度地控制谁能访问服务器, listen_addresses 控制哪些接口接受连接尝试,这能帮助在不安全网络接口上阻止重复的恶意连接请求。这个参数只能在服务器启动时设置。

port

属性

描述

类型

integer

默认值

54321

级别

KINGBASE---实例级

服务器监听的 TCP 端口;默认是 54321 。请注意服务器会同一个端口号监听所有的 IP 地址。这个参数只能在服务器启动时设置。

max_connections

属性

描述

类型

integer

默认值

100

级别

KINGBASE---实例级

决定数据库的最大并发连接数。默认值通常是 100 个连接,但是如果内核设置不支持(initdb时决定),可能会比这个 数少。这个参数只能在服务器启动时设置。

当运行一个后备服务器时,必须设置这个参数等于或大于主服务器上的参数。否则,后备服务器上可能无法允许查询。

superuser_reserved_connections

属性

描述

类型

integer

默认值

3

级别

KINGBASE---实例级

决定为KingbaseES超级用户连接而保留的连接“槽”数。 同时活跃的并发连接最多 max_connections 个。任何时候,活跃的并发连接数最多为 max_connections 减去 superuser_reserved_connections ,新连接就只能由超级用户发起了,并且不会有新的复制连接被接受。

默认值是 3 。这个值必须小于 max_connections 的值。 这个参数只能在服务器启动时设置。

unix_socket_directories

属性

描述

类型

string

默认值

/tmp

级别

KINGBASE---实例级

指定服务器用于监听来自客户端应用的连接的 Unix 域套接字目录。通过列出用逗号分隔的多个目录可以建立多个套接字。项之间的空白会被忽略,因此,如果需要在名字中包括空白或逗号,需要在目录名周围放上双引号。空值表示在任何 Unix 域套接字上都不会被监听,在这种情况中只能使用 TCP/IP 套接字来连接到服务器。默认值通常是 /tmp ,但是在编译时可以被改变。这个参数只能在服务器启动时设置。

除了套接字文件本身(名为 .s.KINGBASE.nnnn ,其中 ``nnnn`` 是服务器的端口号),一个名为 .s.KINGBASE.nnnn .lock的普通文件会在每一个 unix_socket_directories 目录中被创建。任何一个都不应该被手工移除。

Windows下没有 Unix 域套接字,因此这个参数与 Windows 无关。

unix_socket_group

属性

描述

类型

string

默认值

' '

级别

KINGBASE---实例级

设置 Unix 域套接字的所属组(套接字的所属用户总是启动服务器的用户)。可以与选项 unix_socket_permissions 一起用于对 Unix域连接进行访问控制。默认是一个空字符串,表示服务器用户的默认组。这个参数只能在服务器启动时设置。

Windows 下没有 Unix 域套接字,因此这个参数与 Windows 无关。

unix_socket_permissions

属性

描述

类型

integer

默认值

0777

级别

KINGBASE---实例级

设置 Unix 域套接字的访问权限。Unix 域套接字使用普通的 Unix 文件系统权限集。这个参数值应该是数字的形式,也就是系统调用 chmod 和 umask 接受的 形式(如果使用自定义的八进制格式,数字必须以一个 (零)开头)。

默认的权限是 0777 ,意思是任何人都可以连接。合理的候选是 0770 (只有用户和同组的人可以访问, 又见 unix_socket_group )和 0700 (只有用户自己可以访问)(请注意,对于 Unix 域套接字,只有写权限有麻烦,因此没有对读取和执行权限的设置和收回)。

这个访问控制机制与 强身份验证 中的用户认证没有关系。

这个参数只能在服务器启动时设置。

这个参数与完全忽略套接字权限的系统无关,尤其是自版本10以上的Solaris。 在那些系统上,可以通过把 unix_socket_directories 指向一个把搜索权限 限制给指定用户的目录来实现相似的效果。 因为 Windows 下没有 Unix 域套接字,因此这个参数也与 Windows 无关。

bonjour

属性

描述

类型

boolean

默认值

off

级别

KINGBASE---实例级

通过Bonjour广告服务器的存在。默认值是关闭。 这个参数只能在服务器启动时设置。

bonjour_name

属性

描述

类型

string

默认值

' '

级别

KINGBASE---实例级

指定Bonjour服务名称。空字符串 '' (默认值)表示使用计算机名。 如果编译时没有打开Bonjour支持那么将忽略这个参数。这个参数只能在服务器启动时设置。

tcp_keepalives_idle

属性

描述

类型

integer

默认值

0

级别

USER---用户级

指定不活动多少秒之后通过 TCP 向客户端发送一个 keepalive 消息。 0 值表示使用默认值。这个参数只有在支持 TCP_KEEPIDLE 或等效套接字选项的系统或 Windows 上才可以使用。在其他系统上,它必须为零。在通过 Unix 域套接字连接的会话中,这个参数被忽略并且总是读作零。

注意

在 Windows 上,值若为 0,系统会将该参数设置为 2 小时,因为 Windows 不支持读取系统默认值。

tcp_keepalives_interval

属性

描述

类型

integer

默认值

0

级别

USER---用户级

指定在多少秒之后重发一个还没有被客户端告知已收到的 TCP keepalive 消息。0 值表示使用系统默认值。这个参数只有在支持 TCP_KEEPINTVL 或等效套接字选项的系统或 Windows 上才可以使用。在其他系统上,必须为零。在通过 Unix域套接字连接的会话中,这个参数被忽略并总被读作零。

注意

在 Windows 上,值若为 0,系统会将该参数设置为 1 秒,因为 Windows 不支持读取系统默认值。

tcp_keepalives_count

属性

描述

类型

integer

默认值

0

级别

USER---用户级

指定与客户端的服务器连接被认为死掉之前允许丢失的 TCP keepalive 数量。0 值表示使用系统默认值。这个参数只有在支持 TCP_KEEPCNT 或等效套接字选项的系统上才可以使用。在其他系统上,必须为零。在通过 Unix 域套接字连接的会话中,这个参数被忽略并总被读作零。

注意

Windows 不支持该参数,且必须为零。

tcp_user_timeout

属性

描述

类型

integer

默认值

0

级别

USER---用户级

在强制关闭连接之前,指定传输的数据可能保持未确认的毫秒数。值0使用系统默认值。此参数仅支持 TCP_USER_TIMEOUT ;在其他系统上,它必须是零。在通过unix域套接字连接的会话中,此参数将被忽略,并且始终读取为零。

注意

在Windows和Linux 2.6.36或更早版本的Linux中不支持此参数。

client_idle_timeout

属性

描述

类型

integer

默认值

0

级别

USER---用户级

指定客户端空闲多少秒之后断开与服务器的连接。 0 值表示关闭这个功能,大于 0 的值表示开启这个功能并设置自动断开连接的空闲时间。连接断开后需要重新连接数据库,建议不要设置的时间太短。

注意

该值的最大范围是 1800 秒,超出范围后会报错提示。

4.2. 安全和认证 ¶

authentication_timeout

属性

描述

类型

integer

默认值

1min

级别

SIGHUP---会话级

完成客户端认证的最长时间,以秒计。如果一个客户端没有在这段时间里完成 认证协议,服务器将关闭连接。这样就避免了出问题的客户端无限制地占有一个连接。默认值是 1分钟( 1m )。这个参数只能在服务器命令行上或者在 kingbase.conf 文件中设置。

password_encryption

属性

描述

类型

enum

默认值

md5

级别

USER---用户级

当在 CREATE ROLE 或者 ALTER ROLE 中指定了口令时,这个参数决定用于加密该口令的算法。默认值是 md5 ,它会将口令存为一个MD5哈希( on 也会被接受,它是 md5 的别名)。将这个参数设置为 scram-sha-256 将使用SCRAM-SHA-256来加密口令。

注意老的客户端可能缺少对SCRAM认证机制的支持,因此无法使用用SCRAM-SHA-256加密的口令。详情请参考 口令加密认证 。

krb_server_keyfile

属性

描述

类型

string

默认值

' '

级别

SIGHUP---会话级

设置Kerberos服务器密钥文件的位置。详情请参考 GSSAPI身份验证 。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。

krb_caseins_users

属性

描述

类型

boolean

默认值

off

级别

SIGHUP---会话级

设置是否应该以大小写不敏感的方式对待GSSAPI用户名。默认值是 off (大小写敏感)。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。

db_user_namespace

属性

描述

类型

boolean

默认值

off

级别

SIGHUP---会话级

这个参数启用针对每个数据库的用户名。这个参数默认是关掉的。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。

如果这个参数为打开,应该把用户创建成 ``username@dbname`` 的形式。当一个连接客户端传来 ``username`` 时, 和数据库实例名会被追加到用户名并且服务器会查找这个与数据库相关的用户名。注意在SQL环境中用含有 的名称创建用户时,需要把用户名放在引号内。

在这个参数被启用时,仍然可以创建平常的全局用户。而在客户端中指定这种用户时只需要简单地追加 ,例如 joe@ 。在服务器查找该用户名之前, 会被剥离掉。

db_user_namespace 会导致客户端和服务器的用户名表达形式不同。认证检查总是会以服务器的用户名表达形式来完成,因此认证方法必须针对服务器用户名而不是客户端用户名来配置。由于 md5 方法在客户端和服务器两端都使用用户名作为salt, md5 不能与 db_user_namespace 同时使用。

注意

这种特性的目的是在找到完整的解决方案之前提供一种临时的措施。在找到完整解决方案时,这个选项将被去除。

4.3. SSL ¶

有关设置SSL的更多信息请参考 传输加密 。

ssl

属性

描述

类型

boolean

默认值

off

级别

SIGHUP---会话级

启用SSL连接。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是 off 

ssl_ca_file

属性

描述

类型

string

默认值

' '

级别

SIGHUP---会话级

指定包含 SSL 服务器证书颁发机构(CA)的文件名。相对路径是相对于数据目录的。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值为空,表示没有载入CA文件,并且客户端证书验证没有被执行。

ssl_cert_file

属性

描述

类型

string

默认值

server.crt

级别

SIGHUP---会话级

指定包含 SSL 服务器证书的文件名。相对路径是相对于数据目录的。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是 server.crt 

ssl_crl_file

属性

描述

类型

string

默认值

' '

级别

SIGHUP---会话级

指定包含 SSL 服务器证书撤销列表(CRL)的文件名。其中的相对路径是相对于数据目录的。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是空,表示没有载入CRL文件。

ssl_key_file

属性

描述

类型

string

默认值

server.key

级别

SIGHUP---会话级

指定包含 SSL 服务器私钥的文件名。相对路径是相对于数据目录。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是 server.key 

ssl_ciphers

属性

描述

类型

string

默认值

HIGH:MEDIUM:+3DES:!aNULL

级别

SIGHUP---会话级

指定一个SSL密码列表,用于安全连接。这个设置的语法和所支持的值列表可以 参见OpenSSL包中的 ciphers手册页。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是 HIGH:MEDIUM:+3DES:!aNULL 。默认值通常是一种合理的选择,除非用户有特定的安全性需求。

默认值的解释:

HIGH

使用来自 HIGH 组的密码的密码组(例如 AES, Camellia, 3DES)

MEDIUM

使用来自 MEDIUM 组的密码的密码组(例如 RC4, SEED)

+3DES

OpenSSL 对 HIGH 的默认排序是有问题的,因为它认为 3DES 比 AES128 更高。这是错误的,因为 3DES 提供的安全性比 AES128 低,并且它也更加慢。 +3DES 把它重新排序在所有其他 HIGH 和 MEDIUM 密码之后。

!aNULL

禁用不做认证的匿名密码组。这类密码组容易收到中间人攻击,因此不应被使用。

可用的密码组细节可能会随着 OpenSSL 版本变化。可使用命令 openssl ciphers -v 'HIGH:MEDIUM:+3DES:!aNULL' 来查看 当前安装的OpenSSL版本的实际细节。注意这个列表是根据服务器密钥类型 在运行时过滤过的。

ssl_prefer_server_ciphers

属性

描述

类型

boolean

默认值

on

级别

SIGHUP---会话级

指定是否使用服务器的 SSL 密码首选项,而不是用客户端的。 这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。 默认值是 on 

老的KingbaseES版本没有这个设置并且总是使用客户端的首选项。这个设置主要用于与那些版本 的向后兼容性。使用服务器的首选项通常会更好,因为服务器更可能会被合适地配置。

ssl_ecdh_curve

属性

描述

类型

string

默认值

prime256v1

级别

SIGHUP---会话级

指定用在ECDH密钥交换中的曲线名称。它需要被所有连接的客户端支持。 它不需要与服务器椭圆曲线密钥使用的曲线相同。这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。默认值是 prime256v1 

OpenSSL 命名了最常见的曲线: prime256v1 (NIST P-256)、 secp384r1 (NIST P-384)、 secp521r1 (NIST P-521)。 openssl ecparam -list_curves 命令可以显示可用曲线的完整列表。不过并不是所有的都在TLS中可用。

ssl_min_protocol_version

属性

描述

类型

enum

默认值

TLSv1

级别

SIGHUP---会话级

设置要使用的最小SSL/TLS协议版本。当前的有效值是: TLSv1 、 TLSv1.1 、 TLSv1.2 、 TLSv1.3 。老版本的OpenSSL不支持所有的值;如果选择不支持的设置,将引发错误。TLS 1.0之前的协议版本(即SSL版本2和3)总是禁用的。

默认值是 TLSv1 , 主要支持旧版本的OpenSSL库。如果所有软件组件都支持较新的协议版本,则需要将该值设置为较高的值。

ssl_max_protocol_version

属性

描述

类型

enum

默认值

' '

级别

SIGHUP---会话级

设置要使用的最大SSL/TLS协议版本。有效值为 ssl_min_protocol_version , 添加一个空字符串,允许任何协议版本。 默认允许任何版本。设置最大协议版本主要用于测试,或者如果某个组件在使用较新的协议时出现问题,则设置最大协议版本非常有用。

ssl_dh_params_file

属性

描述

类型

string

默认值

' '

级别

SIGHUP---会话级

指定含有用于SSL密码的所谓临时DH家族的Diffie-Hellman参数的文件名。默认值为空,这种情况下将使用内置的默认DH参数。使用自定义的DH参数可以降低攻击者破解众所周知的内置DH参数的风险。可以用命令 openssl dhparam -out dhparams.pem 2048 创建自己的DH参数文件。 这个参数只能在 kingbase.conf 文件中或服务器命令行上进行设置。

ssl_passphrase_command

属性

描述

类型

string

默认值

' '

级别

SIGHUP---会话级

设置当需要一个密码(例如一个私钥)来解密SSL文件时会调用的一个外部命令。默认情况下,这个参数为空,表示使用内建的提示机制。

该命令必须将密码打印到标准输出并且以代码0退出。在该参数值中, %p 被替换为一个提示字符串(要得到文字 ,应该写成 %% )。注意该提示字符串将可能含有空格,因此要确保加上适当的引号。如果输出的末尾有单一的新行,它会被剥离掉。

该命令实际上并不一定要提示用户输入一个密码。它可以从文件中读取密码、从钥匙链得到密码等等。确保选中的机制足够安全是用户的责任。

这个参数只能在 kingbase.conf 文件中或服务器命令行上进行设置。

ssl_passphrase_command_supports_reload

属性

描述

类型

boolean

默认值

off

级别

SIGHUP---会话级

这个参数决定在配置重载期间如果一个密钥文件需要口令时,是否也调用 ssl_passphrase_command 设置的密码命令。如果这个参数为off (默认),那么在重载期间将忽略 ssl_passphrase_command , 如果在此期间需要密码则SSL配置将不会被重载。对于要求一个TTY(当服务器正在运行 时可能是不可用的)来进行提示的命令,这种设置是合适的。例如,如果密码是从一个 文件中得到的,将这个参数设置为on可能是合适的。

这个参数只能在 kingbase.conf 文件中或者服务器命令行上设置。

金仓数据库KingbaseES数据库参考手册(服务器配置参数4. 连接和认证)相关推荐

  1. 金仓数据库KingbaseES数据库参考手册(服务器配置参数14. 版本和平台兼容性)

    目录 14.1. KingbaseES老版本 ¶ 14.2. 平台和客户端兼容性 ¶ 14.3. 一般特性兼容性 ¶ 14.1. KingbaseES老版本 ¶ array_nulls 属性 描述 类 ...

  2. 金仓数据库 KingbaseES 插件参考手册 pg_partman

    66. pg_partman 66.1. 插件pg_partman简介 66.1.1. 功能和发展 partman是pg的一个扩展,可帮助使用者更轻松地管理基于time或serialid的分区表.pa ...

  3. 金仓数据库 KingbaseES 插件参考手册 pldbgapi

    67. pldbgapi 67.1. 插件pldbgapi简介 插件pldbgapi是KingbaseES 的一个扩展插件.主要用于PL/pgSQL语言的存储过程/函数的代码调试. 插件名为 pldb ...

  4. 金仓数据库 KingbaseES 插件参考手册 plsql_plprofiler

    68. plsql_plprofiler 68.1. 插件plsql_plprofiler简介 插件plsql_plprofiler是KingbaseES 的一个扩展插件.plsql_plprofil ...

  5. 金仓数据库KingbaseES数据库参考手册(服务器配置参数12. 客户端联接默认)

    12.1. 语句动作 ¶ client_min_messages 属性 描述 类型 enum 默认值 NOTICE 级别 USER---用户级 控制被发送给客户端的 消息严重级别 .有效值是 DEBU ...

  6. 金仓数据库 KingbaseES 插件参考手册 O

    61. oracle_fdw 61.1. 插件oracle_fdw简介 oracle_fdw是kingbaseES的一个扩展插件,它提供了一个外部数据包装器,可以方便高效的访问oracle数据库,包括 ...

  7. 金仓数据库KingbaseES数据库开发指南(4. 面向应用程序的PL/SQL开发)

    目录 4.1. PL/SQL子程序和包的编写 ¶ 4.1.1. PL/SQL 子程序概述 ¶ 4.1.2. PL/SQL 包概述 ¶ 4.1.3. PL/SQL 单元概述 ¶ 4.1.4. 创建 PL ...

  8. DTC精彩回顾—金学东:从可迁到好迁:人大金仓打造国产数据库生态 助力企业国产化转型...

    2021 DTC 2021数据技术嘉年华(2021 DTC) 将于12月23-24日在北京丽都皇冠假日酒店 盛大开启! (图为部分出席嘉宾) 快来报名大会与数据行业专家 一起探讨行业最前沿热点话题叭! ...

  9. 兼容认证 | 人大金仓与「DaoCloud 道客」完成产品兼容性互认证

    近日,北京人大金仓信息技术股份有限公司(以下称:人大金仓)与上海道客网络科技有限公司(以下称:「DaoCloud  道客」)完成产品兼容性互认证.经过双方严格测试,「金仓数据库管理系统Kingbase ...

最新文章

  1. server.mapPath(.mdb)
  2. 机器人聊天软件c#_使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
  3. MySql 内连接,外连接查询方式区别
  4. 切换表达式到Java吗?
  5. (马世龙)Linux下CACTI完全搭建技术文档二
  6. c/c++这么难学,那么学会了究竟有多牛X呢?
  7. mac下nvm_【干货分享】Mac最全用法指导,学不会学费全退!!!(反正我也没收你们学费)...
  8. micropython c语言_micropython mp对象和c类型的转换
  9. sql server一个查询语句引发的死锁
  10. python读mat文件_我用Python对咪蒙的1013篇历史文章做了一次深度的数据分析...
  11. Linux下解决无法远程连接数据库问题
  12. 斯坦福大学深度学习公开课cs231n学习笔记(6)神经网路输入数据预处理(归一化,PCA等)及参数初始化
  13. QString和std::string转换乱码与sqlite存储汉字乱码
  14. 《游戏力》的读后感作文3600字
  15. 无利不起早:理性看待IBM倾“芯”中国
  16. 机器学习的第三课,实现了一下LWR算法
  17. 图中的搜索——dij
  18. java利用redis的setIfAbsent和incr,实现自增,限制总数
  19. ELK 收集不同来源的日志并做区分
  20. 4.3 移位寄存器的实现和应用

热门文章

  1. Python类继承及super()函数
  2. 3D纹理映射(噪点,基于物理的渲染)
  3. 认识抖音聊天功能:让你更方便地社交交流
  4. linux php 进程进阶(三) 僵尸进程
  5. 神之刃最新服务器,移动游戏平台大作《神之刃》持续火爆
  6. html 输入框从左上角,使文本从输入框的左上角开始
  7. CubieBoard install Ubuntu on NAND+SATA
  8. 解释下原型继承的原理。
  9. dreamweaver php 插件,Dreamweaver中的插件如何应用
  10. excel字符串操作(截取,拼接,替换)