LAB Linux in heterogenen Netzen Squid KERBEROS
Version vom 6. Oktober 2024, 15:35 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Installation und Konfiguration von Squid mit Kerberos-Authentifizierung == === Voraussetzungen === * Ein Linux-Server (Debian/Ubuntu oder eine andere Distr…“)
Installation und Konfiguration von Squid mit Kerberos-Authentifizierung
Voraussetzungen
- Ein Linux-Server (Debian/Ubuntu oder eine andere Distribution)
- Zugriff auf einen Active Directory-Domänencontroller
- Administratorrechte auf dem Proxy-Server
Installation der erforderlichen Pakete
Installieren Sie die erforderlichen Pakete auf dem Proxy-Server:
sudo apt update sudo apt install squid krb5-user libkrb5-dev
Kerberos-Konfiguration
Bearbeiten Sie die Kerberos-Konfigurationsdatei /etc/krb5.conf:
sudo nano /etc/krb5.conf
Fügen Sie Folgendes hinzu oder passen Sie die Datei entsprechend an:
[libdefaults]
default_realm = LAB34.LINUGGS.DE
dns_lookup_realm = true
dns_lookup_kdc = true
[realms]
LAB34.LINUGGS.DE = {
kdc = 10.114.214.101
admin_server = 10.114.214.101
}
[domain_realm]
.lab34.linuggs.de = LAB34.LINUGGS.DE
lab34.linuggs.de = LAB34.LINUGGS.DE
Erstellen einer Keytab-Datei
Führen Sie die folgenden Befehle auf dem Active Directory-Domänencontroller aus, um einen Kerberos-Service Principal Name (SPN) zu erstellen und eine Keytab-Datei zu generieren:
- Erstellen Sie ein Benutzerkonto für den Proxy (falls nicht vorhanden):
New-ADUser -Name "squid-user" -UserPrincipalName "squid-user@LAB34.LINUGGS.DE" -AccountPassword (ConvertTo-SecureString "your_password" -AsPlainText -Force) -Enabled $true
- Fügen Sie den SPN hinzu:
setspn -A HTTP/proxy.lab34.linuggs.de squid-user
- Erstellen Sie die Keytab-Datei:
ktpass -princ HTTP/proxy.lab34.linuggs.de@LAB34.LINUGGS.DE -mapuser squid-user@LAB34.LINUGGS.DE -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out /etc/squid/PROXY.keytab
Konfiguration von Squid
Bearbeiten Sie die Squid-Konfigurationsdatei /etc/squid/squid.conf:
sudo nano /etc/squid/squid.conf
Fügen Sie die folgenden Zeilen hinzu, um Kerberos-Authentifizierung und Gruppenmitgliedschaft zu konfigurieren:
auth_param negotiate program /usr/local/libexec/squid/negotiate_kerberos_auth -d -s HTTP/proxy.lab34.linuggs.de auth_param negotiate children 1000 auth_param negotiate keep_alive on external_acl_type kerberos_group ttl=3600 negative_ttl=3600 %LOGIN /usr/local/libexec/squid/ext_kerberos_ldap_group_acl -a -g lg_proxy -D LAB34.LINUGGS.DE acl auth proxy_auth REQUIRED acl GroupProxy external kerberos_group http_access deny !auth http_access allow GroupProxy auth http_access deny all
Neustart des Squid-Dienstes
Speichern Sie die Änderungen und starten Sie den Squid-Dienst neu:
sudo systemctl restart squid
Testen der Konfiguration
- Überprüfen Sie den Zugriff mit einem Benutzer, der Mitglied der Gruppe lg_proxy ist, um sicherzustellen, dass der Zugriff gewährt wird.
- Testen Sie den Zugriff mit einem Benutzer, der nicht in der Gruppe ist, um sicherzustellen, dass der Zugriff verweigert wird.
Fehlerbehebung
- Überprüfen Sie die Logs unter /var/log/squid/cache.log, um Authentifizierungsfehler oder andere Probleme zu identifizieren.
- Stellen Sie sicher, dass der Benutzer korrekt in der AD-Gruppe lg_proxy ist und dass die Keytab-Datei die richtigen SPNs enthält.