struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jayaraman Dorai" <jayara...@Wellogic.com>
Subject RE: Going from https on /member.do, back to http on index.jsp?
Date Fri, 26 Sep 2003 21:32:00 GMT


> -----Original Message-----
> From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> Sent: Thursday, September 25, 2003 10:55 PM
> To: Struts Users Mailing List
> Subject: Re: Going from https on /member.do, back to http on 
> index.jsp?
> 
> 
> Max Cooper wrote:
> 
> >Creating an index.do is one option. If it is not marked as 
> secure, sslext
> >will write an absolute URL back to http:// for it. Many Struts users
> >advocate that all requests should be served by Actions, even 
> if the action
> >merely forwards to a JSP.
> >  
> >
> I actually have a more important concern about doing this -- exposing 
> information to people who can listen in on the packets that 
> go back and 
> forth.
> 
> Many people would like, for example, to have the login form 
> be secure so 
> that your password is not sent across the wire encrypted, but then go 
> back to http for the rest of the session for the better performance.  
> The seemingly ideal solution is to have the destination of the login 
> submit require SSL, and then switch back.  Using a 
> <user-transport-guarantee> security constraint, you can even let the 
> container worry about the http->https transition for you.  
> Or, you can 
> use things like SSLext that is nicely integrated into Struts.
> 
> However, the servlet spec offers no help in switching back to http, 
> because it is not a recommended practice.  Why?  Consider the 
> fact that 
> you now trust subsequent transactions from the same user, and are 
> typically using the session that was established earlier (whether the 
> session was originally created in http or https turns out not to 
> matter).  But the session id is no longer encrypted (it's either in a 
> cookie or in rewritten URLs), so it can be easily forged by 
> anyone with 
> a network snooper between you and the server.  How do you 
> guarantee that 
> an after-login request on that session is not being sent by 
> someone who 
> is forging the session id because they snooped it?
> 
> I'm a conservative on security issues -- if I have an app 
> that needs SSL 
> sometimes, I arrange things to never accept a non-SSL request on the 
> same session again, once I've switched to SSL (easy to do 
> with a Filter, 
> for example).  If you're concerned enough to protect the 
> password, you 
> should be concerned enough to pay the CPU overhead for SSL 
> the remainder 
> of the session.  Otherwise, it's likely that encrypting the 
> login form 
> will just give you a false sense of security.
> 
> >I think you can also use the secure attribute in the sslext 
> tags to indicate
> >whether the target of the link or form should be accessed 
> securely. In this
> >case, you would add secure="false" to the sslext:link tag 
> that goes back to
> >/index.jsp.
> >
> >-Max
> >  
> >
> Craig

Will it be useful for cases like where credit card information are sent through SSL and hence
are secured. They might snoop the session, if it is switched back to http, but still the credit
card information is not. Similarly, snooper might steal the sessionId, but the password is
not stolen and is secured. Is that not better than nothing? Am I missing something?
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org


Mime
View raw message