我有一个新安装的 ubuntu 服务器版本 14.04.1 我有启用 SSL 的 apache2。我想禁用 SSLv3
(我知道这是一个受欢迎的问题,但我已经在多个网站上搜索了所有其他答案,我相信我已经遵循了他们建议的所有步骤。)
当我使用命令时:
nmap --script ssl-enum-ciphers -p 443 MYDOMAIN.com
Run Code Online (Sandbox Code Playgroud)
我可以看到两组密码。一个 SSLv3 和一个 TLSV1.0
我启用了 SSL 模块,它的配置文件是 /etc/apache2/mods-enabled/ssl.conf
我已经通过改变线来改变它
SSLProtocol all
Run Code Online (Sandbox Code Playgroud)
到
SSLProtocol All -SSLv2 -SSLv3
Run Code Online (Sandbox Code Playgroud)
从所有文档和网络教程中,这应该禁用 SSLv3。
我用命令重新启动apache
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
但没有变化。SSLv3 仍然列出。
我尝试停止服务器并重新运行命令以确保我不会意外检查错误的服务器。正如预期的那样,结果发生了变化。
任何人都可以建议我犯了什么错误。
罗伯特
我的确切 ubuntu 版本:
root@xxxx:/etc/apache2/mods-enabled# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.1 LTS
Release: 14.04
Codename: trusty
Run Code Online (Sandbox Code Playgroud)
我的确切 apache2 版本:
root@xxxx:~# apache2 -v
Server version: Apache/2.4.7 (Ubuntu)
Server built: Jul …Run Code Online (Sandbox Code Playgroud) 我已在 Ubuntu 12.04.4 LTS 上将 OpenSSL 更新为 1.0.1 g 版:
user@server# dpkg -l |grep openssl
ii openssl 1.0.1-4ubuntu5.12 Secure Socket Layer (SSL) binary and related cryptographic tools
ii python-openssl 0.12-1ubuntu2.1 Python wrapper around the OpenSSL library
Run Code Online (Sandbox Code Playgroud)
问题:我也需要更新 Apache2 mod_ssl 吗?如果是,如何?
user@server# strings /usr/lib/apache2/modules/mod_ssl.so | grep -i "openssl"
OPENSSL_add_all_algorithms_noconf
OPENSSL_load_builtin_modules
OPENSSL_1.0.1
OPENSSL_1.0.0
SSLFIPS invalid, rebuild httpd and openssl compiled for FIPS
OpenSSL 1.0.1 14 Mar 2012
OpenSSL
AH01894: Unable to initialize TLS servername extension callback (incompatible OpenSSL version?)
AH01913: Unable to …Run Code Online (Sandbox Code Playgroud) 我的理解是 Apache2
...默认 HTTPS 配置将使用
由 ssl-cert 包生成的证书和密钥。
这意味着每个ssl-cert安装的文件ssl-cert-snakeoil.pem和ssl-cert-snakeoil.key都是唯一的?生成它们的脚本在哪里?
Ubuntu 14.04
Apache/2.4.7
我在这里发布我的虚拟主机和默认 ssl 主机的 conf 文件。无法弄清楚我做错了什么。
http://<website_url> 显示文件夹的索引。我想将此重定向到https。
https://<website_url> 打开很好。
重要提示:我尚未启用默认 SSL 站点。
cat default-ssl.conf|grep -v "#"
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这是 mywebsite 配置文件:
cat www.mywebsite.com.conf|grep -v "#"
<VirtualHost *:443> …Run Code Online (Sandbox Code Playgroud) 当我尝试安装mod_ssl 时,它说无法找到包 mod_ssl
$ sudo apt-get 更新 Ign http://archive.ubuntu.com 可信赖的 InRelease 点击 http://archive.ubuntu.com trusty-security InRelease 点击 http://archive.ubuntu.com trusty-updates InRelease 点击 http://archive.ubuntu.com trusty Release.gpg 点击 http://archive.ubuntu.com trusty-security/main amd64 Packages 点击 http://archive.ubuntu.com trusty-security/restricted amd64 Packages 点击 http://archive.ubuntu.com trusty-security/universe amd64 Packages 点击 http://archive.ubuntu.com trusty-security/multiverse amd64 Packages 点击 http://archive.ubuntu.com trusty-security/main Translation-en 点击 http://archive.ubuntu.com trusty-security/multiverse Translation-en 点击 http://archive.ubuntu.com trusty-security/restricted Translation-en 点击 http://archive.ubuntu.com trusty-security/universe Translation-en 点击 http://archive.ubuntu.com trusty-updates/main amd64 Packages 点击 http://archive.ubuntu.com trusty-updates/restricted amd64 Packages 点击 http://archive.ubuntu.com trusty-updates/universe amd64 Packages 点击 http://archive.ubuntu.com trusty-updates/multiverse …