AWStats über SSL einrichten
Was ist SSL/CSR in einem Satz
SSL (Transport Layer Security) verschlüsselt die Verbindung zwischen Browser und Server. CSR (Certificate Signing Request) ist die Anfrage, mit der Sie ein Zertifikat beantragen.
Übersicht
- SSL‑Zertifikat erstellen (selbstsigniert)
- Apache für SSL konfigurieren
- AWStats über HTTPS weiterleiten
- AWStats automatisch per Cron aktualisieren
- GeoIP‑Addon zur Reduzierung von DNS‑Overhead
Wichtig: Ein selbstsigniertes Zertifikat verschlüsselt die Verbindung, bietet aber nicht die Identitätsprüfung einer Zertifizierungsstelle. Für Produktionsseiten verwenden Sie ein von einer vertrauenswürdigen CA ausgestelltes Zertifikat.
Zertifikat erstellen (selbstsigniert)
Stellen Sie sicher, dass OpenSSL auf dem Server installiert ist. Auf CentOS/RHEL installieren Sie das Apache‑Modul mit:
yum install mod_ssl
Wechseln Sie in das Verzeichnis /etc/pki/tls/certs/ und erstellen Sie den RSA‑Private‑Key:
# openssl genrsa -des3 -out server.key 1024
Sie werden nach einer Passphrase gefragt:
Generating RSA private key, 1024 bit long modulus
Enter pass phrase for server.key:
Verifying - Enter pass phrase for server.key:
Überprüfen Sie den Key:
# openssl rsa -noout -text -in server.key
Erstellen Sie eine Certificate Signing Request (CSR):
# openssl req -new -key server.key -out server.csr
Antworten Sie auf die Eingabeaufforderungen. Beispielwerte (passen Sie an):
Country Name (2 letter code) [GB]:JO
State or Province Name (full name) [Berkshire]:State
Locality Name (eg, city) [Newbury]: Your Location
Organization Name (eg, company) [My Company Ltd]:My Company
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:ns.somewhere.com
Email Address []: [email protected]
Signieren Sie das Zertifikat selbst (gültig 365 Tage im Beispiel):
# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Kopieren Sie die Dateien an die üblichen Orte und setzen Sie restriktive Berechtigungen:
# cp server.crt /etc/pki/tls/certs/
# cp server.key /etc/pki/tls/private/
# cp server.csr /etc/pki/tls/private
# chmod go-rwx /etc/pki/tls/certs/server.crt
# chmod go-rwx /etc/pki/tls/private/server.key
# chmod go-rwx /etc/pki/tls/private/server.csr
Apache für SSL konfigurieren
Fügen Sie in Ihrer httpd.conf (CentOS) die Pfade zum Zertifikat ein:
SSLCertificateFile /etc/pki/tls/certs/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
Starten oder laden Sie Apache neu und prüfen Sie, ob der Server auf Port 443 lauscht:
netstat -aunt
Ausgabebeispiel:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
Wenn Port 443 fehlt, prüfen Sie die Apache‑Konfiguration und die Firewall (iptables, firewalld, ufw).
AWStats über HTTPS weiterleiten
Wenn Ihr Webserver SSL korrekt anbietet, rufen Sie Seiten mit https:// an. Browser fordern bei einem selbstsignierten Zertifikat eine Ausnahmegenehmigung an. Wenn keine Aufforderung erscheint, prüfen Sie die Konfiguration.
Fügen Sie in Ihrer .htaccess (oder VirtualHost) eine Weiterleitung zu HTTPS hinzu (passen Sie example.com an):
# redirect awstats to https
RewriteCond %{REQUEST_URI} ^/awstats(.*)
RewriteRule ^/rawe/awstats(.*)$ https://example.com/awstats$1 [R,L]
In der AWStats‑Konfiguration (awstats.site.conf) setzen Sie UseHTTPSLinkForUrl, damit interne Links HTTPS verwenden:
UseHTTPSLinkForUrl
Version : 4.0+
# When AWStats build HTML links in its report pages, it starts thoose link
# with "http://". However some links might be HTTPS links, so you can enter
# here the root of all your HTTPS links. If all your site is a SSL web site,
# just enter "/".
# This parameter is not used if ShowLinksOnUrl is 0.
# Example: "/shopping"
# Example: "/"
# Default: ""
#
UseHTTPSLinkForUrl=""
Setzen Sie UseHTTPSLinkForUrl auf “/“ oder auf Ihre HTTPS‑Basis, wenn Ihre ganze Webseite HTTPS verwendet.
AWStats automatisch per Cron aktualisieren
Manuelles Update ist aufwändig. Automatisieren Sie AWStats mit Cron. Empfehlenswert ist ein einmal tägliches Update, um Serverlast zu begrenzen.
Editieren Sie die Crontab des AWStats‑Betreibers:
$ crontab -e
In VIM drücken Sie i, um in den Einfügemodus zu wechseln, und fügen Sie zum Beispiel hinzu:
45 9 * */usr/bin/awstats_updateall.pl now -confdir="/etc" -awstatsprog="/var/www/awstats/awstats.pl"
Diese Aufgabe führt ein tägliches Update um 09:45 Uhr aus. -confdir=”/etc” verweist auf Ihre AWStats‑Konfigurationsdateien.
Wichtig: Achten Sie auf eine leere Zeile am Dateiende in crontab, sonst werden manche Systeme die letzte Zeile nicht ausführen.
Alternativ per logrotate und Apache:
Editieren Sie /etc/logrotate.d mit folgendem Block (Beispielauszug):
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
prerotate
/var/www/awstats/awstats.pl-update -config=somesite.net
postrotate
/etc/init.d/httpd reload > /dev/null 2>&1 || true
endscript
Cron‑Job für viele Konfigurationen
Wenn Sie viele AWStats‑Konfigurationen haben, ist eine einzelne cron‑Job‑Datei mit awstats_updateall.pl praktischer:
15 4 * * * perl $HOME/awstats/tools/awstats_updateall.pl now -awstatsprog=$HOME/awstats/cgi-bin/awstats.pl -configdir=$HOME/awstats/cgi-bin/
Stellen Sie sicher, dass awstats.pl ausführbar ist:
$ chmod 504 awstats/cgi-bin/awstats.pl
Damit kann das Cron‑Konto awstats.pl ausführen.
Addons konfigurieren: GeoIP statt DNS‑Lookups
Standardmäßig löst AWStats Hostnames per DNS und speichert Ergebnisse in dns.txt. Bei hohem Traffic verursacht das DNS‑Lookups und Last. Verwenden Sie GeoIP, um geografische Auflösung ohne DNS‑Reverse zu erhalten. Eine externe Anleitung zu “GeoIP Information for AWStats” beschreibt die Schritte ausführlich.
Vorteile von GeoIP:
- Reduziert DNS‑Overhead
- Schnellere Auswertung
- Bessere Skalierbarkeit bei hohem Traffic
Hinweis: GeoIP‑Datenbanken müssen regelmäßig aktualisiert werden.
Fehlerbehebung (Kurz)
- Kein Port 443: Apache SSL‑Modul aktivieren, Firewall prüfen.
- Browser akzeptiert Zertifikat nicht: Selbstsigniertes Zertifikat => Ausnahme notwendig oder CA‑Zertifikat verwenden.
- AWStats Links noch HTTP: UseHTTPSLinkForUrl prüfen.
- Cron‑Jobs laufen nicht: crontab‑Einträge, Rechte und Pfade überprüfen; crond‑Dienst prüfen.
Mini‑Methodik für die Umsetzung (Schnellplan)
- Backup: Konfigurationsdateien sichern (/etc/httpd/conf, /etc/pki/tls).
- SSL: Zertifikat und Key erzeugen und sichere Berechtigungen setzen.
- Apache: SSL‑Konfiguration einfügen und neu starten.
- AWStats: UseHTTPSLinkForUrl setzen, .htaccess‑Weiterleitung testen.
- Cron: täglichen Update‑Job anlegen und testen.
- Monitoring: Logs und Cron‑Ausgaben beobachten; GeoIP optional einbinden.
Rollen‑basierte Checkliste
- Systemadministrator: OpenSSL installieren, Zertifikate generieren, Dateiberechtigungen setzen.
- Webadministrator: Apache VirtualHost anpassen, Port 443 öffnen, Rewrite‑Regeln testen.
- AWStats‑Betreuer: UseHTTPSLinkForUrl anpassen, Cron‑Jobs anlegen, awstats.pl Rechte setzen.
- Security/Compliance: CA‑Zertifikat prüfen, Ablaufdaten im Kalender verfolgen, GeoIP‑Privacy prüfen.
Wann diese Lösung nicht passt
- Sie benötigen ein von einer CA verifiziertes Zertifikat (z. B. für Kundenportale).
- Hohe Sicherheitsanforderungen, die keine selbstsignierten Zertifikate erlauben.
- Wenn Sie automatische Zertifikatserneuerung (ACME/Let’s Encrypt) bevorzugen — verwenden Sie dann certbot oder ähnliche Tools.
Kurze Zusammenfassung
- Ein selbstsigniertes SSL‑Zertifikat schützt Datenübertragung, ersetzt aber keine CA‑Validierung.
- Passen Sie AWStats an, damit Links HTTPS verwenden.
- Automatisieren Sie Updates per Cron oder logrotate, und prüfen Sie Dateirechte.
- Nutzen Sie GeoIP, um DNS‑Reverse‑Lookups und damit Last zu reduzieren.
Schlussbemerkung: AWStats lässt sich sicher und performant per HTTPS betreiben. Testen Sie jede Änderung in einer Staging‑Umgebung, bevor Sie sie in Produktion übernehmen.
Ähnliche Materialien

Apache Tomcat Monitoring: Counter & Ereignisregeln

Clickjacking: erkennen und verhindern

Mehrere Android‑Hintergründe pro Homescreen einrichten

Datenbroker entfernen: Anleitung & Dienste

Verschiedene Hintergrundbilder pro Android‑Homescreen
