2014-01-28 21 views
0

我已经在Windows环境中为Tomcat 6.0.18启用了自签名证书。在server.xmlconf Tomcat的文件夹中,HTTP端口配置为8080和HTTPS端口8443.一切正常按预期工作。这就是所有的HTTP请求都被重定向到HTTPS。Tomcat中的协议和端口混合是否存在安全问题?

以下是8080端口

<Connector port="8080" protocol="HTTP/1.1" 
     connectionTimeout="20000" enableLookups="false" 
     redirectPort="8443" /> 

我的连接设置以下是端口我连接器设置8443

<Connector port="8443" 
protocol="org.apache.coyote.http11.Http11Protocol" 
SSLEnabled="true"    
maxThreads="150" scheme="https" secure="true" 
keystoreFile="c:\ssl\keystore" 
keystorePass="<password>" 
clientAuth="false" 
sslProtocol="TLS" /> 

然而,当协议和端口(http://localhost:8443)的Internet Explorer中的不正确组合被输入时,它显示5个矩形。

enter image description here

而且在Firefox它显示如下问号字符。

enter image description here

这已经是一个安全问题,以我的安全审计。这是一个安全问题吗?有没有人遇到过这样的问题?这是一个安全漏洞吗?这是什么补救措施?非常感谢在这方面的任何帮助。

感谢,

的Wap劳

+1

如果这是一个安全问题,那不是你可以做的任何事情。您无法更改IE和Firefox的行为。询问审阅者究竟是什么安全性受到影响。 – EJP

回答

1

你有SSLEnabled="true"scheme="https"secure="true"在server.xml中的SSL <Connector>?感到惊讶的是,Tomcat 6允许对您定义的安全连接器进行不安全的连接。 (根据文件,schemesecure只告知什么isSecure()并从Servlet中getScheme()回报,但也许并不像你看到过这些线索设置的问题。)

假设您已经设置以上正确,我会提出代表请求的代码,并检查协议和端口,并在必要时发送302重定向(因为您使用的是Tomcat,这将是response.sendRedirect())正确的协议/端口。

在这种情况下,JavaScript重定向(location.replace())可能是诱人的,但请记住,您的响应正在发生变形,所以这不是一个选项。 (我只提到这一点,因为我几乎提出它作为替代解决方案,然后捕捉自己!)

+0

谢谢你的回复,史蒂夫。我已经使用端口8443和8080的设置更新了我的问题,这些与您所提到的相同。 – waprau