ubuntu:apache_webserver
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| ubuntu:apache_webserver [2020/10/18 14:59] – [PHP] angelegt Sebastian Hetzel | ubuntu:apache_webserver [2022/11/06 15:28] (aktuell) – [Certbot installieren] Sebastian Hetzel | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Ubuntu 18.04 und 20.04: Apache Webserver ====== | + | ====== Ubuntu 18.04 und 20.04 und 22.04: Apache Webserver ====== |
| + | |||
| + | {{: | ||
| Ich verwende in dieser Anleitung das MPM ITK - http:// | Ich verwende in dieser Anleitung das MPM ITK - http:// | ||
| Zeile 27: | Zeile 29: | ||
| </ | </ | ||
| + | Sicherheistskritische Module ausschalten: | ||
| + | |||
| + | < | ||
| + | # a2dismod info | ||
| + | # a2dismod status | ||
| + | </ | ||
| ===== Webserver-User für virtuellen Host ===== | ===== Webserver-User für virtuellen Host ===== | ||
| Zeile 107: | Zeile 115: | ||
| apt-get install python-certbot-apache</ | apt-get install python-certbot-apache</ | ||
| - | Bei Ubuntu 20.04 ist dies nicht mehr notwendig: | + | Ab Ubuntu 20.04 ist dies nicht mehr notwendig: |
| - | <code> | + | Folgende Anleitung verwenden (snapd): |
| - | aptitude install | + | > https://certbot.eff.org/ |
| - | aptitude install python3-certbot-apache | + | |
| - | </ | + | |
| ==== Cerbot: Zertifikate anfordern und Webserver anpassen ==== | ==== Cerbot: Zertifikate anfordern und Webserver anpassen ==== | ||
| Zeile 211: | Zeile 217: | ||
| # aptitude install php php-cli php-json php-pdo php-mysql php-zip php-gd | # aptitude install php php-cli php-json php-pdo php-mysql php-zip php-gd | ||
| </ | </ | ||
| + | |||
| + | ===== ModSecurity ===== | ||
| + | |||
| + | Dieses Apache-Modul erkennt Angriffmuster (z. B. Session Hijacking, Cross-Site-Scripting) und verweigert bei Angriff die Anfrage. | ||
| + | |||
| + | ==== Installation ==== | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Konfiguration ==== | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | cp modsecurity.conf-recommended modsecurity.conf | ||
| + | </ | ||
| + | |||
| + | ModSecurity sollte nun im DetectOnly-Modus laufen und erkannte Angriffsmuster unter ''/ | ||
| + | |||
| + | Dies kann folgendermaßen geändert werden: | ||
| + | |||
| + | <file |h / | ||
| + | [...] | ||
| + | # Enable ModSecurity, | ||
| + | # only to start with, because that minimises the chances of post-installation | ||
| + | # disruption. | ||
| + | # | ||
| + | # | ||
| + | SecRuleEngine On | ||
| + | [...] | ||
| + | </ | ||
| + | |||
| + | <file |h / | ||
| + | [...] | ||
| + | # Log everything we know about a transaction. | ||
| + | # | ||
| + | SecAuditLogParts ABCEFHJKZ | ||
| + | [...] | ||
| + | </ | ||
| + | |||
| + | ==== Aktuelles OWASP Core Rule Set ==== | ||
| + | |||
| + | < | ||
| + | cd / | ||
| + | git clone https:// | ||
| + | cd owasp-modsecurity-crs | ||
| + | cp crs-setup.conf.example crs-setup.conf | ||
| + | </ | ||
| + | |||
| + | Das Regelwerk hinterlegen: | ||
| + | |||
| + | <file |h / | ||
| + | < | ||
| + | # Default Debian dir for modsecurity' | ||
| + | SecDataDir / | ||
| + | |||
| + | # Include all the *.conf files in / | ||
| + | # Keeping your local configuration in that directory | ||
| + | # will allow for an easy upgrade of THIS file and | ||
| + | # make your life easier | ||
| + | # IncludeOptional / | ||
| + | IncludeOptional / | ||
| + | IncludeOptional / | ||
| + | IncludeOptional / | ||
| + | |||
| + | # Include OWASP ModSecurity CRS rules if installed | ||
| + | # IncludeOptional / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Aktualisieren kann man das Ruleset, indem man einfach eine aktuelle Kopie von github zieht und diese in sein Conf-Verzeichnis kopiert. Bitte vorher die Konfig-Dateien an Seite legen. | ||
| + | |||
| + | ==== Logfiles ==== | ||
| + | |||
| + | Da sehr viele Daten geloggt werden, sollte man das Logfile täglich rotieren lassen: | ||
| + | |||
| + | <file |h / | ||
| + | / | ||
| + | { | ||
| + | rotate 14 | ||
| + | daily | ||
| + | missingok | ||
| + | compress | ||
| + | delaycompress | ||
| + | notifempty | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Regelausnahmen: | ||
| + | |||
| + | === Virtuellen Host anpassen für WebDAV === | ||
| + | |||
| + | < | ||
| + | [...] | ||
| + | < | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | [...] | ||
| + | </ | ||
| + | |||
| + | === Ausnahmeregelungen für Nextcloud === | ||
| + | |||
| + | <file | REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf> | ||
| + | [...] | ||
| + | # Own ip address not monitored | ||
| + | SecRule REMOTE_ADDR " | ||
| + | |||
| + | SecRule REQUEST_URI " | ||
| + | </ | ||
| + | |||
| + | === Globale Ausnahme-Presets für Nextcloud === | ||
| + | |||
| + | Achtung: Gilt für alle virtuellen Hosts! | ||
| + | |||
| + | <file | > | ||
| + | [...] | ||
| + | SecAction \ | ||
| + | " | ||
| + | phase:1,\ | ||
| + | nolog,\ | ||
| + | pass,\ | ||
| + | t:none,\ | ||
| + | setvar: | ||
| + | [...] | ||
| + | </ | ||
| + | |||
| + | > https:// | ||
ubuntu/apache_webserver.1603025967.txt.gz · Zuletzt geändert: von Sebastian Hetzel
