Kurs: IT-Security
1.x IT-Sicherheit am Beispiel Web-Server

Die HTTP-Kommunikation (Sequenzdoku 1.2-1.4 )
1.1
  • Internet-Server Plattformen (Wer liefert und wer holt Daten im WorldWideWeb?)
    Wer holt Daten im WorldWideWeb? (client-seitig) Wer liefert Daten, Marktanteile verschiedener Web-Server (mit URL-Abfrageformular)

  • Starte nun den eigenen Web-Dienst (Startvarianten des Apache-Webserver)
    - httpd start|stop|configtest|graceful   (Binär)
    - apachectl ...                          (https.apache.org Start/Stop-Script)
    - /etc/init.d/apache2 start|stop|restart (System-V)
    - rcapache2 ...                          (Verweis auf /etc/init.d/apache2) 
    - service apache2 ...                    (System-V Wrapper-Script auf systemctl) 
    - systemctl start apache2.service        (Systemd Standard)
    - net start apache                       (Windows)
    
    - insserv apache2 (autom. Start bei System-V) - systemctl enable apache2.service (autom. Start bei Systemd)
  • Zeichne die http-Kommunikation beim Laden einer Grafik-Datei auf und werte die Anfrage/Antwort HTTP-Header aus. Geeignete Tools sind "about:cache", Firefox-Header-Extensions oder Wireshark
    • Worin unterscheidet sich die Kommunikation bei untersch. Cacheeinstellungen (bzw. Laden mit Shift-Taste o. F5)?
    • Wodurch wird (server/client-seitig) festgelegt mit welcher Applikation dieses Word-Dokument geöffnet wird?

Webserver-Minimalkonfiguration (optional)
1.2
  • Erzeuge für den Apache in der /etc/apache2/minimal.conf eine Minimalkonfiguration.
    #LoadModule mime_module /usr/lib64/apache2/mod_mime.so 
    #TypesConfig /etc/mime.types
    
    Listen 80
    User wwwrun
    DocumentRoot /srv/www/htdocs
    ErrorLog /var/log/apache2/error_log
    Starte den Apache mit httpd -f /etc/apache2/minimal.conf und kontrolliere den Funktionsumfang.
    Nun sollte der Zusammenhang ungeladener Module und den nicht zur Verfügung stehenden Direktiven erkennbar sein.
    Reaktiviere (nach dem Test) wieder die distributionseigene httpd.conf.

  • Infos zu weitere benötigte "Direktiven" und die dazu erf. Module befinden sich unter:

Webserver-Grundeinstellungen (Sequenzdoku 2.x)
1.3
  • Mit welchen User-Rechten "arbeitet" der Apache-Webserver (siehe: MPMs, Prefork, Worker, Event oder Prefork+ITK-Modul)?
    Geeignete Tools sind: top, ps, systemd-cgls, ksysguard und http://localhost/server-status, /server-info (erfordert status/info_module)
    • Welche Auswirkung haben zahreiche http-Zugriffe (ab2 -n Anz-Requests -c gleichzeitig URL)?
    • Welche Einstellung der httpd.conf legt den Pfad u. Namen der Serverhomepage fest?

  • Richte (als erste Änderung) die in Fehlermeldungsseiten ausgegebene Admin E-Mail-Adr. und den Server-Namen ein.
    • siehe dazu die Direktiven: ServerAdmin und Server-Name
      Führe nach Konfigurationsänderungen mindestens ein "reload" (im Zweifel ein restart) durch.
    • Die Befehlsfolge bei Konfigurationsänderungen ist (Editieren, Neustart, Statusabfrage):
       vi /etc/apache2/vhosts.d/skurs.conf; #mit dem vi-Editor bearbeiten der Konfiguration  
       systemctl restart apache2.service;   #Dienste-Neustart (oder Reload)
       systemctl status apache2.service;    #ein opt. Blick auf mögliche Fehlerausgaben

Webserver Konfigurationsänderungen (Sequenzdoku 3.x)
1.4

Auswertung der Log-Dateien (Sequenzdoku 3.4)
1.5
  • Der Kunde möchte über einen Alias mit dem Namen /logs den Zugriff auf seine Log-File[s] in /var/log/apache2/[access_log] bekommen.
    Virtuelle Dateien/Ordner siehe: https://httpd.apache.org/docs/2.4/mod/mod_alias.html
  • Einigen Kunden ist eine Auswertung der Log-Files zu kompliziert oder die Weitergabe verstößt (seit dem 25.05.18) gegen die DSGV.
    Stelle ihnen daher lediglich (unter der Adresse /webalizer) ein grafische Auswertung der access_log Datei zur Verfügung
  • Wie können die Unterverzeichnisse /logs und /webalizer vor einem unberechtigtem Zugriff geschützt werden (Aufgabe 2.1)

Meinolf Mühlenjost 2022