LAB Linux in heterogenen Netzen Apache2 Kerberos: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 71: | Zeile 71: | ||
*sudo chmod 600 /etc/apache2/krb5.keytab | *sudo chmod 600 /etc/apache2/krb5.keytab | ||
*sudo chown www-data:www-data /etc/apache2/krb5.keytab | *sudo chown www-data:www-data /etc/apache2/krb5.keytab | ||
| − | + | ==GSSAPI== | |
| + | *[[GSSAPI]] | ||
= Apache2 mit Kerberos absichern = | = Apache2 mit Kerberos absichern = | ||
== Verlinken der Module == | == Verlinken der Module == | ||
| Zeile 103: | Zeile 104: | ||
;Restart | ;Restart | ||
*systemctl restart apache2 | *systemctl restart apache2 | ||
| + | =Auf dem Webserver= | ||
| + | *klist -k /etc/apache2/krb5.keytab | ||
| + | Keytab name: FILE:/etc/apache2/krb5.keytab | ||
| + | KVNO Principal | ||
| + | ---- -------------------------------------------------------------------------- | ||
| + | 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE | ||
| + | 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE | ||
| + | 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE | ||
| + | 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE | ||
| + | 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE | ||
| + | *Die Zahl 6 steht für die **Key Version Number (KVNO) | ||
| + | *Dies zeigt an, dass dies die 6. Version des Schlüssels für den Principal ist. | ||
| + | *Jedes Mal, wenn ein neuer Schlüssel generiert wird, wird die KVNO erhöht. | ||
| + | *Mehrere Einträge mit KVNO 6 existieren | ||
| + | *Es sind verschiedene Verschlüsselungsalgorithmen für denselben Principal hinterlegt. | ||
| − | + | [[Kategorie:KERBEROS]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuelle Version vom 10. Oktober 2024, 20:08 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
GSSAPI
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
Auf dem Webserver
- klist -k /etc/apache2/krb5.keytab
Keytab name: FILE:/etc/apache2/krb5.keytab KVNO Principal ---- -------------------------------------------------------------------------- 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE 6 HTTP/webkerberos.lab34.linuggs.de@LAB34.LINUGGS.DE
- Die Zahl 6 steht für die **Key Version Number (KVNO)
- Dies zeigt an, dass dies die 6. Version des Schlüssels für den Principal ist.
- Jedes Mal, wenn ein neuer Schlüssel generiert wird, wird die KVNO erhöht.
- Mehrere Einträge mit KVNO 6 existieren
- Es sind verschiedene Verschlüsselungsalgorithmen für denselben Principal hinterlegt.