Hello,

I have a setup where Apache 2.2.3 is serving a large SVN repository with
WebDAV over HTTPS (using basic authentication).

Everything is working correctly;  I would simply like to force usage of
faster cipher algorithms (trading some security in favor of speed) than what
seems to be allowed right now (for instance, AES 256 is used when I connect
with Firefox).

My idea is that, by only allowing less secure but faster algorithms, all SVN
clients (command-line SVN or TortoiseSVN, for instance) will be forced to
use these faster algorithms, thus speeding up SVN operations.

I have played quite a bit with the SSLCipherSuite setting (at the virtual
host level), but I apparently cannot manage to force the client to specific
algorithms (RC4 for instance).

As an experiment, I have tried that (at the virtual host level):

        SSLProtocol all -SSLv2
        SSLHonorCipherOrder on
        SSLCipherSuite ALL:!ADH:+RC4+RSA:!HIGH:!LOW:!EXP:!NULL

which, if I understand correctly, should force usage of RC4+RSA if
available, or other algorithms from the "medium" list:

        $ openssl ciphers -v 'ALL:!ADH:+RC4+RSA:!HIGH:!LOW:!EXP:!NULL'
        DHE-DSS-RC4-SHA         SSLv3 Kx=DH       Au=DSS  Enc=RC4(128)
 Mac=SHA1
        KRB5-RC4-MD5            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)
 Mac=MD5
        KRB5-RC4-SHA            SSLv3 Kx=KRB5     Au=KRB5 Enc=RC4(128)
 Mac=SHA1
        RC2-CBC-MD5             SSLv2 Kx=RSA      Au=RSA  Enc=RC2(128)
 Mac=MD5
        RC4-SHA                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)
 Mac=SHA1
        RC4-MD5                 SSLv3 Kx=RSA      Au=RSA  Enc=RC4(128)
 Mac=MD5
        RC4-MD5                 SSLv2 Kx=RSA      Au=RSA  Enc=RC4(128)
 Mac=MD5

Yet, Firefox still seems to be able to negotiate using AES 256.  I am
puzzled.

Am I using the SSLCipherSuite setting correctly?  Is there a way (possibly
another way) to achieve this optimization?

For information, I am using Apache/2.2.3 and OpenSSL 0.9.8b 04 May 2006 on
CentOS release 5.2 (Final).

Here is the relevant part of the virtual host configuration:

<VirtualHost XXX.XXX.XXX.XXX:443>
        ServerName svn.mydomain.net:443
        ServerAdmin "XXX"

        DocumentRoot /var/www/vhosts/mydomain.net/subdomains/svn/httpdocs
        CustomLog  /var/www/vhosts/
mydomain.net/statistics/logs/access_ssl_log plesklog
        ErrorLog  /var/www/vhosts/mydomain.net/statistics/logs/error_log

        SSLEngine on
        SSLVerifyClient none
        SSLCertificateFile /usr/local/psa/var/certificates/certVl10777

        <Directory  /var/www/vhosts/mydomain.net/subdomains/svn/httpdocs>
                ...
        </Directory>

        SSLProtocol all -SSLv2
        SSLHonorCipherOrder on

        <Location />
                DAV svn
                SVNPath /var/www/vhosts/mydomain.net/svn/svnrepository
                AuthzSVNAccessFile /var/www/vhosts/
mydomain.net/svn/svn-acl-file
                Require valid-user
                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /var/www/vhosts/mydomain.net/svn/svn-auth-file
                SSLRequireSSL
        </Location>
</VirtualHost>

Cheers,
Franz

Reply via email to