Anna Lehmann: Subversion über https mit WebDAV und Client-Zertifikat

Hallo

ich möchte, dass der WebDAV Zugriff über eine verschlüsselte Verbindung abläuft und der Client ein Client-Zertifikat benötigt.

Der WebDAV Zugriff über eine verschlüsselte Verbindung ist soweit eingerichtet und funktioniert.

CA-, Server- und Client-Zertifikate habe ich erzeugt.
Das Serverzertifikat und die Client-Zertifikate wurden mit dem CA-Zertifikat signiert. Die Client-Zertifikate wurden in das PKCS#12 Format konvertiert.

<VirtualHost xxx.xxx.xxx.xxx:443>
        ServerName svn.example.com
        SSLEngine On
        #SSLCertificateFile /etc/apache2/ssl/server.pem
 SSLCertificateFile /etc/apache2/ssl/server.crt
        SSLCertificateKeyFile /etc/apache2/ssl/server.key
        <Location /projekt1>
                DAV svn
                SVNPath /var/lib/svn/projekt1
                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /var/lib/svn/projekt1/conf/authz
                #<LimitExcept GET PROPFIND OPTIONS REPORT>
                        Require valid-user
                #</LimitExcept>
        </Location>
</VirtualHost>

Jetzt fehlt mir nur noch, dass der Zugriff nur mit dem signiertes Client-Zertifikat möglich ist.
Wie kann/muss ich das realisieren?

Muss das Client Zertifikat dafür mit dem CA- oder dem Server-Zertifikat signiert werden?

Anna

  1. Hallo Anna,

    Zunächst musst Du das SSL-Modul dazu bringen, Client-Zertifikate zu verlangen. Dazu musst du u.A. festlegen, welche CAs Du überhaupt akzeptierst.
    Dann gibt es eine Option "FakeBasicAuth", die dazu führt, dass der Benutzername aus dem Client-Zertifikat verwendet wird. Die Passwörter werden dann irrelevant.
    Dort gibt es eine Anleitung dazu: http://httpd.apache.org/docs/2.2/ssl/ssl_howto.html#accesscontrol

    Grüße

    Daniel