FIPS Advantage数据库服务器

2020-08-17 21:09发布

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

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


我想寻求帮助以使ADS FIPS模块正常工作。 我已经尝试过ADS 12.0.0.2。 我大概花了两个星期的时间试图使它正常工作。 我不确定我是否可以正确生成证书,但是无法找到适用于Windows的openssl版本。 我尝试过的每个人都说FIPS选项不可用。

我已经阅读并重新阅读了帮助文件。 似乎很简单,但不是我想要的。 我想如果我有一个好的证书,那就可以了。

如果有人能指出正确的方向,我将不胜感激。

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

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


我想寻求帮助以使ADS FIPS模块正常工作。 我已经尝试过ADS 12.0.0.2。 我大概花了两个星期的时间试图使它正常工作。 我不确定我是否可以正确生成证书,但是无法找到适用于Windows的openssl版本。 我尝试过的每个人都说FIPS选项不可用。

我已经阅读并重新阅读了帮助文件。 似乎很简单,但不是我想要的。 我想如果我有一个好的证书,那就可以了。

如果有人能指出正确的方向,我将不胜感激。

付费偷看设置
发送
10条回答
me_for_i
1楼-- · 2020-08-17 21:22

这对我有用:

  1. 备份数据库。
  2. 下载 openssl-1.1.1c-win64.zip " http://wiki.overbyte.eu/arch/openssl-1.1.1c-win64.zip" target =" _blank"> http://wiki.overbyte.eu/arch/openssl-1.1.1c-win64.zip 。 这是Windows的OpenSSL的预编译FIPS版本。
  3. openssl-1.1.1c-win64.zip 提取到c:\ adscert
  4. http://devzone.advantagedatabase.com/dz/webhelp复制脚本/Advantage12/index.html?master_tls_certificate_script.htm 到c:\ adscert \ openssl.cnf。 确保将其保存为文本文件,而不是.doc或.docx,并且如果您的编辑器附加了" .txt",请删除该扩展名。
  5. http://devzone.advantagedatabase.com/dz/webhelp复制脚本/Advantage12/index.html?master_tls_certificate_script.htm 到c:\ adscert \ makecert.bat。 文件格式的注意事项与步骤3相同。
  6. 在步骤3和4的文件中,将对SHA1的任何引用更改为SHA256。 保存文件。 在此测试期间,将所有其他设置保留为默认设置。
  7. 运行c:\ adscert \ makecert.bat。 您应该在adscert目录中看到文件servercert.pem和clientcert.pem以及其他新文件。
  8. 在注册表中,将以下字符串(REG_SZ)添加到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Advantage \ Configuration项:
    TLS_KEY_FILE = C:\ adscert \ servercert.pem
    TLS_KEY_PASSWORD = password
  9. 确保在ADS服务器目录中具有正确签名的ssleay32.dll和libeay32.dll版本:

    64位:文件大小应为:
    ssleay32.dll:352 KB( 360,912字节)
    libeay32.dll:1.92 MB(2,015,696字节)

    32位:文件大小应为:
    ssleay32.dll:276 KB(283,600字节)
    libeay32.dll :1.33 MB(1,397,200字节)
    这些文件的属性的数字签名应全部显示:
    签名者名称:SAP
    数字算法:sha1
    时间戳:星期二, 十二月22,2015 10:40:?? AM(秒值因文件而异)。
  10. 确保在ARC目录中具有ssleay32.dll和libeay32.dll的32位签名版本。 移至自己的应用程序时,将使用与应用程序的位数匹配的文件版本。
  11. 在ARC连接属性中,包括以下值:
    BlankPassword = no
    DataEncryptionType = aes256
    TLSCertificate = C:\ adscert \ clientcert.pem
    TLSCipherSuite = aes256sha
    TLSCommonName = www.mysite.com
  12. 确保您可以使用这些设置连接到数据字典。
  13. 运行以下SQL来验证通信是否经过高度加密:
    执行过程sp_GetSecurityInfo()
  14. 您的数据库将需要进行高度加密以启用FIPS模式。 从与目标词典不同的连接 ,运行以下SQL:
    执行过程sp_SetDDEncryptionType('C:\ mypath \ MyDD.add','myAdssysPassword','myNewDDPassword','AES256 ',1);
  15. 在连接设置中,将DataDictionaryPassword设置为新值。
  16. 连接到数据字典。
  17. 在DD的属性中,在"安全性"选项卡上,将"加密"设置为AES256,选中"加密数据字典文件","加密新表",并设置加密密码(如果未变灰)。 点击确定。
  18. 在"连接属性"中,设置FIPSMode = yes。
  19. 在注册表的HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Advantage \ Configuration中,添加新字符串FIPS = yes。
  20. 关闭ARC。
  21. 停止ADS服务。
  22. 启动ADS服务。
  23. 尝试从ARC连接。
  24. 请注意,每次更改FIPS设置时,都需要重新启动ARC。

