[lug] Questions about Apache, .htaccess, and Basic Authorization
Ike Arumba
ike.arumba at charter.net
Sun Dec 19 12:19:34 MST 2010
Hi Rob,
Thank you for answering. I hesitate to display my ignorance online, so
if you dont mind I will write to you directly.
I dont have access to the ssl_log on the server that I am currently
using. It is on a webhosting service and the domain is jailed. I also
wont have access to a virtual host (at least I think I wont). And I
cannot control apach through the httpd.conf file or something like that.
So I wanted to do it through .htaccess.
Nevertheless I learned from your example, and then went out and grepped
around a bit more. One solution I found here
http://www.askapache.com/htaccess/apache-ssl-in-htaccess-examples.html
suggest these settings, under the title " Fixing double-login problem
and making sure authorization usernames/passwords are not sent in
cleartext unencrypted."
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "google.com"
ErrorDocument 403 https://google.com
And a more complete one is here
http://www.htaccesselite.com/htaccess/force-https-and-no-double-login-vt30.html
which suggests
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "domaincom.secure.powweb.com"
AuthUserFile /www/d/domain/.htpasswd
AuthName "Private"
AuthType basic
require user admin56
ErrorDocument 403 https://domaincom.secure.powweb.com/private/index.php
I kind of like the one above. It means I can restrict the domain of
people entering, and it forces one to enter with SSL. I think these are
better than what I was using.
Thanks
Ike
On Sun, Dec 19, 2010 at 10:26 AM, Rob Nagler wrote:
> On Sun, Dec 19, 2010 at 8:37 AM, Ike Arumba wrote:
>> 1) the exchange of username and password between server and client
>> was
>> encrypted
>
> You should be able to see this in your log files. Do you keep a
> separate ssl_log? This is the default in apache.
>
>> 2) all following exchanges would use https and also be encrypted.
>
> Once a browser goes to SSL, it will stay in SSL unless you generate
> links like:
>
> <a href="http://foo.com/bla">Click here</a>
>
> The user could edit the URL, but that's the user's issue.
>
>> What I am not sure about is whether the exchange of username and
>> password
>> takes place before or after the switch from http to https, or even
>> whether
>> it matters?
>
> Alas, I doubt it matters. Even with digest auth, the digest can be
> cracked in seconds with modern computers. It's more of a "feel good"
> thing that passwords are not sent in the clear.
>
> I would recommend something like this:
>
> <VirtualHost *>
> ServerName foo.com
> RedirectPermanent / https://www.foo.com
> </VirtualHost>
>
> and then have an virtual host with your Auth config
>
> <VirtualHost foo.com:443>
> <Location />
> SSLRequireSSL
> SSLOptions +StrictRequire
> AuthType Basic
> ....
> </Location>
> ....
>
> You don't have an "auth" anything in the port 80 VirtualHost so that
> the server doesn't request auth from the user via a clear-text
> connection.
>
> Rob
> _______________________________________________
> Web Page: http://lug.boulder.co.us
> Mailing List: http://lists.lug.boulder.co.us/mailman/listinfo/lug
> Join us on IRC: irc.hackingsociety.org port=6667
> channel=#hackingsociety
More information about the LUG
mailing list