SNC-GSS/API Kerberos相关的错误

2020-09-09 08:32发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我最初向SSO提出了另一条消息,但这是与SAP Cryptolib有关的,但是在SAP确认后,我们无法获得NW SSO2.0许可证,因此我们正在研究诸如kerberos之类的替代方法。

从Windows 2008/Oracle迁移到Linux RHEL 6.4/Sybase之后,我试图在SAPGUI上运行SNC(SSO)。

当前,我们正在针对Windows AD域在目标LINUX [RHEL 6.4]服务器上进行测试。


我一直在关注realtech文档,这是一个很好的起点。

http://www.realtech。 com/wInternational/sap-consulting/sap-technologie/sap-identity-managementW3DnavidW26173.php


SSO的OS部分仍然有效,我得到了TGT,klist向我显示了正确的凭据等,但是ABAP堆栈不再通过SSO进行身份验证。

Kinit可以很好地与Linux服务器(通过root用户)在Windows AD上进行身份验证


[root @ orsapbisbx01〜]#kinit -V -k SAPServiceSBQ/<<一个rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

使用默认缓存:/tmp/krb5cc_0

使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

已通过Kerberos v5认证

[root @ orsapbisbx01〜]#

通过sbadm初始化

--------------------------

orsapbisbx01:sbqadm 51> kinit -V -k SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

使用默认缓存:/tmp/krb5cc_500

使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

已通过Kerberos v5认证

Klist向我们展示了

Klist向我们显示了票证[都通过root/sbqadm]

--------------------------------------------------- ---------------------------------

orsapbisbx01:sbqadm 54> klist

票证缓存:FILE:/tmp/krb5cc_500

默认主体:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

有效的启动到期服务主体

07/23/14 18:01:01 07/24/14 04:01:06 krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

续签到14年7月30日18:01:01

orsapbisbx01:sbqadm 55

如在dev_w *跟踪中所示,正确初始化了SNC

N SncInit():初始化安全网络通信(SNC)

带有Linux的N AMD/Intel x86_64(st,ascii,SAP_UC/size_t/void * = 16/64/64)

N UserId =" sbqadm"(500),envvar USER =" sbqadm"

N SncInit():使用3(隐私级别)找到了snc/data_protection/max = 3

N SncInit():使用2(完整性级别)找到snc/data_protection/min = 2

N SncInit():使用3(隐私级别)找到了snc/data_protection/use = 3

N SncInit():找到了snc/gssapi_lib =/usr/lib64/ snckrb5.so

N个文件"/img/usr/lib64/ snckrb5.so "作为外部SNC适配器动态加载

N SNC适配器标识为:

N个外部SNC适配器(Rev 1.0)到Kerberos 5/GSS-API v2

N SncInit():找到了snc/identity/as = p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名。 mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

N SncInit():接受凭据,有效期=不确定

N SncInit():可用的初始化凭据,寿命= 09h 30m 53s

启用了M SNC(安全网络通信)

A


在前端,我已完成以下设置

在SAPGUI中

-----------------------

在SNC标签下,SNC名称如下

SNC名称:p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

在SAP服务器上,是否在用户帐户属性的" SNC"选项卡下按以下方式键入SNC名称?

p: pvijayda@MYDOMAIN.COM

在前端系统上

-------------------------------------

我正在使用" gsskrb5.dll"库,该库已移至目录%windir%\ system32

此后,我必须添加值为" gsskrb5.dll"的系统变量SNC_LIB。 我既尝试了手动操作,也尝试了SAP Note 595341的安装程序。

尽管进行了所有这些设置,但是ABAP堆栈不会对用户进行身份验证,我所得到的只是一个有趣的错误弹出窗口" SAP系统消息:S"。

ABAP堆栈dev_w *工作流程跟踪中注意到了相应的错误。


N ** *错误=> SncPCreateContext()== SNCERR_GSSAPI [sncxxall.c 3364]

N GSS-API(maj):未指定的GSS故障。 次代码可能会提供更多信息

N GSS-API(分钟):未找到SAPServiceSBQ的密钥表项/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名 .mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

N无法建立安全上下文

N <<-SncProcessInput()== SNCERR_GSSAPI

M ***错误=> ThSncIn:SncProcessInput(SNCERR_GSSAPI)[thxxsnc.c 1035]

M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0

M ***错误=> ThSncIn:SncProcessInput [thxxsnc.c 1040]

M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0

此外,我已经在前端使用Kerbtray.exe进行了验证,并且前端也收到了Linux服务器上的kerberos票证。

门票

-> krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

|