如果这不起作用,请告诉我们在哪一步以及收到什么错误。

此致

Mike Loop
SAP高级产品支持工程师

南山jay
2楼-- · 2020-08-17 21:40

Mike,

成功-非常感谢。 在第14步中,我使用了与DD的连接,所以它不起作用。 当我将连接更改为目录时,它运行良好。

现在有了这个,我得到True,AES256,True,SMC,null,运行时为null

执行过程sp_GetSecurityInfo()。 帮助文件显示AES256是该连接的加密。 这样对吗? 那么,用于TLS的CommunicationType的DD连接上的TLSCipher和TLSVersion是什么? 我只是假设这些是FIPS的一部分。 这些被认为是更安全的方法吗?如果您不介意,能否解释一下如何使用它们? 再次感谢。

John

SAP砖家
3楼-- · 2020-08-17 21:33

对此进行更新。

所引用的openssl会生成错误,因此证书无法正确生成。 运行makecert.bat不会出现错误。 我是通过运行openssl.exe来找到它的,它会打开命令提示符。 然后,我尝试仅执行

OpenSSL> ca -config C:\ adscert \ openssl.cnf -in C:\ adscert \ testreq.pem -passin pass:mypassword -out C:\ adscert \ signedcert.pem
使用来自C:\的配置 adscert \ openssl.cnf
配置OpenSSL模块时出错
2760:错误:060B10A7:数字信封例程:alg_module_init:不支持fips模式:crypto \ evp \ evp_cnf.c:40:
2760:错误:0E07606D :配置文件例程:module_run:模块初始化错误:crypto \ conf \ conf_mod.c:177:module = alg_section,value = algs,retcode = -1
2760:错误:060B10A7:数字信封例程:alg_module_init:fips模式 不支持:crypto \ evp \ evp_cnf.c:40:
2760:错误:0E07606D:配置文件例程:module_run:模块初始化错误:crypto \ conf \ conf_mod.c:177:module = alg_section,value = algs, retcode = -1
ca
OpenSSL>中的错误

它表明此版本不支持FIPS。

此外,我从未被提示对文件签名。

从此处使用openssl库 https://github.com/shadman/openssl- fips-module-build

我能够获得良好的证书文件。 一旦获得了良好的证书,TLS通讯就可以正常工作。 因此,这些步骤概述了工作,只是用于生成证书的openssl库不支持FIPS。 另外,在ARC中将CommunicationType设置为tls。 当我运行

执行过程sp_GetSecurityInfo()我现在得到

True,AES256,True,TLS,AES256-SHA,TLSv1/SSLv3,而不是

True,AES256,True,SMC,null,null。

希望这对某人有帮助。

haha101010
4楼-- · 2020-08-17 21:24

John,

感谢您分享您的经验。

很抱歉没有更早回复,也没有注意到您之前的问题。/p>

AES-256是加密密码。

TLS是通信协议。 它具有1.0、1.1、1.2和1.3三个版本。 当前,Advantage仅支持1.0。

密码套件是密码在不同上下文(密钥交换,批量加密,消息身份验证)中使用的算法的集合。 可以将相同的密码用于这些任务中的每一个,但是将使用不同的算法。

FIPS不是加密工具,而是由美国国家标准技术研究院(NIST)制定的一组计算机安全标准。 如果加密软件包符合该标准中定义的所有标准,则符合FIPS。

我希望这会有所帮助。

clever101
5楼-- · 2020-08-17 21:23

Michael,

甚至有可能使用大于1.0的TLS版本,或者这是ADS中必须内置的东西吗? 是否有任何计划为ADS添加更高的TLS支持? ASA的静止和运动安全性是否相同? 对于ASA,我不喜欢的是所有表都在一个文件中。 谢谢。

John

clever101
6楼-- · 2020-08-17 21:25

将TLS与Advantage一起使用需要签名的SAP库,目前,最新的库仅支持TLS 1.0。 计划在将来的版本中使用更高的版本。

我不确定您所说的"静态和动态安全性"是什么意思。 如果您指的是加密文件和加密通信,则ASA(我们现在称为SQL Anywhere)确实支持最新的协议和密码。 在最新版本中,加密库已从OpenSSL更改为SAP CCL。

确实,SQL Anywhere中的所有表都保存在一个文件中。 对于大多数(如果不是全部)非ISAM数据库,这都是正确的。 这次安排有什么特别困扰您的事情?

一周热门 更多>