Samba Grundlagen
| Kurs | Lab |
|---|---|
| Linux - Samba | Linux - Samba Lab |
Einfach erklärt
- Windows-Rechner teilen Dateien und Drucker über das Protokoll SMB. Samba spricht SMB auf Linux.
- Damit kann ein Linux-Server Freigaben für Windows anbieten, auf Windows-Freigaben zugreifen, einer Windows-Domäne beitreten oder selbst eine Domäne sein.
- Eine Arbeitsgruppe ist eine lose Gruppe von Rechnern, jeder verwaltet seine Benutzer selbst. Eine Domäne hat eine zentrale Benutzerverwaltung auf dem Domänencontroller.
- Eine Active-Directory-Domäne besteht im Kern aus vier Diensten: DNS, Kerberos, LDAP und SMB.
Protokolle
| Protokoll | Port | Wofür | Heute |
|---|---|---|---|
| SMB 1 (CIFS) | 139, 445 | Datei- und Druckerfreigaben, alt | abgeschaltet, unsicher |
| SMB 2 und 3 | 445 | Datei- und Druckerfreigaben, signiert und verschlüsselt | Standard |
| NetBIOS | 137, 138 udp, 139 tcp | Namen im lokalen Netz, Browsing | nur noch für alte Geräte |
| WINS | 137 | zentrale NetBIOS-Namensauflösung | nur noch für alte Geräte |
| DNS | 53 | Namen auflösen, DC finden über SRV-Einträge | unverzichtbar |
| Kerberos | 88, 464 | Anmeldung mit Tickets statt Passwörtern | Standard in der Domäne |
| NTLM | – | ältere Anmeldung mit Challenge-Response | nur noch als Notlösung |
| LDAP | 389, 636 | Verzeichnis: Benutzer, Gruppen, Rechner | Standard in der Domäne |
| RPC | 135, 49152–65535 | Verwaltung, z.B. Benutzer anlegen von Windows aus | in der Domäne nötig |
Bestandteile von Samba
| Programm | Aufgabe | läuft auf |
|---|---|---|
| smbd | Dateien und Drucker freigeben | Standalone- und Mitgliedsserver |
| nmbd | NetBIOS-Namen, Browsing, WINS | Standalone- und Mitgliedsserver, wenn nötig |
| winbindd | Benutzer und Gruppen einer Domäne auf Linux sichtbar machen | Mitgliedsserver, Clients |
| samba | alles zusammen als Domänencontroller: DNS, Kerberos, LDAP, SMB | nur auf dem DC |
| samba-tool | Verwaltung der Domäne | DC |
| net, smbclient, wbinfo, testparm | Werkzeuge | überall |
- Auf einem DC laufen smbd und winbindd unter dem Prozess samba. Man startet sie dort nie einzeln.
Rollen eines Samba-Servers
| Rolle | security= | Benutzer kommen aus | Seite |
|---|---|---|---|
| Standalone-Server | user | der eigenen Datenbank (pdbedit) | Samba als Standalone-Server |
| Mitgliedsserver | ads | der Domäne, über winbind | Samba Mitgliedsserver |
| Domänencontroller | – (server role = active directory domain controller) | dem eigenen Verzeichnis | Samba-Domäne von Grund auf |
Wie ein Rechner seine Domäne findet
- Der Rechner fragt seinen DNS-Server nach _ldap._tcp.dc._msdcs.ad.it2XX.int.
- Die Antwort nennt die Domänencontroller mit Namen und Port.
- Per CLDAP (UDP 389) fragt er einen DC: Wer bist du, in welchem Standort bin ich?
- Mit Kerberos holt er sich ein Ticket, mit LDAP liest er Benutzer und Gruppen, über SMB holt er Gruppenrichtlinien aus sysvol.
- Deshalb gilt: Ohne richtiges DNS geht in einer Domäne nichts. Clients müssen den DC als DNS-Server benutzen.
Kerberos in drei Schritten
- Der Benutzer meldet sich an und bekommt vom DC ein Ticket Granting Ticket (TGT).
- Will er auf einen Dienst zugreifen, z.B. eine Freigabe, tauscht er das TGT beim DC gegen ein Service-Ticket für genau diesen Dienst.
- Der Dienst prüft das Ticket mit seinem eigenen Schlüssel, ohne den DC zu fragen. Das Passwort geht nie über das Netz.
- Ein Dienst wird über seinen Service Principal Name angesprochen, z.B. cifs/fs.ad.it2XX.int oder HTTP/www.ad.it2XX.int.
- Kerberos braucht DNS (Namen müssen stimmen) und Zeit (höchstens 5 Minuten Abweichung).
Stolperfallen
- SMB 1 einschalten, damit ein altes Gerät wieder geht: öffnet die Tür für alte Angriffe. Besser das Gerät ersetzen.
- Domäne über IP-Adresse ansprechen: Kerberos braucht Namen. Mit IP-Adressen fällt Windows auf NTLM zurück.
- Falscher DNS-Server am Client: Der Rechner findet die Domäne nicht, obwohl das Netz geht.
Übungen
Grundübungen
- Ordnen Sie jedem Port aus der Tabelle oben einen der vier Dienste DNS, Kerberos, LDAP, SMB zu.
- Erklären Sie den Unterschied zwischen Arbeitsgruppe und Domäne an einem Beispiel aus Ihrem Umfeld.
- Welche Samba-Programme laufen auf einem Standalone-Server, welche auf einem DC?
- Zeichnen Sie den Ablauf einer Anmeldung mit Kerberos: Benutzer, DC, Dienst. Wann wird welches Ticket ausgestellt?
Vertiefung
- Schneiden Sie mit tcpdump oder Wireshark den Zugriff eines Clients auf eine Freigabe mit. Welche Protokolle sehen Sie?
- Warum ist SMB 1 abgeschaltet? Suchen Sie nach WannaCry und EternalBlue.
- Warum fällt Windows auf NTLM zurück, wenn man \\10.2XX.1.31 statt \\fs eingibt?