[[it-themen:start|zurück]]
# LDAP/NAC-Dokumentation (Testumgebung ZKM)
## Übersicht
Diese Dokumentation beschreibt die Einrichtung eines zentralen Authentifizierungs- und Netzwerkzugangskontrollsystems (NAC) mit folgenden Komponenten:
- **OpenLDAP** (Verzeichnisdienst)
- **FreeRADIUS** (Authentifizierungsserver)
- **LDAP Account Manager (LAM)** (Webinterface zur LDAP-Verwaltung)
- **Dynamische VLAN-Zuweisung** basierend auf MAC-Adressen
- **Testumgebung mit zwei VMs**
---
## Netzwerkstruktur (Testsetup)
- **VM1** - `192.168.100.1`
- DHCP
- FreeRADIUS
- NAT-Routing (Gateway)\\
\\
- **VM2** - `192.168.100.10`
- OpenLDAP-Server
- LAM Webinterface
---
## OpenLDAP Einrichtung
### 1. Installation
```bash
apt install slapd ldap-utils
```
### 2. Schema-Import (freeradius.schema)
#### Konvertierung
```bash
mkdir /etc/ldap/schema-converted
mkdir /tmp/ldap
cp /etc/freeradius/3.0/mods-config/ldap/schema/freeradius.schema /tmp/ldap
cd /tmp/ldap
sudo mkdir -p /etc/ldap/schema/freeradius
sudo slaptest -f slapd.conf -F /etc/ldap/schema/freeradius
```
**Hinweis:** `slapd.conf` enthält:
```conf
include /etc/ldap/schema/core.schema
include /tmp/ldap/freeradius.schema
```
#### Import in LDAP
```bash
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/freeradius/cn\=config/cn\=schema/cn\=\{0\}freeradius.ldif
```
**Wichtig:** Bei mehrfacen Versuchen kann es zu OID-Dubletten kommen. Lösung: Slapd komplett zurücksetzen
(siehe unten).
----
## OpenLDAP zurücksetzen (Neuaufbau)
```bash
systemctl stop slapd
rm -rf /etc/ldap/slapd.d/*
rm -f /var/lib/ldap/*
dpkg-reconfigure slapd
```
Danach Schema erneut konvertieren und importieren.
---
## LDAP Account Manager (LAM)
### Installation
```bash
apt install ldap-account-manager
```
### Zugriff
- Webinterface: `https:///lam`
- Standard-Login: Konfigurierbar über `/etc/ldap-account-manager/config.cfg`
### Benutzerdefinierte Felder
- MAC-Adressen via `radiusCallingStationId`
- VLANs via `radiusTunnelPrivateGroupId`, `radiusTunnelType`, `radiusTunnelMediumType`
---
## FreeRADIUS Anbindung an LDAP
### Installation
```bash
apt install freeradius freeradius-ldap
```
### LDAP-Modul konfigurieren
Pfad: `/etc/freeradius/3.0/mods-available/ldap`
```text
server = '192.168.100.10'
identity = 'cn=admin,dc=zkm,dc=intern'
password = 'geheim'
base_dn = 'ou=macs,dc=zkm,dc=intern'
```
**Symlink aktivieren:**
```bash
ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/
```
### Benutzerabfrage testen
```bash
freeradius -X
```
---
## MAC-basierte VLAN-Zuweisung
### Beispielobjekt in LDAP (LDIF)
```ldif
dn: cn=AA:BB:CC:DD:EE:FF,ou=macs,dc=zkm,dc=intern
objectClass: radiusProfile
cn: AA:BB:CC:DD:EE:FF
radiusCallingStationId: AA:BB:CC:DD:EE:FF
radiusTunnelType: VLAN
radiusTunnelMediumType: IEEE-802
radiusTunnelPrivateGroupId: 30
```
### Beschreibung der Attribute
- `radiusCallingStationId` = MAC-Adresse
- `radiusTunnelPrivateGroupId` = VLAN-ID
- `radiusTunnelType` = VLAN
- `radiusTunnelMediumType` = IEEE-802
---
## Weiterführende Planung
- Automatisierter Import aus CSV/SQL in LDAP
- NAC mit 802.1X-Authentifizierung (zunächst MAC-Bypass)
- Integration von Extreme Networks-Switches mit RADIUS-basiertem Port-Auth
- Skripte zur Switch-MAC-Erfassung und Zuordnung
---
## Troubleshooting
- **OID-Konflikte beim Schemaimport:** Slapd komplett neu aufsetzen
- **LAM zeigt Felder nicht an:** Felder manuell in der Konfiguration aktivieren
- **RADIUS antwortet nicht:** Auth-Log und `freeradius -X` prüfen
---
## ToDo
- [ ] Dynamische Gruppen in LAM aktivieren
- [ ] CSV-Import vorbereiten
- [ ] Radius-Live-Tests mit Switches durchführen
- [ ] VLAN-Tagging validieren
---
*Stand: Mai 2025*
{{gravatar>lars|?m|Lars Weiß}} //[[Lars.Weiss@gmail.com|Lars Weiß]] 2025/05/03 07:32//