it-themen:projekt:dokumentation:ldap_freeradius_lam-testumgebung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| it-themen:projekt:dokumentation:ldap_freeradius_lam-testumgebung [01.05.2025 17:01] – lars | it-themen:projekt:dokumentation:ldap_freeradius_lam-testumgebung [02.05.2025 21:51] (aktuell) – lars | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | [[it-themen: | ||
| # LDAP + FreeRADIUS + LAM-Testumgebung | # LDAP + FreeRADIUS + LAM-Testumgebung | ||
| ## 1. Aufbau der Testumgebung | ## 1. Aufbau der Testumgebung | ||
| Zeile 11: | Zeile 12: | ||
| ### Softwarequellen aktualisieren | ### Softwarequellen aktualisieren | ||
| - | <code bash> | + | < |
| sudo apt update && sudo apt upgrade -y</ | sudo apt update && sudo apt upgrade -y</ | ||
| + | |||
| ### Netplan installieren (falls nicht vorhanden) | ### Netplan installieren (falls nicht vorhanden) | ||
| - | sudo apt install netplan.io | + | <code bash|bash> |
| - | Netzwerkadapter anpassen und umbenennen | + |  |
| - | • Debian verwendet standardmäßig " | + | sudo apt install netplan.io</ |
| - | • Datei / | + | ### Netzwerkadapter anpassen und umbenennen |
| - | sudo nano / | + | |
| - | • Beispielinhalt: | + | |
| - | [Match] | + | <code bash|bash> |
| + | sudo nano / | ||
| + | | ||
| + | <code ini|/ | ||
| MACAddress=AA: | MACAddress=AA: | ||
| Zeile 29: | Zeile 34: | ||
| [Link] | [Link] | ||
| - | Name=lan0Â | + | Name=lan0</ |
| - | • (MAC-Adressen der jeweiligen Netzwerkkarten anpassen!) | + |  |
| - | • Danach: | + | * (MAC-Adressen der jeweiligen Netzwerkkarten anpassen!) |
| + | | ||
| + | Â | ||
| + | <code bash|bash> | ||
| sudo update-initramfs -u | sudo update-initramfs -u | ||
| - | sudo reboot | + | sudo reboot</ |
| - | Netplan-Konfiguration (fĂĽr 2 Netzwerkkarten auf VM1)Â | + | Â |
| - | • Datei anlegen/ | + | ### Netplan-Konfiguration (für 2 Netzwerkkarten auf VM1) |
| - | sudo nano / | + | |
| - | • Beispiel für VM1 (Router): | + | <code bash|bash> |
| + | sudo nano / | ||
| + | | ||
| + | Â | ||
| + | <code yaml|/ | ||
| network: | network: | ||
| version: 2 | version: 2 | ||
| Zeile 46: | Zeile 58: | ||
| lan0: | lan0: | ||
| addresses: | addresses: | ||
| - | - 192.168.100.1/ | + | - 192.168.100.1/ |
| - | • Anwenden: | + | |
| - | sudo netplan apply | + | <code bash|bash> |
| - | ________________________________________Â | + | sudo netplan apply</ |
| - | 3. Installierte Software | + |  |
| - | VM1 (RADIUS + NAT + DHCP)Â | + | ---Â |
| - | sudo apt install isc-dhcp-server iptables-persistent freeradius freeradius-ldap net-tools netplan.io curl sudo less vim | + | ## 3. Installierte Software |
| - | • NAT mit iptables (MASQUERADE) | + | ### VM1 (RADIUS + NAT + DHCP) |
| - | • Freeradius + LDAP-Modul | + | <code bash|bash> |
| - | • DHCP für das Subnetz 192.168.100.0/ | + | sudo apt install isc-dhcp-server iptables-persistent freeradius freeradius-ldap net-tools netplan.io curl sudo less vim</ |
| - | • Zusätzliche Tools: net-tools, vim, less, sudo, curl | + | |
| - | • Beispiel DHCP-Konfiguration (/ | + | |
| + | | ||
| + | | ||
| + | | ||
| + | <code conf|/ | ||
| default-lease-time 600; | default-lease-time 600; | ||
| max-lease-time 7200; | max-lease-time 7200; | ||
| Zeile 64: | Zeile 80: | ||
| option routers 192.168.100.1; | option routers 192.168.100.1; | ||
| option domain-name-servers 192.168.100.10; | option domain-name-servers 192.168.100.10; | ||
| - | }Â | + | }</ |
| - | • DHCP-Interface definieren in / | + | |
| - | INTERFACESv4=" | + | Â |
| - | VM2 (LDAP-Server + Webverwaltung)Â | + | <code bash|/ |
| - | sudo apt install slapd ldap-utils ldap-account-manager net-tools netplan.io curl sudo less vim | + | INTERFACESv4=" |
| - | • Während der slapd-Installation: | + |  |
| - | • Domäne: zkm.local | + | ### VM2 (LDAP-Server + Webverwaltung) |
| - | • Admin-Password setzen (z. B. zkmadminpass) | + | <code bash|bash> |
| - | • Standardmäßig wird nur ldap:// aktiviert (kein TLS) | + | sudo apt install slapd ldap-utils ldap-account-manager net-tools netplan.io curl sudo less vim</ |
| - | • Zusätzliche Pakete wie curl, vim, less und sudo empfohlen zur Systempflege. | + | |
| - | ________________________________________Â | + | |
| - | 4. OpenLDAP – Basisstruktur | + | |
| + | | ||
| + | | ||
| + | Â | ||
| + | ---Â | ||
| + | Â | ||
| + | ## 4. OpenLDAP – Basisstruktur | ||
| + | Â | ||
| + | <code ldif|basisstruktur.ldif> | ||
| dn: dc=zkm, | dn: dc=zkm, | ||
| objectClass: | objectClass: | ||
| Zeile 93: | Zeile 117: | ||
| dn: ou=groups, | dn: ou=groups, | ||
| objectClass: | objectClass: | ||
| - | ou: groups | + | ou: groups</ |
| - | • Import per: | + |  |
| - | sudo ldapadd -x -D " | + | * Import per:Â |
| - | ________________________________________Â | + | Â |
| - | 5. Beispielbenutzer | + | <code bash|bash> |
| - | • Beispielbenutzer anlegen mit Passwort-Hash: | + | sudo ldapadd -x -D " |
| + | Â | ||
| + | ---Â | ||
| + | Â | ||
| + | ## 5. Beispielbenutzer | ||
| + | Â | ||
| + | * Beispielbenutzer anlegen mit Passwort-Hash: | ||
| + | Â | ||
| + | <code ldif|ldif> | ||
| dn: uid=demo, | dn: uid=demo, | ||
| objectClass: | objectClass: | ||
| Zeile 110: | Zeile 142: | ||
| homeDirectory: | homeDirectory: | ||
| loginShell: /bin/bash | loginShell: /bin/bash | ||
| - | userPassword: | + | userPassword: |
| - | • Passwort generieren mit: | + |  |
| - | slappasswd | + | * Passwort generieren mit: |
| - | ________________________________________Â | + | Â |
| - | 6. FreeRADIUS + LDAP-Anbindung | + | <code bash|bash> |
| - | • Freeradius LDAP-Modul aktivieren: | + |  |
| - | sudo ln -s / | + | ---Â |
| - | • Konfiguration anpassen: | + | ## 6. FreeRADIUS + LDAP-Anbindung |
| + | Â | ||
| + | * Freeradius LDAP-Modul aktivieren:Â | ||
| + | Â | ||
| + | <code bash|bash> | ||
| + | sudo ln -s / | ||
| + | Â | ||
| + | * Konfiguration anpassen:Â | ||
| + | Â | ||
| + | <code ruby|conf> | ||
| server = ' | server = ' | ||
| identity = ' | identity = ' | ||
| Zeile 129: | Zeile 170: | ||
| update { | update { | ||
| control: | control: | ||
| - | }Â | + | }</ |
| - | • Zusätzlich in / | + |  |
| + | | ||
| + | Â | ||
| + | <code ruby|conf> | ||
| if ((ok || updated) && User-Password && !control: | if ((ok || updated) && User-Password && !control: | ||
| update { | update { | ||
| control: | control: | ||
| } | } | ||
| - | }Â | + | }</ |
| - | • Freeradius Debugmodus zum Testen: | + |  |
| - | sudo freeradius -X | + | * Freeradius Debugmodus zum Testen:Â |
| + | Â | ||
| + | <code bash|bash> | ||
| + | sudo freeradius -X</ | ||
| ________________________________________ | ________________________________________ | ||
| - | 7. NAT und Routing (VM1)Â | + | ## 7. NAT und Routing (VM1)Â |
| - | • NAT aktivieren: | + |  |
| + | * NAT aktivieren:Â | ||
| + | Â | ||
| + | <code bash|bash> | ||
| sudo iptables -t nat -A POSTROUTING -o wan0 -j MASQUERADE | sudo iptables -t nat -A POSTROUTING -o wan0 -j MASQUERADE | ||
| - | sudo iptables -P FORWARD ACCEPTÂ | + | sudo iptables -P FORWARD ACCEPT</ |
| - | • IP-Forwarding aktivieren: | + |  |
| + | * IP-Forwarding aktivieren:Â | ||
| + | Â | ||
| + | <code bash|bash> | ||
| echo " | echo " | ||
| - | sudo sysctl -p | + | sudo sysctl -p</code> |
| - | • iptables-Regeln dauerhaft speichern: | + | |
| - | sudo netfilter-persistent save | + | |
| - | ________________________________________Â | + | |
| - | 8. LDAP Account Manager (LAM)Â | + | |
| - | • LAM installieren: | + | |
| - | sudo apt install ldap-account-manager | + | |
| - | • Zugriff via Browser: | + | |
| - | http:// | + | |
| - | • Login-Einstellungen: | + | |
| - | • Login-Methode: | + | |
| - | • Benutzername: | + | |
| - | • Aktivierte Module: | + | |
| - | • inetOrgPerson | + | |
| - | • posixAccount | + | |
| - | • shadowAccount | + | |
| - | • posixGroup | + | |
| - | • Standard-Base-DNs: | + | |
| - | • Benutzer: | + | |
| - | • Gruppen: | + | |
| - | ________________________________________Â | + | |
| - | 9. Fallstricke & Fehlerbehebung | + | |
| - | Fehler Ursache Lösung | + | |
| - | Benutzer nicht gefunden falscher Login-Filter Login-Methode auf " | + | |
| - | Kein Internet auf VM2 NAT nicht aktiv iptables + IP-Forwarding überprüfen | + | |
| - | RADIUS kein Passwort Attribut nicht lesbar userPassword lesbar machen, Hash prüfen | + | |
| - | slapd lauscht nur lokal SLAPD_SERVICES falsch in / | + | |
| - | LAM findet DN nicht falscher Filter oder OU fehlt Basisstruktur kontrollieren | + | |
| - | ________________________________________Â | + | |
| - | 10. Best Practices | + | |
| - | • Immer sichere {SSHA} Passwörter verwenden | + | |
| - | • UID/GID sorgfältig verwalten und dokumentieren | + | |
| - | • Strukturierte OUs anlegen (people, groups) | + | |
| - | • Freeradius im Debugmodus testen (freeradius -X) | + | |
| - | • Keine Klartext-Passwörter verwenden | + | |
| - | ________________________________________Â | + | |
| - | 11. Status | + | |
| - | • ✅ Authentifizierung von LDAP-Usern über FreeRADIUS ✅ NAT und Routing aktiv auf VM1 ✅ Benutzerverwaltung über LAM funktionsfähig | + | |
| - | ________________________________________Â | + | |
| - | • (Stand: April 2025) | + | |
| + | * iptables-Regeln dauerhaft speichern: | ||
| + | |||
| + | <code bash|bash> | ||
| + | sudo netfilter-persistent save</ | ||
| + | |||
| + | --- | ||
| + | |||
| + | ## 8. LDAP Account Manager (LAM) | ||
| + | |||
| + | * LAM installieren: | ||
| + | |||
| + | <code bash|bash> | ||
| + | sudo apt install ldap-account-manager</ | ||
| + | |||
| + | * Zugriff via Browser: | ||
| + | * http:// | ||
| + | |||
| + | * Login-Einstellungen: | ||
| + | * Login-Methode: | ||
| + | * Benutzername: | ||
| + | * Aktivierte Module: | ||
| + | * inetOrgPerson | ||
| + | * posixAccount | ||
| + | * shadowAccount | ||
| + | * posixGroup | ||
| + | * Standard-Base-DNs: | ||
| + | * Benutzer: ou=people, | ||
| + | * Gruppen: ou=groups, | ||
| + | |||
| + | --- | ||
| + | ## 9. Fallstricke & Fehlerbehebung | ||
| + | ^Fehler ^Ursache ^Lösung^ | ||
| + | |Benutzer nicht gefunden |falscher Login-Filter |Login-Methode auf " | ||
| + | |Kein Internet auf VM2 |NAT nicht aktiv |iptables + IP-Forwarding ĂĽberprĂĽfen| | ||
| + | |RADIUS kein Passwort |Attribut nicht lesbar |userPassword lesbar machen, Hash prĂĽfen| | ||
| + | |slapd lauscht nur lokal |SLAPD_SERVICES falsch |in / | ||
| + | |LAM findet DN nicht |falscher Filter oder OU fehlt |Basisstruktur kontrollieren| | ||
| + | |||
| + | --- | ||
| + | ## 10. Best Practices | ||
| + | * Immer sichere {SSHA} Passwörter verwenden | ||
| + | * UID/GID sorgfältig verwalten und dokumentieren | ||
| + | * Strukturierte OUs anlegen (people, groups) | ||
| + | * Freeradius im Debugmodus testen (freeradius -X) | ||
| + | * Keine Klartext-Passwörter verwenden | ||
| + | |||
| + | --- | ||
| + | ## 11. Status | ||
| + | âś… Authentifizierung von LDAP-Usern ĂĽber FreeRADIUS\\ | ||
| + | âś… NAT und Routing aktiv auf VM1\\ | ||
| + | ✅ Benutzerverwaltung über LAM funktionsfähig\\ | ||
| + | |||
| + | --- | ||
| + | * (Stand: April 2025) | ||
| + | | ||
it-themen/projekt/dokumentation/ldap_freeradius_lam-testumgebung.1746111687.txt.gz · Zuletzt geändert: von lars