我已将apache2配置为将虚拟主机(munin)从http重定向到https,我是这样的:
cat /etc/apache2/site-enabled/default
[...]
# 20140619 - munin redirect http to https
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} ^/munin/.*
RewriteRule ^(.*)$ https://server1.example.com/$1 [R,L]
[...]
munin有默认配置
cat /etc/apache2/site-enabled/munin
Alias /munin /var/cache/munin/www
<Directory /var/cache/munin/www>
Order allow,deny
Allow from all ::1
Options None
AuthUserFile /etc/munin/munin-pass
AuthName "server1.example.com"
AuthType Digest
require valid-user
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault M310
</IfModule>
</Directory>
因此,当我尝试连接(使用chrome)到http://server1.example.com时,浏览器会立即询问用户名和密码(我使用http连接)。插入我的凭证后(浏览器警告我关于不可信任的证书,它没关系:我没有受信任的证书)。当我强制它使用https连接时,我需要重新插入用户名和密码,现在我只能看到munin页面。
现在,当我插入用户和密码(第一次)时,该凭据是否可以拦截?或者我在SSL隧道内?
答案 0 :(得分:1)
如果凭据通过HTTP,则可以拦截它们。如果凭据通过HTTPS使用不受信任的证书,则可以拦截它们(如果用户处于警告状态,只需点击“确定”,那么坏人就可以插入自己的证书并打败整个目的SSL)。您只有在安全的情况下才能获得具有可信证书的HTTPS。