Apache 2.4 Webserver "Default ssl Einstellungen"

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
sharbich
Beiträge: 284
Registriert: 27.09.2013 21:12:40

Apache 2.4 Webserver "Default ssl Einstellungen"

Beitrag von sharbich » 31.05.2021 11:15:38

Hallo Ihr Lieben,
gibt es eine Möglichkeit für alle virtuellen ssl Websites die in den Verzeichnissen:

Code: Alles auswählen

/etc/apache2/sites-available/
/etc/apache2/conf-available/
/etc/apache2/mods-available/proxy.conf
angelegt sind die folgenden Einstellungen gelten?

Code: Alles auswählen

# Require valid client certificates (mutual auth)
  SSLVerifyClient require
  SSLVerifyDepth  3
  # Enable OCSP
  SSLOCSPEnable on
  SSLOCSPDefaultResponder https://ejbca.intern.example.com/ejbca/publicweb/status/ocsp
  SSLOCSPOverrideResponder on
oder muss ich das für jede einzelne Website in der conf Datei angeben?

Gruß von Stefan Harbich

tijuca
Beiträge: 296
Registriert: 22.06.2017 22:12:20

Re: Apache 2.4 Webserver "Default ssl Einstellungen"

Beitrag von tijuca » 31.05.2021 13:24:15

Eine Konfigdatei mit diese Dingen in /etc/apache2/conf-available/ ablegen und in den entsprechenden Site Konfigurationen die Konfiguration einbinden wäre der Weg den man gehen kann und den ich empfehlen würde.

Wenn man derartiges komplett und fest in die Serverkonfiguration einbindet muss man sich klar sein, dass dies dann für alle diversen Konfigurationen von vHosts oder anderen Konfigurationen ausnahmslos die Vorgabe ist. Es gibt sicher viele Gründe dies so zu machen, aber wohl auch genauso viele es eben dann doch nicht so zu machen. Kommt wie so oft auf den Verwendungszweck des Servers an.

sharbich
Beiträge: 284
Registriert: 27.09.2013 21:12:40

Re: Apache 2.4 Webserver "Default ssl Einstellungen"

Beitrag von sharbich » 01.06.2021 13:49:13

tijuca hat geschrieben: ↑ zum Beitrag ↑
31.05.2021 13:24:15
Wenn man derartiges komplett und fest in die Serverkonfiguration einbindet
Das würde ich gerne so machen. In welcher Konfigurationsdatei müsste ich das einbinden? Muss ich im Kopf der ganzen virtuellen Websites etwas beachten? Siehe Beispiel:

Code: Alles auswählen

<VirtualHost vmailpanel.intern.example.com:443>
        ServerName vmailpanel.intern.example.com:443
        DocumentRoot /var/www/html/vMailpanel/public
</VirtualHost>
oder so

Code: Alles auswählen

<*:443>
        ServerName vmailpanel.intern.example.com:443
        DocumentRoot /var/www/html/vMailpanel/public
</VirtualHost>
Gerne weitere Ergänzungen oder Vorschläge
Gruß von Stefan Harbich

tijuca
Beiträge: 296
Registriert: 22.06.2017 22:12:20

Re: Apache 2.4 Webserver "Default ssl Einstellungen"

Beitrag von tijuca » 01.06.2021 20:45:06

Die Konfiguration des Apache Webserver erfolgt über die Dateien in /etc/apache2 wie sicherlich schon erkannt. Mache Dir die Mühe und gehe durch die diversen Dateien und Unterverzeichnisse in diesem Ordner, dann dürfte man recht schnell erkennen wie das gedacht ist.

Es gibt feine Unterschiede und Gründe für die Existenz der Ordner die Du im Eingangspost genannt hast. Sites (Deklarationen für vHosts) sind was anderes wie Confs (Webserverkonfiguration), die Grenzen sind hin und wieder etwas fließend. Mods sind die Module für den Webserver.

So als allgemeiner Tipp für das was Du da machen willst, schaue in die Datei /etc/apache2/sites-available/default-ssl.conf (der Name lässt ja schon was erahnen), und schaue in /etc/apache2/sites-enabled/ ob die Konfiguration eingeschaltet ist, mit großer Wahrscheinlichkeit nicht denn es hat wiederum seinen Grund warum das in der Paketkonfiguration so ist.

Allgemein gute Praxis ist je VHost genau die Definitionen und Konfiguration für die Webseite zu definieren die gelten sollen und eben recht wenig in die globale Konfiguration zu schreiben. Denn schnell kommt ein weiterer VHost hinzu der sich plötzlich nicht so verhält wie gewünscht, aber auch für diesen Host gelten eben die globalen Konfigurationen.
Die Konfiguration für einen VHost kann man über verschiedene Wege erreichen.

1. Man definiert alle gewollten Parameter innerhalb des VHosts
2. Man definiert allgemeine Konfigurationen in einer Konfigdatei und inkludiert diese in die VHost Konfiguration

Du willst vermutlich letzteres, dann bleibt die Option die globale VHost Konfiguration so anzupassen, so dass dadurch die diversen VHost Einträge diese Konfig mit benutzen. Oder man erstellt eben eine eigene dedizierte allgemeine Konfigurationsdatei die man in der jeweiligen VHost Konfiguration einbindet. Zum Beispiel so in etwa (ungetestet!)

Code: Alles auswählen

$ cat /etc/apache2/conf-enabled/my-special-ssl.conf
# example main default SSL configuration
#vim: set ft=apache ts=4 sw=4 expandtab :#

# Require valid client certificates (mutual auth)
SSLVerifyClient require
SSLVerifyDepth  3
# Enable OCSP
SSLOCSPEnable on
SSLOCSPDefaultResponder https://ejbca.intern.example.com/ejbca/publicweb/status/ocsp
SSLOCSPOverrideResponder on

Code: Alles auswählen

# Example Apache2 vhost configuration for some VHost
#vim: set ft=apache ts=4 sw=4 expandtab :#

<VirtualHost *:80>
    ServerName www.example.com
    RewriteEngine On
    RewriteCond %{HTTPS} off 
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443 >
    # Include here the desired common configuration from some file.
    Include /etc/apache2/conf-enabled/my-special-ssl.conf

    ServerName www.example.com

    #---%<---
    # your VHost configuration follows here
    #---%<---

</VirtualHost>

Antworten