09 Authentication Kerberos
- 格式:ppt
- 大小:607.50 KB
- 文档页数:60
sqlnet.ora参数sqlnet.ora文件是Oracle数据库中的一个配置文件,它用于配置SQLNet(或者称为Net8)参数,这些参数控制了Oracle客户端和服务器之间的网络通信。
在sqlnet.ora文件中,可以配置各种参数来优化网络通信的性能、安全性和可靠性。
一些常见的sqlnet.ora参数包括:1. SQLNET.AUTHENTICATION_SERVICES,这个参数指定了客户端和服务器之间的身份验证服务。
可以设置为多个值,包括NONE(不进行身份验证)、NTS(使用Windows本地身份验证服务)和KERBEROS5(使用Kerberos身份验证)等。
2. SQLNET.ENCRYPTION_TYPES_CLIENT和SQLNET.ENCRYPTION_TYPES_SERVER,这两个参数分别指定了客户端和服务器之间用于加密通信的加密算法。
可以配置为多种加密算法,比如AES256、3DES168等。
3. SQLNET.CRYPTO_CHECKSUM_CLIENT和SQLNET.CRYPTO_CHECKSUM_SERVER,这两个参数用于指定客户端和服务器之间用于数据完整性检查的校验和算法。
常见的取值包括SHA1、MD5等。
4. SQLNET.EXPIRE_TIME,这个参数指定了在服务器端检测客户端连接是否处于活动状态的时间间隔。
当客户端在指定的时间内没有发送任何数据包时,服务器会关闭连接。
5. SQLNET.INBOUND_CONNECT_TIMEOUT和SQLNET.OUTBOUND_CONNECT_TIMEOUT,这两个参数分别指定了服务器端和客户端连接的超时时间,用于限制连接建立的最大时间。
6. SQLNET.ALLOWED_LOGON_VERSION_SERVER,这个参数用于指定服务器允许的客户端密码验证协议的版本。
可以配置为11、12等值。
除了上述参数外,sqlnet.ora文件还可以配置一些其他参数,比如连接重试次数、连接超时时间、日志记录级别等。
关于ssh设置的相关总结(ssh最⼤连接数、ssh连接时长、安全性配置等)以redhat6.3为例ssh配置⽂件在:/etc//sshd_config可以打开查看相应配置,默认情况下只开放了⼏个选项,其余全部#屏蔽掉了。
国内有⼈已经翻译了:(直接贴过来了)sshd_config 中⽂⼿册SSHD_CONFIG(5) OpenBSD Programmer's Manual SSHD_CONFIG(5)sshd_config - OpenSSH SSH 服务器守护进程配置⽂件/etc/ssh/sshd_config默认从/etc/ssh/sshd_config⽂件(或通过 -f 命令⾏选项指定的⽂件)读取配置信息。
配置⽂件是由"指令值"对组成的,每⾏⼀个。
空⾏和以'#'开头的⾏都将被忽略。
如果值中含有空⽩符或者其他特殊符号,那么可以通过在两边加上双引号(")进⾏界定。
[注意]值是⼤⼩写敏感的,但指令是⼤⼩写⽆关的。
当前所有可以使⽤的配置指令如下:AcceptEnv指定客户端发送的哪些环境变量将会被传递到会话环境中。
[注意]只有SSH-2协议⽀持环境变量的传递。
细节可以参考中的 SendEnv 配置指令。
指令的值是空格分隔的变量名列表(其中可以使⽤'*'和'?'作为通配符)。
也可以使⽤多个 AcceptEnv 达到同样的⽬的。
需要注意的是,有些环境变量可能会被⽤于绕过禁⽌⽤户使⽤的环境变量。
由于这个原因,该指令应当⼩⼼使⽤。
默认是不传递任何环境变量。
AddressFamily指定应当使⽤哪种地址族。
取值范围是:"any"(默认)、"inet"(仅IPv4)、"inet6"(仅IPv6)。
AllowGroups这个指令后⾯跟着⼀串⽤空格分隔的组名列表(其中可以使⽤"*"和"?"通配符)。
kerberos原理1. AS (Authentication Service) ExchangeStep1Client sent KRB_AS_REQ to KDCKRB_AS_REQ[Timestamp]+C.Master 、C.Realm、K.RealmStep2KDC attempts to decrypt the [Timestamp]+C.Master using the C.Master ,and then compare the timestamp is within five minutes. If this is successful, the KDC will replay KRB_AS_REP to ClientKRB_AS_REP[SKDC-Client]+C.Master 、[(SKDC-Client、C.Realm、Expiration time of TGT)=TGT]+K.MasterStep3Client decrypt the [SKDC-Client]+C.Master using the password entered by the itself, and then saved the SKDC-Client and TGT in a local credentials cache for TGS Exchange.2. TGS (Ticket Granting Service) ExchangeStep1Client sent KRB_TGS_REQ to TGS which in the KDCKRB_TGS_REQ[TGT]+K.Master、[Timestamp]+SKDC-Client、C.Realm、S.RealmStep2The KDC attempts to decrypt the [TGT]+K.Master using K.Master , and then decrypt the [Timestamp] using the decrypted SKDC-Client, So it will compare the timestamp is within five minutes.At the same time to determine whether the TGT has expired. If this is successful, the KDC will replay KRB_TGS_REP to Client.KRB_TGS_REP[SServer-Client]+SKDC-Client 、[(SServer-Clinet 、C.Realm、Expiration time of Ticket)=Ticket]+S.MasterStep3When the Clinet recived the KRB_TGS_REP, it will decrpt [SServer-Client]+SKDC-Client,then use the Ticket to start CS Exchange.3. CS (ClinetServer) ExchangeStep1Clinet sent KRB_CS_REQ to ServerKRB_CS_REQ[Timestamp]+SServer-Client、[Ticket]+S.MasterStep2The network service uses the password stored in its keytab file to decrypt the [Ticket]+S.Master, then decrypt the [Timestamp]+SServer-Client using the SServer-Client, So it will compare the timestamp is within five minutes.At the same time to determine whether theTicket has expired. If all of this works, the user has successfully authenticated.。
通过JDBC连接Hive服务的连接串参数说明本⽂主要介绍通过JDBC连接Hive服务时,连接串中在不同场景下涉及到的参数,这些场景包括⾮Kerberos认证环境、Kerberos认证环境、Kerberos认证环境下使⽤代理⽤户及Kerberos认证环境下使⽤代理⽤户且指定队列等使⽤场景。
1.⾮Kerberos认证环境下hive jdbc连接串!connect jdbc:hive2://${hive节点ip}:${hive端⼝号}/${需要连接的数据库名};说明:${hive节点ip}——为Hive安装节点的ip或hostname${hive端⼝号}——为Hive服务的端⼝号,默认为10000${需要连接的数据库名}——为需要连接的Hive数据库名,如:default2.hive jdbc连接串!connect jdbc:hive2://${hive节点ip}:${hive端⼝号}/${需要连接的数据库名};principal=${hive principal};说明:${hive节点ip}——为Hive安装节点的ip或hostname${hive端⼝号}——为Hive服务的端⼝号,默认为10000${需要连接的数据库名}——为需要连接的Hive数据库名,如:default${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使⽤,如果集群未使⽤Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值3.通过代理模式连接hive!connect jdbc:hive2://${hive节点ip}:${hive端⼝号}/${需要连接的数据库名};principal=${hiveprincipal};er=${proxyUserName};说明:${hive节点ip}——为Hive安装节点的ip或hostname${hive端⼝号}——为Hive服务的端⼝号,默认为10000${需要连接的数据库名}——为需要连接的Hive数据库名,如:default${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使⽤,如果集群未使⽤Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值${proxyUserName}——为Hive代理的⽤户名4.hive jdbc连接串中指定代理⽤户、指定队列名!connect jdbc:hive2://${hive节点ip}:${hive端⼝号}/${需要连接的数据库名};principal=${hiveprincipal};er=${proxyUserName}?mapreduce.job.queuename=${queueName};说明:${hive节点ip}——为Hive安装节点的ip或hostname${hive端⼝号}——为Hive服务的端⼝号,默认为10000${需要连接的数据库名}——为需要连接的Hive数据库名,如:default${hive principal}——为Hive服务的principal,此参数是在Hive集成Kerberos认证环境下使⽤,如果集群未使⽤Kerberos认证,则不需要配置该参数,如果集群是Kerberos认证环境,则该principal为hive-site.xml中hive.server2.authentication.kerberos.principal配置项的值${queueName}——为执⾏Hive任务的队列名,该参数只⽀持执⾏引擎为MapReduce。
patroni authentication参数Patroni 是一个用于PostgreSQL 数据库的开源高可用性解决方案。
在Patroni 的配置中,需要设置一些参数来确保身份验证和安全性。
以下是一些常用的Patroni 身份验证参数:1. **username**: 用于连接到PostgreSQL 数据库的用户名。
2. **password**: 与上述用户名对应的密码。
3. **pg_hba_conf**: 这是PostgreSQL 的主机基于身份验证配置文件。
通过编辑此文件,可以定义哪些客户端可以在哪些网络范围内使用哪个认证方法连接到数据库。
4. **client_auth_kerberos_service_to_keytab**: 如果使用Kerberos 进行身份验证,此参数指定从哪个密钥表获取Kerberos 票据。
5. **client_auth_kerberos_keytab_path**: Kerberos 密钥表的路径。
6. **client_auth_kerberos_realm**: Kerberos 域的名称。
7. **client_auth_ldap_server**: LDAP 服务器的地址。
8. **client_auth_ldap_bind_dn**: 在LDAP 服务器上用于身份验证的DN(Distinguished Name)。
9. **client_auth_ldap_bind_password**: 与上述DN 对应的密码。
10. **client_auth_ldap_search_base**: 在LDAP 服务器上搜索用户时使用的搜索基础。
11. **client_auth_radius_server**: RADIUS 服务器的地址。
12. **client_auth_radius_secret**: RADIUS 共享密钥。
这些参数可以通过在Patroni 的YAML 配置文件中进行设置来配置身份验证。
AAA详解收藏Authentication:用于验证用户的访问,如login access,ppp network access等。
Authorization:在Autentication成功验证后,Authorization用于限制用户可以执行什么操作,可以访问什么服务。
Accouting:记录Authentication及Authorization的行为。
Part I. 安全协议1>Terminal Access Controller Access Control System Plus (TACACS+)Cisco私有的协议。
加密整个发给tacacs+ server的消息,用户的keys。
支持模块化AAA,可以将不同的AAA功能分布于不同的AAA Server甚至不同的安全协议,从而可以实现不同的AAA Server/安全协议实现不同的AAA功能。
配置命令:Router(config)# tacacs-server host IP_address [single-connection] [port {port_#}] [timeout {seconds}] [key {encryption_key}]Router(config)# tacacs-server key {encryption_key} 注:(1)single-connection:为Router与AAA Server的会话始终保留一条TCP链接,而不是默认的每次会话都打开/关闭TCP链接。
(2)配置两个tacacs-server host命令可以实现tacacs+的冗余,如果第一个server fail了,第二个server可以接管相应的服务。
第一个tacacs-server host命令指定的server为主,其它为备份。
(3)配置inbound acl时需要permit tacacs+的TCP port 49。
(4) 如果两个tacacs-server使用不同的key,则需要在tacacs-server host命令中指定不同的encryption_key,否则可以使用tacacs-server key统一定制。
Authentication:用于验证用户的访问,如login access,ppp network access等。
Authorization:在Autentication成功验证后,Authorization用于限制用户可以执行什么操作,可以访问什么服务。
Accouting:记录Authentication及Authorization的行为。
Part I. 安全协议1>Terminal Access Controller Access Control System Plus (TACACS+)Cisco私有的协议。
加密整个发给tacacs+ server的消息,用户的keys。
支持模块化AAA,可以将不同的AAA功能分布于不同的AAA Server甚至不同的安全协议,从而可以实现不同的AAA Server/安全协议实现不同的AAA功能。
配置命令:Router(config)# tacacs-server host IP_address [single-connection] [port {port_#}] [timeout {seconds}] [key {encryption_key}]Router(config)# tacacs-server key {encryption_key} 注:(1)single-connection:为Router与AAA Server的会话始终保留一条TCP链接,而不是默认的每次会话都打开/关闭TCP链接。
(2)配置两个tacacs-server host命令可以实现tacacs+的冗余,如果第一个server fail 了,第二个server可以接管相应的服务。
第一个tacacs-server host命令指定的server 为主,其它为备份。
(3)配置inbound acl时需要permit tacacs+的TCP port 49。
(4) 如果两个tacacs-server使用不同的key,则需要在tacacs-server host命令中指定不同的encryption_key,否则可以使用tacacs-server key统一定制。