->服务主体[krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ MYDOMAIN.COM

服务名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

目标名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

我的配置是否有问题,我认为问题出在前端,我是否需要更改snc/gssapi_lib库[正如我们在RHEL 6.4上一样],因为我们正在使用/usr/lib64/< rel =" nofollow" hraf=" http://snckrb5.so" target =" _ blank"> snckrb5.so ,它是从SCN下载的snc适配器为linux编译的。

任何帮助将不胜感激,因为我们在配置了将近2周后就开始进行圈子了。

致谢

多愁善感的维贾伊达斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我最初向SSO提出了另一条消息,但这是与SAP Cryptolib有关的,但是在SAP确认后,我们无法获得NW SSO2.0许可证,因此我们正在研究诸如kerberos之类的替代方法。

从Windows 2008/Oracle迁移到Linux RHEL 6.4/Sybase之后,我试图在SAPGUI上运行SNC(SSO)。

当前,我们正在针对Windows AD域在目标LINUX [RHEL 6.4]服务器上进行测试。


我一直在关注realtech文档,这是一个很好的起点。

http://www.realtech。 com/wInternational/sap-consulting/sap-technologie/sap-identity-managementW3DnavidW26173.php


SSO的OS部分仍然有效,我得到了TGT,klist向我显示了正确的凭据等,但是ABAP堆栈不再通过SSO进行身份验证。

Kinit可以很好地与Linux服务器(通过root用户)在Windows AD上进行身份验证


[root @ orsapbisbx01〜]#kinit -V -k SAPServiceSBQ/<<一个rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

使用默认缓存:/tmp/krb5cc_0

使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

已通过Kerberos v5认证

[root @ orsapbisbx01〜]#

通过sbadm初始化

--------------------------

orsapbisbx01:sbqadm 51> kinit -V -k SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

使用默认缓存:/tmp/krb5cc_500

使用委托人:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

已通过Kerberos v5认证

Klist向我们展示了

Klist向我们显示了票证[都通过root/sbqadm]

--------------------------------------------------- ---------------------------------

orsapbisbx01:sbqadm 54> klist

票证缓存:FILE:/tmp/krb5cc_500

默认主体:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

有效的启动到期服务主体

07/23/14 18:01:01 07/24/14 04:01:06 krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

续签到14年7月30日18:01:01

orsapbisbx01:sbqadm 55

如在dev_w *跟踪中所示,正确初始化了SNC

N SncInit():初始化安全网络通信(SNC)

带有Linux的N AMD/Intel x86_64(st,ascii,SAP_UC/size_t/void * = 16/64/64)

N UserId =" sbqadm"(500),envvar USER =" sbqadm"

N SncInit():使用3(隐私级别)找到了snc/data_protection/max = 3

N SncInit():使用2(完整性级别)找到snc/data_protection/min = 2

N SncInit():使用3(隐私级别)找到了snc/data_protection/use = 3

N SncInit():找到了snc/gssapi_lib =/usr/lib64/ snckrb5.so

N个文件"/img/usr/lib64/ snckrb5.so "作为外部SNC适配器动态加载

N SNC适配器标识为:

N个外部SNC适配器(Rev 1.0)到Kerberos 5/GSS-API v2

N SncInit():找到了snc/identity/as = p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名。 mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

N SncInit():接受凭据,有效期=不确定

N SncInit():可用的初始化凭据,寿命= 09h 30m 53s

启用了M SNC(安全网络通信)

A


在前端,我已完成以下设置

在SAPGUI中

-----------------------

在SNC标签下,SNC名称如下

SNC名称:p/krb5:SAPServiceSBQ/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

在SAP服务器上,是否在用户帐户属性的" SNC"选项卡下按以下方式键入SNC名称?

p: pvijayda@MYDOMAIN.COM

在前端系统上

-------------------------------------

我正在使用" gsskrb5.dll"库,该库已移至目录%windir%\ system32

此后,我必须添加值为" gsskrb5.dll"的系统变量SNC_LIB。 我既尝试了手动操作,也尝试了SAP Note 595341的安装程序。

尽管进行了所有这些设置,但是ABAP堆栈不会对用户进行身份验证,我所得到的只是一个有趣的错误弹出窗口" SAP系统消息:S"。

ABAP堆栈dev_w *工作流程跟踪中注意到了相应的错误。


N ** *错误=> SncPCreateContext()== SNCERR_GSSAPI [sncxxall.c 3364]

N GSS-API(maj):未指定的GSS故障。 次代码可能会提供更多信息

N GSS-API(分钟):未找到SAPServiceSBQ的密钥表项/<< a rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank">主机名 .mydomain.com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

N无法建立安全上下文

N <<-SncProcessInput()== SNCERR_GSSAPI

M ***错误=> ThSncIn:SncProcessInput(SNCERR_GSSAPI)[thxxsnc.c 1035]

M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0

M ***错误=> ThSncIn:SncProcessInput [thxxsnc.c 1040]

M {root-id = 00221982BAFF1EE484E27E91C40A025A} _ {conn-id = 0000000000000000000000000000000000} _0

此外,我已经在前端使用Kerbtray.exe进行了验证,并且前端也收到了Linux服务器上的kerberos票证。

门票

-> krbtgt/<<一个rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

|

->服务主体[krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ MYDOMAIN.COM

服务名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

目标名称krbtgt/<< a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM > @ << a rel =" nofollow" hraf =" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

我的配置是否有问题,我认为问题出在前端,我是否需要更改snc/gssapi_lib库[正如我们在RHEL 6.4上一样],因为我们正在使用/usr/lib64/< rel =" nofollow" hraf=" http://snckrb5.so" target =" _ blank"> snckrb5.so ,它是从SCN下载的snc适配器为linux编译的。

任何帮助将不胜感激,因为我们在配置了将近2周后就开始进行圈子了。

致谢

多愁善感的维贾伊达斯

付费偷看设置
发送
3条回答
Baoming ROSE
1楼 · 2020-09-09 08:55.采纳回答

亲爱的

更新

=========

我们能够在操作系统级别上完美地获得kerberos身份验证,也能够成功获得kerberos TGT票证。但是SSO本身失败了。

我们试图用Linux特定的库替换从SDN下载并编译的SNC适配器Linux

即 将/usr/lib64/ snckrb5.so 替换为 libgssapi_krb5.so 以及RHEL 6特定的/lib64/libgssglue.so.1,但这尽管对Kerberos库文件进行了更改也无济于事。/p>


我还尝试使用SIDADM进行相同的配置,以排除由于Unix系统中不存在SAPServiceSID而导致的问题,但是我们遇到了相同的错误,错误消息弹出窗口" SAP System Message:S"。


我们继续在dev_w *工作流程跟踪中获得以下错误消息


2014年7月29日星期二23:44:59

N ***错误=> SncPEstablishContext()== SNCERR_GSSAPI [sncxxall.c 3364]

N GSS-API(maj):未指定的GSS故障。 次代码可能会提供更多信息

N GSS-API(min):找不到SBQADM的密钥表条目/<< rel =" nofollow" hraf=" http://hostname.mydomain.com" target =" _ blank"> hostname.mydomain。 com > @ << a rel =" nofollow" hraf=" http://MYDOMAIN.COM" target =" _ blank"> MYDOMAIN.COM >

N无法建立安全上下文

N <<-SncProcessInput()== SNCERR_GSSAPI

M ***错误=> ThSncIn:SncProcessInput(SNCERR_GSSAPI)[thxxsnc.c 1035]

M {root-id = 00221982BAFF1ED485F6A0D2AB080DA5} _ {conn-id = 00000000000000000000000000000000} _0


任何帮助将不胜感激。


致谢

Prashant

野沐沐
2楼-- · 2020-09-09 08:59

你好亚历山大,

我交叉检查了我的屏幕截图,这似乎是一个错字,正确的命令应该是

-crypto RC4-HMAC-NT,也请确保将+ DESONLY更改为-DESONLY,因为这-释放了仅DES加密帐户的限制。

生成的klist文件如下

orsapbisbx01:sbqadm 52> klist -e

票证缓存:FILE:/tmp/krb5cc_500

默认主体:SBQADM/ 。 mydomain.com > @ MYDOMAIN.COM

有效的启动到期服务主体

08/01/14 00:39:30 08/01/14 10:39:30 krbtgt/MYDOMAIN.COM@MYDOMAIN.COM

续签至2014年8月8日00:39:30,Etype(skey,tkt):arcfour-hmac,arcfour-hmac

orsapbisbx01:sbqadm 53>


希望这会有所帮助。


致谢

Prashant

SAP小菜
3楼-- · 2020-09-09 08:57

亲爱的,我在Aix 7.1 64bit上有完全相同的错误,请您与我分享您在服务器和客户端使用的解决方案或库。/p>

我们在RHEL和Suse上有很多这种认证的实现,这是Aix上的第一个,我无法编译de snckrb5.so 库是因为缺少XLC编译器的许可证。 所有其他步骤都是确定,AD用户,setspn,ktpass,获取票证,SAP配置文件,客户端上的gsskrb5.dll等。

提前很多

鲁本

一周热门 更多>