PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache - SSL mit verschiedenen Sub-Domains



TheNose
01.11.06, 20:49
Hallo!

Habe auf meinen Debian Sarge Apache als Webserverlaufen. Mit mod_ssl hab ich es auch hinbekommen für verschiedene Sub-Domains eine SSl-Verbindung aufzubauen.

Mein Problem: Browser meckert jedes Mal, dass das Zertifikat nicht zur Sub-Domain passt. Liegt daran, dass ich nur ein Zertifikat habe, dass auf www.... ausgestellt ist.

Meine Frage: Ist es möglich verschiedene Zertifikate zu benutzen? Habe in einem Tutorial gelesen, dass man für jedes Zertifikat eine eigene IP braucht.

Hinweis: Die Zertifikate dienen nur für "private" Verbindungen. Sollen also nicht bei Versign, ... gekauft werden.

Und noch eine Frage: Sind eigene Zertifikate genauso sicher, wie bezahlte? Denke ja, weil es extrem unlogisch wäre. Wollte aber sicher gehen. :)

BedriddenTech
01.11.06, 23:50
Und noch eine Frage: Sind eigene Zertifikate genauso sicher, wie bezahlte? Denke ja, weil es extrem unlogisch wäre. Wollte aber sicher gehen. :) Technisch gesehen auf jeden Fall. Der Vorteil eines Ausstellers wie Verisign ist es, daß er Vertrauen schafft, weil die Zertifikate geprüft und offiziell ausgestellt wurden.

Aber sieh' dir doch mal cacert.org an.

bluesky666
02.11.06, 00:24
Du brauchst für jedes SSL Zertifikat eine eigene IP, Namebased Vhosts geht da nicht

TheNose
02.11.06, 07:12
Brauche ich auch für jede Sub-Domain ein eigenes Zertifikat, oder kann ich da ein Zertifikat für mehrere Sub-Domains verwenden?

derRichard
02.11.06, 16:24
hallo!

pro domain ein zertifikat.
www.foo.com braucht eins und bar.foo.com braucht auch sein eigenes...
natürlich kannst du für alle das selber verwenden da wird aber jeder browser alarm schlagen...

hth,
//richard

TheNose
02.11.06, 19:10
D.h. dann aber auch, dass ich für jede Subdomain eine eigene IP, brauche wenn ich SSL möchte, oder wie?

derRichard
02.11.06, 19:12
hallo!

nein, eine eigene ip muss es nicht sein.

//richard

TheNose
02.11.06, 19:13
Alles klar! Vielen Dank!

TheNose
02.11.06, 20:14
Habe jetzt versucht meinen Apache mit verschiedenen Zertifikaten für die verschiedenen Sub-Domains zum Laufen zu bekommen. Leider funktioniert das nicht ganz. Meine Datei in /etc/apache/conf.d/ hat folgenden Inhalt:


# SSL
<IfModule mod_ssl.c>
# PhpMyAdmin
<VirtualHost XX.XXX.X.XXX:443>
ServerAdmin mail@domain.de
DocumentRoot /var/www/phpmyadmin/
ServerName phpmyadmin.domain.de
ErrorLog /home/andreas/logs/error.log
CustomLog /home/andreas/logs/access.log common

#open_basedir-Limit auf DocumentRoot, die PHP-Bibliotheken
# und ggf. das PHP-tmp-Verzeichnis!
php_admin_value open_basedir /etc/phpmyadmin/:/var/www/phpmyadmin/:usr/share/phpmyadmin/libraries/
# Weitere Absicherung durch eigene Pfade pro Domain
php_admin_value upload_tmp_dir /var/www/phpmyadmin/
php_admin_value session.save_path /var/www/phpmyadmin/

SSLEngine on
SSLCertificateFile /etc/apache/ssl/phpmyadmin.domain.de.crt
SSLCertificateKeyFile /etc/apache/ssl/phpmyadmin.domain.de.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</VirtualHost>

# Webmail
<VirtualHost XX.XXX.X.XXX:443>
ServerAdmin mail@domain.de
DocumentRoot /var/www/roundcubemail/
ServerName webmail.domain.de
ErrorLog /home/andreas/logs/error.log
CustomLog /home/andreas/logs/access.log common

SSLEngine on
SSLCertificateFile /etc/apache/ssl/webmail.domain.de.crt
SSLCertificateKeyFile /etc/apache/ssl/webmail.domain.de.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</VirtualHost>

# Webdav
<VirtualHost XX.XXX.X.XXX:443>
ServerAdmin mail@domain.de
DocumentRoot /home/andreas/webdav
ServerName webdav.domain.de
ErrorLog /home/andreas/logs/error.log
CustomLog /home/andreas/logs/access.log common
SSLEngine on
SSLCertificateFile /etc/apache/ssl/webdav.domain.de.crt
SSLCertificateKeyFile /etc/apache/ssl/webdav.domain.de.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
Alias /andreas /home/andreas/webdav
<Directory /home/andreas/webdav>
DAV on
SSLRequireSSL
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
AuthUserFile /home/andreas/webdav/.htpasswd
AuthType Basic
AuthName "domain"
require valid-user
</Directory>
</VirtualHost>
</IfModule>


Mein Problem ist, dass immer nur das Zertifikat vom ersten vHost-Eintrag benutzt wird. D.h. es wird immer das phpmyadmin.domain.de benutzt. Weiß jemand warum?

marce
02.11.06, 21:30
Wie hier schon öfters geschrieben: Namebased Wirt. Hosts gehen mit unterschiedlichen Zertifikaten nicht. Die technischen Details dazu: Siehe Apache-Doku.

Man kann sich aber sog. Wild-Card-Zertifikate für Domains erstellen *.domain.de geht durchaus, diese werden aber von keiner offiziellen Stelle ausgestellt - was bei Dir aber ja egal ist. Näheres dazu siehe openssl-Doku...

TheNose
02.11.06, 21:35
Alles klar! Jetzt funktioniert es! Vielen Dank an alle Helfer.