FreeIPA Installation und Samba Integration

Die Verwaltung von Benutzern, Authentifizierung und Ressourcen in einer komplexen IT-Infrastruktur kann eine Herausforderung darstellen. FreeIPA (Identity, Policy, Audit) bietet eine Lösung, indem es ein zentrales System zur Verwaltung von Identitäten, Richtlinien und Zugriffssteuerung bereitstellt. In Kombination mit Samba ermöglicht FreeIPA eine nahtlose Integration in Netzwerke, die Windows-Clients und Dateifreigaben verwalten.

In diesem Blogbeitrag erkläre ich dir Schritt für Schritt, wie du FreeIPA auf einem Linux-Server installierst und es mit Samba integrierst, um eine zentrale Benutzer- und Authentifizierungsverwaltung für Linux- und Windows-Umgebungen zu schaffen.


1. Was ist FreeIPA?

FreeIPA ist eine Open-Source-Softwarelösung, die die Verwaltung von Identitäten, Authentifizierung und Autorisierung für Linux- und UNIX-basierte Systeme erleichtert. Es kombiniert verschiedene Technologien wie LDAP (Lightweight Directory Access Protocol), Kerberos und DNS (Domain Name System), um eine zentrale Verwaltungsplattform für Benutzer, Gruppen, Hosts und Richtlinien bereitzustellen.

FreeIPA bietet:

  • Zentralisierte Benutzerverwaltung: Verwaltung von Benutzerkonten und Zugriffsrechten für eine gesamte IT-Infrastruktur.
  • Kerberos-basierte Authentifizierung: Starke Authentifizierung mit Kerberos für Single-Sign-On (SSO).
  • DNS- und Zertifikatsverwaltung: Integrierte Verwaltung von DNS und Public-Key-Infrastrukturen (PKI).

2. Was ist Samba?

Samba ist eine freie Implementierung des SMB/CIFS-Protokolls, das hauptsächlich von Windows verwendet wird, um Datei- und Druckdienste in einem Netzwerk bereitzustellen. Durch die Integration von Samba mit FreeIPA können Linux- und Windows-Clients auf dieselben Dateifreigaben zugreifen und dieselben Authentifizierungsmechanismen nutzen.


3. Voraussetzungen für die Installation von FreeIPA

Bevor du mit der Installation von FreeIPA beginnst, stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Ein Server mit einer unterstützten Linux-Distribution wie CentOS, Fedora, RHEL oder Ubuntu.
  • Eine funktionierende Netzwerkkonfiguration, inklusive eines statischen Hostnamens.
  • Root-Zugriff auf den Server.
  • Ausreichender Speicherplatz und mindestens 2 GB RAM (mehr wird empfohlen, wenn du viele Benutzer verwalten willst).

4. Schritt-für-Schritt-Anleitung zur Installation von FreeIPA

1. System vorbereiten

Beginne damit, dein System zu aktualisieren und sicherzustellen, dass alle benötigten Pakete installiert sind.

sudo yum update
sudo yum install wget curl vim

Stelle sicher, dass der Hostname deines Servers richtig konfiguriert ist, da FreeIPA auf einem korrekten FQDN (Fully Qualified Domain Name) basiert:

sudo hostnamectl set-hostname ipa.example.com

Bearbeite auch die /etc/hosts-Datei, um den Hostnamen mit der IP-Adresse zu verknüpfen:

127.0.0.1 ipa.example.com ipa

2. Installation der FreeIPA-Server-Pakete

Installiere die benötigten Pakete für den FreeIPA-Server:

sudo yum install ipa-server ipa-server-dns bind-dyndb-ldap

3. Konfiguration des FreeIPA-Servers

Starte die Konfiguration des FreeIPA-Servers, indem du den Befehl ipa-server-install ausführst:

sudo ipa-server-install --setup-dns

Während der Installation wirst du nach einigen Informationen gefragt:

  • DNS-Reverse-Zone: Optional, aber empfehlenswert.
  • Administrator-Passwort: Lege ein Passwort für den IPA-Administrator fest.
  • Kerberos Realm: In der Regel der Domain-Name in Großbuchstaben (z. B. EXAMPLE.COM).

Die Installation richtet eine LDAP-Datenbank, DNS-Dienste und eine Kerberos-Umgebung ein.

4. Firewall und Dienste starten

Stelle sicher, dass die benötigten Ports für FreeIPA in der Firewall freigeschaltet sind:

