Problem mit Einrichtung von SSL

Alles, was den Apache betrifft, kann hier besprochen werden.

Problem mit Einrichtung von SSL

Postby Emmermacher » 11. April 2018 13:09

Hallo.

Mit einem Apache 2.2.34 auf SLES11 Sp4 habe ich ein Problem bei der Einrichtung von SSL.
Der Server hat momentan eine Site mit einem SSL Zertifiat für diese Site. Auf einer anderen Site dieses Servers soll ein Wildcard-Zertifikat genutzt werden.
Meine VirtualHost habe ich bislang auf *:80 laufen gehabt. Nach Umstellung auf <IP-addresse>:80 und einen zweiten Abschnitt mit <ip-adresse>:443 wird Seite mit dem normalen Zertifikat nicht mehr angezeigt.
apache2ctl configtest zeigt nach der Umstellung keine Fehler an.

Was habe ich hier falsch eingerichtet? In den Logfiles der Seiten gab es keine Fehler :(.

Vielen Dank im voraus für Eure Antworten.

Dirk Emmermacher
Emmermacher
 
Posts: 4
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux

Re: Problem mit Einrichtung von SSL

Postby Nobbie » 12. April 2018 00:42

Irgendwo wird etwas falsch sein.
Nobbie
 
Posts: 10602
Joined: 09. March 2008 13:04

Re: Problem mit Einrichtung von SSL

Postby Emmermacher » 12. April 2018 06:15

Hallo Nobbie.

Danke für Deine Antwort.
Hier mal meine Konfig:

<VirtualHost *:80>
DocumentRoot /srv/www/domain1
ServerName domain1
ServerAlias www.domain1

ServerAdmin mailadmin@domain1
ErrorLog /var/log/apache2/domain1_error.log
CustomLog /var/log/apache2/domain1_access.log anonym
</VirtualHost>


<VirtualHost *:80>
DocumentRoot /srv/www/domain2
ServerAlias domain2.de
Options Indexes FollowSymLinks MultiViews
<Directory /srv/www/domain2>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ServerAdmin mailadmin@domain2.de
ErrorLog /var/log/apache2/domain2_error.log
CustomLog /var/log/apache2/domain2_access.log anonym
</VirtualHost>

# NameVirtualHost *:443
<VirtualHost *:443>
DocumentRoot /srv/www/domain2
ServerName www.domain2.de
ServerAlias domain2.de
ServerAlias kts.ntb.local
<Directory /srv/www/domain2>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/domain2_ssl_certificate.pem
SSLCertificateKeyFile /etc/apache2/ssl.key/domain2_server.key
SSLCertificateChainFile /etc/apache2/ssl.crt/IntermediateCA.crt
ServerAdmin mailadmin@domain2.de
ErrorLog /var/log/apache2/domain2_error.log
CustomLog /var/log/apache2/domain2_access.log anonym
</VirtualHost>


<VirtualHost *:80>
DocumentRoot /srv/www/domain3
ServerName beispiel.domain3.de
ServerAdmin mailadmin@domain3.de
ErrorLog /var/log/apache2/domain3_error.log
CustomLog /var/log/apache2/domain3_access.log anonym
</VirtualHost>

# NameVirtualHost *:443
# <VirtualHost *:443>
# DocumentRoot /srv/www/domain3
# ServerName beispiel.domain3.de
# ServerAdmin mailadmin@domain3.de
# SSLEngine on
# SSLCertificateFile /etc/apache2/ssl.crt/wildcards_domain3.pem
# SSLCertificateKeyFile /etc/apache2/ssl.key/domain3.key
# SSLCertificateChainFile /etc/apache2/ssl.crt/Intermediate_domain3.crt
# ErrorLog /var/log/apache2/domain3_error.log
# CustomLog /var/log/apache2/domain3_access.log anonym
# </VirtualHost>

-----------------
listen.conf

Listen 80


<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
# NameVirtualHost *:443
Listen 443

</IfModule>
</IfDefine>
</IfDefine>

----------------
default-server.conf

DocumentRoot "/srv/www/htdocs"
Options None
AllowOverride None
Order allow,deny
Allow from all
Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"
<Directory "/srv/www/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
UserDir public_html
Include /etc/apache2/mod_userdir.conf
</IfModule>
Include /etc/apache2/conf.d/*.conf
Include /etc/apache2/conf.d/apache2-manual?conf
ServerName domain0
ServerAdmin root@server
DirectoryIndex index.php index.html
NameVirtualHost *:80

Der auskommentierte Bereich von domain3 ist das Problem. Ich hatte gelesen, das für Konfigurationen mit Wildcardzertikaten <VirtualHost *:443> in <VirtualHost x.x.x.x:443> geändert werden soll.
Bleiben dir VirtualHost-Einstellungen der anderen Domains auf <VirtualHost *:443> bzw. <VirtualHost *:80> stehen, oder müssen dann alle Domains von *:80 auf x.x.x.x:80 geändert werden?

Dirk Emmermacher
Emmermacher
 
Posts: 4
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux

Re: Problem mit Einrichtung von SSL

Postby Nobbie » 12. April 2018 15:07

Emmermacher wrote:Der auskommentierte Bereich von domain3 ist das Problem. Ich hatte gelesen, das für Konfigurationen mit Wildcardzertikaten <VirtualHost *:443> in <VirtualHost x.x.x.x:443> geändert werden soll.


Wo hast Du das gelesen?

Und wo finde ich das in Deiner Konfiguration? In den auskommentierten Zeilen steht es ja anders herum. Ich sehe außerdem 2 mal die Anweisung NameVirtualHost mit *:443, allerdings beide auskommentiert??!! Ziemlich chaotisch. Zeige doch bitte die echte, unveränderte Konfiguration, die den Fehler erzeugt (und nicht eine Konfiguration, die keinen Fehler erzeugt, was soll ich damit??) und bitte eine präzisere Beschreibung der Fehlersituation ("wird nicht mehr angezeigt" ist leider unbrauchbar, geht der Monitor aus oder was?).
Nobbie
 
Posts: 10602
Joined: 09. March 2008 13:04

Re: Problem mit Einrichtung von SSL

Postby Emmermacher » 13. April 2018 11:02

Hallo Nobbie.

Hier meine httpd-conf:

ServerName www2.myserver.lokal

ServerAdmin root@proxy
DirectoryIndex index.php index.html
NameVirtualHost *:80

Dann die listen.conf:
Listen 80


<IfDefine SSL>
<IfDefine !NOSSL>
<IfModule mod_ssl.c>
NameVirtualHost *:443
Listen 443
</IfModule>
</IfDefine>
</IfDefine>

Das ist meine erster vhost:
<VirtualHost *:80>
DocumentRoot /srv/www/server1
ServerName server1.de
ServerAdmin webmaster@server1.de
ErrorLog /var/log/apache2/server1_error.log
CustomLog /var/log/apache2/server1_customer.log anonym
</VirtualHost>

vhost2:
<VirtualHost *:80>
DocumentRoot /srv/www/server2
ServerName subdomain1.server2.de
ServerAdmin admin@server2.de
ErrorLog /var/log/apache2/subdomain1.server2_error.log
CustomLog /var/log/apache2/subdomain1.server2.log anonym
<Directory /srv/www/server2>
Options FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

<VirtualHost *:443>
DocumentRoot /srv/www/server2
ServerName subdomain1.server2.de
ServerAdmin admin@server2.de
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/server2.pem
SSLCertificateKeyFile /etc/apache2/ssl.key/server2.key
SSLCertificateChainFile /etc/apache2/ssl.crt/Intermediate.crt
ErrorLog /var/log/apache2/subdomain1.server2_error.log
CustomLog /var/log/apache2/subdomain1.server2_access.log anonym
<Directory /srv/www/server2>
Options FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

Hier gibt es noch zwei weitere subdomains von server2, bei entsprechend die Verzeichnisse und Logfiles anders sind.

vhost3:
<VirtualHost *:80>
DocumentRoot /srv/www/server3
ServerName www.server3.de
ServerAlias server3.de
Options Indexes FollowSymLinks MultiViews
<Directory /srv/www/server3>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
ServerAdmin mailadmin@server3.de
ErrorLog /var/log/apache2/server3_error.log
CustomLog /var/log/apache2/server3_access.log anonym
</VirtualHost>

<VirtualHost *:443>
DocumentRoot /srv/www/server3
ServerName www.server3.de
ServerAlias server3.de
<Directory /srv/www/server3>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/server3_ssl_certificate.pem
SSLCertificateKeyFile /etc/apache2/ssl.key/server3_server.key
SSLCertificateChainFile /etc/apache2/ssl.crt/IntermediateCA.crt
ServerAdmin mailadmin@server3.de
ErrorLog /var/log/apache2/server3_error.log
CustomLog /var/log/apache2/server_access.log anonym
</VirtualHost>

Bei einem apache2ctl -S kommt aktuell:
webserver:/etc/apache2 # apache2ctl -S|grep default
[Fri Apr 13 08:11:00 2018] [warn] module rewrite_module is already loaded, skipping
[Fri Apr 13 08:11:00 2018] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Fri Apr 13 08:11:00 2018] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Fri Apr 13 08:11:00 2018] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
[Fri Apr 13 08:11:00 2018] [warn] _default_ VirtualHost overlap on port 443, the first has precedence
wildcard NameVirtualHosts and _default_ servers:
default server server1.de (/etc/apache2/vhosts.d/server1.de.conf:1)
Syntax OK

Beim Start über rcapache2 startssl bekomme ich das hier:
webserver:/etc/apache2/vhosts.d # rcapache2 startssl
Starting httpd2 (prefork) [Fri Apr 13 11:52:35 2018] [warn] module rewrite_module is already loaded, skipping
startproc: exit status of parent of /usr/sbin/httpd2-prefork: 1
failed

In der /var/log/apache2/error_log steht dann:
[Fri Apr 13 11:52:13 2018] [notice] caught SIGTERM, shutting down
[Fri Apr 13 11:52:17 2018] [error] Init: Unable to read server certificate from file /etc/apache2/ssl.crt/ntbwelt.pem
[Fri Apr 13 11:52:17 2018] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Apr 13 11:52:17 2018] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Fri Apr 13 11:52:35 2018] [error] Init: Unable to read server certificate from file /etc/apache2/ssl.crt/ntbwelt.pem
[Fri Apr 13 11:52:35 2018] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Fri Apr 13 11:52:35 2018] [error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
[Fri Apr 13 11:53:14 2018] [warn] module rewrite_module is already loaded, skipping
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/extensions/php_soap.dll' - /usr/lib/php5/extensions/php_soap.dll: cannot open shared object file: No such file or directory in Unknown on line 0
[Fri Apr 13 11:53:14 2018] [notice] Apache/2.2.34 (Linux/SUSE) PHP/5.3.17 mod_ssl/2.2.34 OpenSSL/0.9.8j-fips mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming normal operations

Aktuell läuft der Apache wieder, aber ohne die https-Einstellungen für Server2.
Emmermacher
 
Posts: 4
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux

Re: Problem mit Einrichtung von SSL

Postby Nobbie » 13. April 2018 23:36

Emmermacher wrote:Hier meine httpd-conf:


Ne, mit absoluter Sicherheit ist das nur ein extrem verstümmelter Ausschnitt. Den Fehlermeldungen nach zu urteilen werden manche Module mehrfach geladen, möglicherweise durch verkreuzte includes oder einfach nur durch falsche Logik. Weiterhin deutet die Fehlermeldung "asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag" darauf hin, dass die Zertifikatsdatei editiert und verstümmelt wurde, ggf. befindet sich am Anfang und/oder Ende ein oder mehrere Spaces.

Es deutet vieles daraufhin, dass die ganze Konfiguration ziemlich "verwuselt" und kaputt ist, warum das so ist, kann ich nicht beurteilen, insbesondere bekommen wir hier nur Bruchstücke zu sehen. Wenn möglich, würde ich den Server vollkommen neu aufsetzen, es sei denn, Du verfügst über das Wissen, wie Apache konfiguriert wird, dann kannst Du versuchen, die einzelnen Fehler selbst auszubügeln. Aber insgesamt sind das Fehlermeldungen, die darauf hinweisen, dass die Konfiguration insgesamt "zerschossen" wurde, da ist nicht ein einzelner Fehler verantwortlich, da passt vieles nicht (mehr) zusammen (warum auch immer). Mehr kann ich nicht dazu sagen, dazu stehen hier zu wenige Informationen zur Verfügung. Die Frage ist, wieso ist die Konfiguration so chaotisch geworden, das war sicherlich nicht von Anfang an so?!
Nobbie
 
Posts: 10602
Joined: 09. March 2008 13:04

Re: Problem mit Einrichtung von SSL

Postby Emmermacher » 16. April 2018 13:17

Hallo Nobbie.
Danke für Deine Antwort.
Der Hinweis mit dem zerstückelten Zertifikat hat mir weiter geholfen. Diese habe ich aus meiner pfx-Datei noch einmal erstellt. Jetzt läuft das mit auch mit https. Die gesamte Serverkonfig stammte im Ursprung aus einer Apache 1.3 Konfiguration. Diese haben wir vor vielen Jahre auf dieses System gebracht. Da wurde dann etliche Male erweitert und wieder verkleinert. Wenn mal Zeit habe, wird das mal auf einen aktuellen Stand gebracht. "Mal schnell" etwas neu aufbauen geht erfahrungsgemäß eher daneben und dauert entsprechend länger als geplant...

LG

Dirk
Emmermacher
 
Posts: 4
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests