LAB Linux in heterogenen Netzen Apache2 Kerberos: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 103: | Zeile 103: | ||
;Restart | ;Restart | ||
*systemctl restart apache2 | *systemctl restart apache2 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Version vom 10. Oktober 2024, 19:36 Uhr
Ziel
- Wir wollen einen Apache2-Webserver aufsetzen
- Diesen wollen wir mit Kerberos zur Authentifizierung gegen die Domain absichern
Aus dem Debian-Template einen Klon erstellen
- Name: webkerberos
- Netz: dmz
- HOSTS: webkerberos.lab34.linuggs.de
- IPv4: 172.26.55.42/24
- GWv4: 172.26.55.1
- NSv4: 172.26.54.2
- DOM: lab34.linuggs.de
- IPv6: 2a02:24d8:71:3037::42/64
- GWv6: 2a02:24d8:71:3037::1
- NSv6: 2a02:24d8:71:3036::2
Auf dem Domaincontroller
- A-Record eintragen
- AAAA-Record eintragen
- PTR-Record automatisch erstellen lassen
Installation verschiedener Pakete
- sudo apt-get install apache2 libapache2-mod-auth-gssapi krb5-user
Kerberos konfigurieren
/etc/krb5.conf bearbeiten
[libdefaults]
default_realm = LAB34.LINUGGS.DE
dns_lookup_realm = false
dns_lookup_kdc = true
rdns = false
forwardable = true
[realms]
LAB34.LINUGGS.DE = {
kdc = win2022.lab34.linuggs.de
admin_server = win2022.lab34.linuggs.de
}
[domain_realm]
.lab34.linuggs.de = LAB34.LINUGGS.DE
lab34.linuggs.de = LAB34.LINUGGS.DE
Auf dem Domaincontroller Kerberos-Principal für Apache erstellen
- Erstellen
Melde dich auf dem Windows Domaincontroller an und verwende das Tool ktpass.exe, um den Kerberos-Principal zu erstellen und die Keytab-Datei zu generieren.
Führe in einer administrativen Eingabeaufforderung (cmd) folgende Befehle aus:
- mkdir C:\temp
- ktpass /princ HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE /mapuser webservice@lab34.linuggs.de /pass * /out C:\temp\webkerberos.keytab /crypto ALL /ptype KRB5_NT_PRINCIPAL
Erläuterung:
- /princ definiert den Kerberos-Principal (HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE)
- /mapuser weist den Principal einem Benutzerkonto in Active Directory zu (webservice@lab34.linuggs.de)
- /pass * wird verwendet, um das Passwort des Benutzers bei der Eingabeaufforderung einzugeben
- /out legt den Speicherort der Keytab-Datei fest (in diesem Beispiel C:\temp\webkerberos.keytab)
- /crypto ALL erlaubt alle Verschlüsselungsmethoden
- /ptype KRB5_NT_PRINCIPAL gibt den Typ des Principals an
- Übertragen
Kopiere die Keytab-Datei vom Domaincontroller auf den Apache-Webserver:
- scp C:\temp\webkerberos.keytab kit@webkerberos:/tmp
Auf dem Webserver Berechtigungen der Keytab-Datei auf dem Apache-Webserver setzen
- Setze die richtigen Berechtigungen auf dem Apache-Webserver
- sudo cp /tmp/webkerberos.keytab /etc/apache2/krb5.keytab
- sudo chmod 600 /etc/apache2/krb5.keytab
- sudo chown www-data:www-data /etc/apache2/krb5.keytab
Apache2 mit Kerberos absichern
Verlinken der Module
- Aktiviere das GSSAPI-Modul:
a2enmod auth_gssapi
Konfiguration der Apache-Website
Bearbeite die Datei /etc/apache2/sites-enabled/000-default.conf und füge folgendes hinzu:
Nur authentifizierte Benutzer dürfen zugreifen
<VirtualHost *:80>
ServerAdmin technik@lab34.linuggs.de
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# Kerberos anbinden
<Directory /var/www/html>
AuthType GSSAPI
AuthName "Kerberos Login"
GssapiCredStore keytab:/etc/apache2/krb5.keytab
GssapiUseSessions on
Require valid-user
</Directory>
</VirtualHost>
- Restart
- systemctl restart apache2