sudo firewall-cmd --add-service=freeipa-ldap --add-service=freeipa-ldaps --add-service=dns --permanent
sudo firewall-cmd --reload

Starte die FreeIPA-Dienste, falls diese nicht automatisch gestartet wurden:

sudo systemctl start ipa
sudo systemctl enable ipa

5. Integration von Samba mit FreeIPA

Nachdem FreeIPA installiert ist, ist der nächste Schritt die Integration von Samba. Mit Samba können wir Dateifreigaben für Windows-Clients bereitstellen, während FreeIPA die zentrale Authentifizierung übernimmt.

1. Samba-Pakete installieren

Installiere Samba und die notwendigen Pakete:

sudo yum install samba samba-client samba-winbind samba-winbind-clients

2. Samba mit FreeIPA konfigurieren

Damit Samba mit FreeIPA kommunizieren kann, musst du die Datei /etc/samba/smb.conf anpassen. Eine grundlegende Konfiguration sieht wie folgt aus:

[global]
   workgroup = EXAMPLE
   security = ADS
   realm = EXAMPLE.COM
   kerberos method = secrets and keytab
   log file = /var/log/samba/%m.log
   log level = 1

   # Winbind settings
   idmap config * : backend = tdb
   idmap config EXAMPLE : backend = rid
   idmap config EXAMPLE : range = 10000-20000
   winbind use default domain = true
   winbind offline logon = true
   winbind nss info = rfc2307
   template shell = /bin/bash
   template homedir = /home/%U

   # Disable printing
   load printers = no
   printing = bsd
   printcap name = /dev/null
   disable spoolss = yes

Ersetze EXAMPLE.COM durch deine eigene FreeIPA-Domain und passe den Arbeitsgruppen-Namen (Workgroup) entsprechend an.

3. Integration mit Kerberos

FreeIPA verwendet Kerberos zur Authentifizierung. Du musst sicherstellen, dass Samba auf die Kerberos-Schlüssel zugreifen kann. Führe dazu Folgendes aus:

sudo ipa-getkeytab -s ipa.example.com -p cifs/ipa.example.com@EXAMPLE.COM -k /etc/krb5.keytab
sudo chown root:samba /etc/krb5.keytab
sudo chmod 640 /etc/krb5.keytab

Dies erstellt eine Keytab-Datei für Samba, die zur Authentifizierung mit FreeIPA verwendet wird.

4. Samba-Dienste starten

Starte die Samba-Dienste und aktiviere sie für den Systemstart:

sudo systemctl start smb winbind
sudo systemctl enable smb winbind

5. Benutzer für Samba freigeben

Du kannst jetzt FreeIPA-Benutzer für Samba-Dateifreigaben verwenden. Um einen Benutzer für Samba zu aktivieren, kannst du beispielsweise ipa verwenden, um das Home-Verzeichnis des Benutzers zu erstellen und die richtigen Berechtigungen zu setzen.


6. Samba-Dateifreigaben einrichten

Zum Schluss richten wir eine Samba-Dateifreigabe ein. Bearbeite die Datei /etc/samba/smb.conf und füge den folgenden Abschnitt hinzu, um eine einfache Freigabe zu erstellen:

[Freigabe]
   path = /srv/samba/freigabe
   read only = no
   browsable = yes
   guest ok = no

Erstelle das Verzeichnis und setze die richtigen Berechtigungen:

sudo mkdir -p /srv/samba/freigabe
sudo chown -R :smbusers /srv/samba/freigabe
sudo chmod 2770 /srv/samba/freigabe

Starte Samba neu:

sudo systemctl restart smb

Windows-Benutzer, die sich bei FreeIPA authentifizieren, können jetzt auf diese Freigabe zugreifen.


Fazit

Die Kombination von FreeIPA und Samba bietet eine leistungsstarke Möglichkeit, die Benutzer- und Ressourcenverwaltung in gemischten Linux- und Windows-Netzwerken zu vereinheitlichen. FreeIPA übernimmt die zentrale Authentifizierung und Verwaltung von Identitäten, während Samba die Dateidienste bereitstellt, die insbesondere in Windows-Umgebungen benötigt werden.

Durch diese Integration kannst du Benutzer und Freigaben an einem zentralen Ort verwalten und dabei moderne Authentifizierungsmethoden wie Kerberos und LDAP nutzen. Dies verbessert nicht nur die Effizienz, sondern auch die Sicherheit deiner Infrastruktur.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert