首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod_ssl在高山码头“隐藏”了一些openssl密码。

问mod_ssl在高山码头“隐藏”了一些openssl密码。
EN

Stack Overflow用户
提问于 2018-08-09 13:52:08
回答 1查看 524关注 0票数 0

我有以下dockerfile:

代码语言:javascript
复制
FROM alpine:3.8
RUN apk add --no-cache apache2 apache2-ssl php7-cli php7-apache2 php7-openssl
RUN mkdir /run/apache2/ && \
  echo '<?php \
var_dump(openssl_get_cipher_methods());' > 
/var/www/localhost/htdocs/index.php
CMD ["httpd", "-DFOREGROUND"]

现在,当我通过apache访问index.php时,我看到了40个密码,当我用

代码语言:javascript
复制
docker run --rm -p sample php /var/www/localhost/htdocs/index.php

我看到了180个密码。如果我删除apache2-ssl包并重试,通过apache我现在可以看到所有的180个密码。我已经尝试在mod_ssl指令上启用所有密码,但没有任何帮助。我对AES (CTR,OFB,CFB)的流密码特别感兴趣

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-08-15 19:13:50

您会看到更少的密码,因为apache2-ssl具有带有SSLCipherSuite过滤器的默认配置。

/etc/apache2/conf.d/ssl.conf

SSLCipherSuite高:中:!MD5:!RC4:!3DES:!ADH

apache2-ssl包依赖于libressl,而不是openssl。libressl是openssl的一个分支,基本上是兼容的。使用命令openssl ciphers可以显示openssl和libressl的密码套件

php7-openssl是一个php模块,最初是针对openssl编写的。在Alpine 3.8中,php7是使用选项--with-system-ciphers https://git.alpinelinux.org/cgit/aports/tree/community/php7/APKBUILD?h=3.8-stable#n290编译的

除非配置了显式密码列表,否则将使用php7-openssl的默认密码列表,而无需验证/lib/libssl.so https://github.com/php/php-src/blob/PHP-7.2.8/ext/openssl/xp_ssl.c#L1608是否真的支持它们

php7-openssl中的默认密码列表在https://github.com/php/php-src/blob/PHP-7.2.8/ext/openssl/php_openssl.h#L61中定义

我假设您可以根据配置文件http://php.net/manual/en/context.ssl.php#context.ssl.ciphers在/etc/php7/conf.d/00_openssl.ini中指定密码列表

要支持AES块加密模式CTR、OFB、CFB,/lib/ssl.so库必须支持它们,因此可能需要重新构建libressl2.7-libssl

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51759676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档