Linux im Active Directory und als Terminal-Server



Ähnliche Dokumente
36 Grafisches Join-Tool

SSH Authentifizierung über Public Key

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Remote Desktop mit NX

How to install freesshd

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Remote Desktop Lösungen

Windows 2000 mit Arktur als primärem Domänencontroller (PDC)

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Anbindung des eibport an das Internet

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

OP-LOG

Computeria Solothurn

Kerberos: Prinzip und Umsetzung. Sascha Klopp

Anleitung Captain Logfex 2013

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

meine-homematic.de Benutzerhandbuch

Mike Wiesner Mike Wiesner 1

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Seite Out-Of-Band-Authentifizierung (OOBA) 8.1 Einleitung

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Checkliste Installation. Novaline Bautec.One

Proxy. Krishna Tateneni Übersetzer: Stefan Winter

Adressen der BA Leipzig

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

VPN-Verbindung zwischen LANCOM und integrierten VPN-Client im MacOS X 10.6 Snow Leopard

Collax PPTP-VPN. Howto

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Anleitung zur Konfiguration eines NO-IP DynDNS-Accounts mit der TOOLBOXflex-3.2

Anleitung ACPcloud.rocks Registrierung und erste VM

SANDBOXIE konfigurieren

Installationsanleitung für pcvisit Server (pcvisit 15.0)

Beschreibung einer Musterkonfiguration für PBS-Software in einem WINDOWS 2003 Netzwerk - Rel. 2 (mit NPL Runtime Package Rel. 5.

Windows 2008R2 Server im Datennetz der LUH

Lizenzen auschecken. Was ist zu tun?

Nutzung der VDI Umgebung

FuxMedia Programm im Netzwerk einrichten am Beispiel von Windows 7

Anleitung: Webspace-Einrichtung

FTP-Server einrichten mit automatischem Datenupload für

VMWARE HORIZON VIEW DOKUMENTATION V3.5.2 INHALTSVERZEICHNIS

Benutzeranleitung (nicht für versierte Benutzer) SSH Secure Shell

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Sie können diesen Service verwenden, um fast beliebig große Dateien auch über 2 GB zu versenden.

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013

Benutzer und Rechte Teil 1

Mail-Account Unimail mit der Einstellungen für Outlook Express 5.0

Active Directory Integration Mac OS X. René Meusel Betriebssystemadministration

Comtarsia SignOn Familie

VPN-Verbindung zur Hochschule Hof Mac OS

Installation Linux agorum core Version 6.4.5

Installationsanleitung für pcvisit Server (pcvisit 12.0)

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

quickterm Systemvoraussetzungen Version: 1.0

Das nachfolgende Konfigurationsbeispiel geht davon aus, dass Sie bereits ein IMAP Postfach eingerichtet haben!

Shellfire L2TP-IPSec Setup Windows XP

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Guide DynDNS und Portforwarding

Legen Sie nun dieses Verzeichnis mit dem Namen "joomla" hier an: C:xampphtdocs.

Vorstellung - "Personal Remote Desktop" für (fast) alle Hardwareplattformen und Betriebssysteme

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

Das nachfolgende Konfigurationsbeispiel geht davon aus, dass Sie bereits ein IMAP Postfach eingerichtet haben!

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

How-to: HTTP Proxy mit Radius Authentifizierung an einem Windows 2003 Server. Securepoint Security System Version 2007nx

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

MetaQuotes Empfehlungen zum Gebrauch von

Installation und Konfiguration von X-Server Xming auf Windows XP

How-to: VPN mit L2TP und dem Windows VPN-Client. Securepoint Security System Version 2007nx

2 Verwalten einer Active Directory

Shellfire L2TP-IPSec Setup Windows 7

Diese Anleitung beschreibt das Vorgehen mit dem Browser Internet Explorer. Das Herunterladen des Programms funktioniert in anderen Browsern ähnlich.

Achung! User müssen unter Linux schon erstellt sein!

kreativgeschoss.de Webhosting Accounts verwalten

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Anleitung für die Verwendung des CIP Pools von eigenen Rechner

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Anlegen eines DLRG Accounts

Migration NVC 5.x auf NEM/NPro (Migration eines bestehenden, produktiven NVC Verteilservers auf NEM/NPro)

Installation der Konfigurationsdateien für alle Windows-Versionen bis einschließlich Microsoft Windows 7

Anleitungsbeschreibung

Kostenstellen verwalten. Tipps & Tricks

Das Kerberos-Protokoll

Windows Server 2012 RC2 konfigurieren

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Anleitung: DV4Mini auf einem Raspberry Pi

BusinessMail X.400 Webinterface Gruppenadministrator V2.6

Windows 2008 Server im Datennetz der LUH

ecaros2 - Accountmanager

mysoftfolio360 Handbuch

Transkript:

Linux im Active Directory und als Terminal-Server Robert Euhus euhus@rrzn.uni-hannover.de Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 1/43

Ziel: Linux-Terminal-Server mit folgenden Eigenschaften: Nutzer aus dem bestehenden Active Directory (AD) Zugriff auf die Daten auf Shares im AD grafischer Linux-Desktop Einloggen von beliebigen Clients aus dem Netz Einsatzgebiete Remote-Zugriff auf beschränkte Ressourcen, ohne gleich Vollzugriff via VPN zu gewähren Compute-Server unter Linux/Unix in einer Windows-(AD)-Umgebung nicht mit nur einem geteilten Account nutzen einzelne Linux-Desktops im AD-Umfeld (Verwaltung und Backup im AD) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 2/43

Vorgehen Einbindung eines Linux-Rechners ins AD Bereitstellen der Terminal-Dienste Eine ausführliche Dokumentation des hier beschriebenen Setups befindet sich auf der RRZN-Webseite mit Installationsanleitungen (ohne Support): http://www.rrzn.uni-hannover.de/anleitungen.html Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 3/43

1 Linux im AD: Active Directory Linux Winbind 2 NX-Terminalserver: X-Window System NX-Protokoll FreeNX im Usermode 3 Schlussbemerkungen: Fazit Links/Literatur Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 4/43

Linux im AD: Active Directory Authentifizierung Authentifizieren: Bestätigen der Identität eines Benutzers, Rechners oder Dienstes Kerberos ist seit Windows 2000 Standard für Authentifizierung im AD Beim Start eines Domänen-Mitgliedes (Client) baut die Local Security Authority (LSA) eine Verbindung zum Domaincontroller auf und authentifiziert sich als Maschine Benutzerauthentifizierungen laufen danach über diese Verbindung. Das ältere NTLMv2 wird im Active Directory zwar noch unterstützt, jedoch hat Kerberos einige Vorteile: es ist ein offener, lang erprobter Standard alle Dienste des AD, wie z.b. das Einhängen der Shares, sind ohne erneute Authentifizierung nutzbar. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 6/43

Linux im AD: Active Directory Kerberos: Begriffe Realm separate Kerberos-Verwaltungseinheit, das ist hier die AD-Domäne; stets in Großbuchstaben. Prinzipal Mitglied der Realm (Benutzer, Rechner oder Dienst), besteht aus: Bezeichner der Form: <Name>/<Instanz>@<Realm> z.b. aduser@adtest.intern aduser/admin@adtest.intern host/relogin.adtest.intern@adtest.intern HTTP/www.adtest.intern@ADTEST.INTERN kryptografischer Schlüssel zum Verschlüsseln von Tickets; wird als Hash aus dem Passwort generiert weitere Felder sind in der Spezifikation vorgesehen und werden vom AD benutzt, um Autorisierungsinformationen zu verteilen. Sie sind aber für unseren Anwendungsfall irrelevant. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 7/43

Linux im AD: Active Directory Kerberos: Begriffe KDC (Key Distribution Center) zentraler Authentifizierungsdienst von Kerberos, zuständig für die Vergabe von Tickets Ticket Identitätsnachweis für einen Prinzipal zum Zugriff auf einen anderen Prinzipal TGT (Ticket Granting Ticket) spezielles Ticket für einen Prinzipal, mit dem automatisch weitere Tickets angefordert werden können. Ausweis Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 8/43

Linux im AD: Active Directory Kerberos: Funktionsweise und Eigenschaften der Benutzer authentifiziert sich nur einmal beim Key Distribution Center (KDC) und erhält von diesem ein Ticket Granting Ticket (TGT). die weitere Authentifizierung erfolgt automatisch ohne Interaktion des Anwenders will der Benutzer auf einen Dienst (oder Rechner) zugreifen, so wird automatisch für diesen Dienst ein Ticket beim KDC besorgt, mit dem der Benutzer gegenüber dem Dienst authentifiziert wird ermöglicht Single Sign On (SSO) für den Nutzer auch die Authentifizierung von Diensten und Rechnern gegenüber Benutzern lässt sich erzwingen Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 9/43

Linux im AD: Active Directory Kerberos: Voraussetzungen Zeitstempel sind sicherheitsrelevanter Bestandteil des Kerberos-Protokolls synchrone Zeit auf den beteiligten Rechner ist Voraussetzung gemeinsamen Zeitserver nutzen (i.allg. Domaincontroller) Informationen für die Kerberos-Nutzung werden über DNS Service Recource Records (SRV-RRs) verteilt DNS-Server des AD nutzen (i.allg. auch der Domaincontroller) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 10/43

Linux im AD: Linux nsswitch Name Service Switch Frühere Unix-artige Systeme verwalteten Benutzerinformationen und andere Konfigurationsdaten ausschließlich in einigen festgelegten Dateien, wie z.b.: /etc/passwd unter anderem: Benutzername, uid, primäre gid, Home-Verzeichnis, Shell /etc/group Gruppenname, gid, zusätzliche Nutzer in der Gruppe /etc/hosts Auflösung IP Rechnername Bei heutigen Linux-Systemen erlaubt der Name Service Switch (nsswitch) die Bereitstellung dieser Daten aus verschiedenen Quellen, inklusive der zuvor genannten Dateien. Die Konfiguration erfolgt in /etc/nsswitch.conf. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 11/43

Linux im AD: Linux PAM Pluggable Authentication Modules eine Softwarebibliothek, die eine API für Authentifizierungsdienste zur Verfügung stellt: account Account-Verifikation (Darf der Nutzer diesen Dienst nutzen?) auth Authentifizierung (i.allg. Passwortabfrage) password Passwortänderung session Sitzungsverwaltung (Öffnen und Schließen vorbereiten) in den Konfigurationsdateien unter /etc/pam.d werden einzelnen Diensten (ssh, login, imap,... ) die zu nutzenden Module zugeordnet. Vorsicht bei Änderungen an der PAM-Konfiguration! Beim Bearbeiten der PAM-Konfiguration immer größte Vorsicht walten lassen: stets Backups anlegen und an mindestens einer Stelle als root eingeloggt bleiben, bis sichergestellt (getestet) ist, dass man sich auch wieder als root einloggen kann! Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 12/43

Linux im AD: Winbind Winbind Die Brücke zwischen den Welten Der Winbind-Dienst ist Teil des Samba-Projektes; er übernimmt immer mehr die Rolle der LSA 1 unter Windows: hält eine wiederverwendbare Verbindung zum DC offen und bietet seine Dienste lokal an; darüber läuft auch die Authentifizierung der Nutzer. Hierfür benötigt der Rechner ein Maschinenkonto im AD. kann Anmeldeinformationen cachen, so dass eine Anmeldung auch möglich ist, wenn der Domain Controller nicht erreichbar ist. Folgende Module, die den Winbindd nutzen, werden mitgeliefert: ein PAM-Modul ermöglicht die Authentifizierung gegen Kerberos im AD ein nsswitch-modul übernimmt u.a. die Namensauflösung von Benutzern und das ID-Mapping. Wichtig: der Linuxrechner sollte den DNS-Server und den Zeitserver des Active Directories nutzen (i.allg. beides der DC). 1 LSA = Local Security Authority Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 13/43

Linux im AD: Winbind ID-Mapping Problem Zuordnung Windows-Nutzer zu Unix-Nutzer schwierig, da Nutzer i.allg. nicht einzeln auf Unix-System einrichtbar (und analog Gruppen). Müssen aber wegen Dateiberechtigungen zur Verfügung stehen. Lösung Nutzer- & Gruppen-Namen dynamisch per nsswitch von DC (analog wie User-Lookup in einem LDAP) Windows-Namen und -SID werden lokal nicht verwendeten uid und gid zugeordnet (idmap). Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 14/43

Linux im AD: Winbind ID-Mapping: idmap_rid Mapping Windows-Name zu SID durch Abfrage DC einfach, Mapping SID zu uid/gid (idmap) schwierig: SID besteht aus 96-Bit Domän-ID und 32-BIT Relativ-ID (RID) uid/gid traditionell 16 Bits, heute unter Linux 31 Bits Winbind Idmap Backend rid: Verwendung der RID + fester Offset ergibt lokal verwendete uid/gid auch andere Möglichkeiten konfigurierbar: Wahl aus reservierter Range und dauerhafte Fixierung (tdb,ldap) (tdb: unterschiedliche uid/gid auf verschiedenen Rechnern, Datenbank) (ldap: zusätzlicher Verwaltungsaufwand) Aus dem AD auslesen, wenn Services-For-Unix auf DC installiert sind (eher nicht empfehlenswert) kein Mapping, sondern direkt (Windows-Name=Unix-Name) (dafür müssen alle AD-Benutzer lokal existieren) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 15/43

Linux im AD: Winbind Konfiguration in /etc/samba/smb.conf [global] realm = ADTEST.INTERN workgroup = ADTEST security = ADS ntlm auth = No winbind rpc only = Yes Daten des Active Directory template shell = /bin/bash für das nsswitch-modul allow trusted domains = No idmap backend = rid:adtest.intern=100000-199999 Achtung: andere idmap uid = 100000-199999 Syntax in Versionen 3.0-3.2 idmap gid = 100000-199999 z.b. Debian Lenny winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes winbind refresh tickets = Yes für das PAM-Modul Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 16/43

Linux im AD: Winbind Aufnahme des Linux-Rechners ins AD Anlegen eines Maschinenkontos für den Linuxrechner im AD (Kerberos host-prinzipal), so dass dieser Domänenmitglied wird: net ads join -U <Domänenadministrator> Keine Änderungen am DC nötig! Idmap Backend rid errechnet uids und gids aus den SIDs im AD andere benötigte Informationen stellt Winbind über das NSSwitch-Modul standardisiert für alle AD-Nutzer zur Verfügung (Shell, Home-Verzeichnis: /home/adtest/<adusername>) anders als beim Einsatz von LDAP oder SfU 2 müssen keine neuen Dienste auf dem Domaincontroller installiert und gepflegt werden 2 Microsofts Services for Unix, veraltet, mittlerweile nicht mehr empfohlen Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 17/43

Linux im AD: Winbind Einrichtung von NSSwitch Es muss lediglich in der NSSwitch-Konfigurationsdatei /etc/nsswitch.conf jeweils für passwd und group das Modul winbind hinzugefügt werden.... passwd: winbind compat group: winbind compat shadow: compat... Bei dieser Reihenfolge der Module (winbind compat) werden Nutzer stets zuerst im AD gesucht. warten auf Timeout, wenn Winbind nicht verfügbar ist und man sich als lokaler Nutzer einloggen will. in der Testphase lieber die Reihenfolge tauschen. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 18/43

Linux im AD: Winbind Einrichtung von PAM (bei Debian) Es gibt deutliche Unterschiede zwischen den Distributionen. Hier am Beispiel von Debian: /etc/pam.d/common-account (Account-Verifikation) account sufficient pam_winbind.so account required pam_unix.so /etc/pam.d/common-auth (Authentifizierung) auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=file auth required pam_unix.so nullok_secure use_first_pass krb5_auth Kerberos benutzen krb5_ccache... TGT holen und speichern für spätere Nutzung use_first_pass das beim vorhergehenden Modul eingegebene Passwort verwenden (für Nutzer, die nicht im AD sind) Auch hier wird zuerst Winbind befragt, so dass es zu Timeouts bei Nichtverfügbarkeit kommen kann. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 19/43

Linux im AD: Winbind Einrichtung von PAM (bei Debian) /etc/pam.d/common-password (Passwortänderung; nicht getestet) password sufficient pam_winbind.so password required pam_unix.so nullok obscure md5 /etc/pam.d/common-session (Sitzungsverwaltung) session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session required pam_unix.so Das Modul pam_mkhomedir.so bewirkt, dass ein noch nicht vorhandenes Home-Verzeichnis bei der Anmeldung automatisch angelegt wird. Besser nicht einen Windows-Share direkt als Homeverzeichnis nutzen, da: darauf keine Unix-Domain-Sockets angelegt werden können, werden aber von einigen Anwendungen benötigt (z.b. KDE) Konfigurationsdateien liegen unter Linux im Homeverzeichnis (beginnen mit einem Punkt, also unter Linux versteckt ) würde unter Windows im Profil-Verzeichnis liegen Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 20/43

Linux im AD: Winbind Einhängen der AD-Shares Zum Einhängen der Shares aus dem AD werden folgende Pakete benötigt: smbfs Mount-Programm mount.cifs und Hilfsprogramm cifs.upcall für Kerberos-Tickets keyutils Werkzeugsatz für die kernelinterne Schlüsselverwaltung, die von Dateisystemen und anderen genutzt werden kann In /etc/request-key.conf Folgendes anfügen: create cifs.spnego * * /usr/sbin/cifs.upcall %k %d create dns_resolver * * /usr/sbin/cifs.upcall %k mount.cifs holt sich nun automatisch mit dem TGT des Nutzers ein Kerberos-Ticket für den Dateiserver. Damit kann ein Share \\dc1.adtest.intern\homes vom Benutzer ohne erneute Passworteingabe wie folgt eingehängt werden: mount.cifs //dc1.adtest.intern/homes/ ~/adhomes/ -o sec=krb5i,guest,directio (directio deaktiviert Caching, sonst Probleme bei paralleler Nutzung) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 21/43

Linux im AD: Winbind Optional: SSH-Login mit Kerberos-Ticket Linux-Rechner im AD als sicher für die Weiterleitung von Kerberos-Tickets markieren (unklar, ob dies wirklich nötig ist) GSSAPI 3 für SSH aktivieren: Auf dem Server in /etc/ssh/sshd_config: GSSAPIAuthentication yes GSSAPIKeyExchange yes GSSAPICleanupCredentials yes Auf dem Client z.b. in /etc/ssh/ssh_config GSSAPIAuthentication yes GSSAPIDelegateCredentials yes Aber: im Moment noch nicht wirklich nützlich, da der NX-Client (s.u.) das noch nicht kann. Gepatchtes Putty für Textmodus geht aber. 3 Generic Security Services Application Program Interface Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 22/43

Linux im AD: Winbind Optional: Einrichtung von Kerberos nicht notwendig, aber hilfreich zur Fehlersuche In /etc/krb5.conf eintragen: [libdefaults] default_realm = ADTEST.INTERN TGT holen, anzeigen und wieder löschen: user@adtest:~$ kinit aduser@adtest.intern Password for aduser@adtest.intern: user@adtest:~$ klist -5 Ticket cache: FILE:/tmp/krb5cc_101125 Default principal: aduser@adtest.intern Valid starting Expires Service principal 08/18/09 15:30:20 08/19/09 01:30:51 krbtgt/adtest.intern@adtest.intern renew until 08/19/09 15:30:20 user@adtest:~$ kdestroy user@adtest:~$ klist -5 klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_1000) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 23/43

Linux im AD: Winbind Probleme Winbind-Dienst stürzt vereinzelt ab (insbesondere bei Nutzung der AD-Shares? genauer Grund noch unklar) Lösung: automatischer Neustart, in /usr/share/samba/panic-action unten anfügen: echo "/etc/init.d/winbind restart" at now + 1 minute Jedoch so derzeit noch Fehlermeldungen, vermutlich wegen Umgebungsvariablen; funktioniert aber Winbind (und Samba) in Debian Lenny sind sehr alt, daher eher mehr Probleme mit Windows 2008 Server zu erwarten Lösung: Winbind aus Lenny-Backports benutzen: http://www.backports.org Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 24/43

Linux im AD: Winbind mögliche Alternative: Likewise Open vor einiger Zeit als OpenSource freigegebenes alternatives Paket zur Aufnahme von Linux-Rechnern in eine AD-Domäne scheint irgendwie auf Samba zu basieren im Ubuntu-Repository, aber Registrierung für Downloads direkt von der Homepage CIFS-Server nicht frei http://www.likewise.com/products/likewise_open/ Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 25/43

NX-Terminalserver: X-Window System Das X-Window System ein Software-System und Netzwerk-Protokoll stellt Standardbaukasten zum Bau einer grafischen Benutzeroberfläche zur Verfügung. Unter anderem: Darstellung von Grafiken (Bitmaps) Zeichnen und Bewegen von Fenstern Tastatur- und Mauseingaben Aussehen und Verhalten wird bestimmt von Programm und Windowmanager Netzwerkprotokoll ist unverschlüsselt immer über ssh tunneln (ssh -X bzw. ssh -Y) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 27/43

NX-Terminalserver: X-Window System Client-Server-Modell X-Server X-Clients läuft auf dem lokalen Rechner zuständig für Grafikausgabe verarbeitet Maus- und Tastatureingaben Windowmanager und Anwendungsprogramme Bsp: KDE, Firefox, xterm, Openoffice.org können auch auf einem entfernten Rechner laufen Ein- und Ausgabe über den X-Server X-Server Monitor, Tastatur lokal X-Protokoll über ssh X-Client entfernt Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 28/43

NX-Terminalserver: X-Window System Problem: mit Toolkits (GTK, QT,... ) geschriebene Programme benötigen meist viele Roundtrips (X-Server X-Client); oft auch werden Grafiken (Knöpfe) mehrfach gezeichnet schlecht nutzbar bei hoher Latenz und/oder geringer Bandbreite der Verbindung (Modem, ISDN, DSL-Uplink): zähe Bedienung, langsamer Aufbau der Oberfläche Lösung: NX-Protokoll 4 eine Erweiterung des X-Protokolls drastische Reduzierung der Roundtrips intelligentes Zwischenspeichern (Caching) Datenkompression 4 Entwickelt von NoMachine: www.nomachine.com, Kernbibliotheken und Protokoll GPL Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 29/43

NX-Terminalserver: NX-Protokoll X-Server Monitor, Tastatur X-Protokoll über Socket nxproxy lokal: X-Client lokal NX-Protokoll über ssh nxproxy + nxagent lokal: X-Server X-Protokoll über Socket X-Client entfernt Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 30/43

NX-Terminalserver: NX-Protokoll Ein NX- Server bietet zusätzliche Funktionen: Suspend & Resume Übertragung von Audioausgabe, Nutzung lokaler Drucker und Freigaben Bilder werden komprimiert (runtergerechnet) z.t. dynamische Anpassung an vorhandene Bandbreite z.t. zentrale Verwaltung von Sitzungen Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 31/43

NX-Terminalserver: NX-Protokoll NX-Server NX-Server von NoMachine: kostenloser NX-Server max. 2 Nutzer; 10 Nutzer ab $750, mehr ab $1200 kostenloser NX-Client für Windows, Linux, Mac OS X, Solaris Funktionsweise: Einloggen auf dem Server stets als Nutzer nx mit passwortlosem ssh-key erst später mit su oder ssh Wechsel in den gewählten Nutzeraccount Ermöglicht Zusatzfunktionen (zentrale Verwaltung, geteilte Sitzungen), jedoch aus sicherheitstechnischer Sicht problematisch. Der mitgelieferte ssh-key sollte durch selbsterzeugten ersetzt werden! FreeNX Bash-Wrapper-Skripte für GPL-lizensierte Bibliotheken von NoMachine als Drop In -Ersatz für den NX-Server von NoMachine entwickelt funktioniert auch im Usermode: Nutzer loggt sich (fast) ganz normal mit ssh in seinen Account ein der NX-Server wird vom Nutzer selbst gestartet. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 32/43

NX-Terminalserver: FreeNX im Usermode Eigenschaften: kein zentraler Nutzer mit passwortlosem SSH-Key persönliche SSH-Keys können verwendet werden theoretisch auch Login mittels Kerberos-Ticket, jedoch praktisch bisher nicht realisierbar, da zu alter ssh-client in NoMachines NX-Client zur Nutzung des NX-Client von NoMachine muss dort zusätzlich ein Wrapper installiert werden. Im Folgenden wird die Einrichtung von Server und Client zur Nutzung des Usermode beschrieben. Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 33/43

NX-Terminalserver: FreeNX im Usermode Einrichtung des Servers für Usermode vorbereitetes FreeNX entpacken als /usr/local/nx4u: http://download.berlios.de/freenx/nx4u.tar.gz /usr/local/nx4/etc/node.conf nur Usermode-Authentifizierung: ENABLE_USERMODE_AUTHENTICATION="1" ENABLE_SSH_AUTHENTICATION="0" ENABLE_SU_AUTHENTICATION="0" ENABLE_USER_DB="0" ENABLE_FORCE_ENCRYPTION="1" Auf unseren Server sollte XFCE als grafische Umgebung, da leichter als Gnome und KDE; dies ist aber im NX-Client von Nomachine nicht vorgesehen, deshalb Symlink anlegen: ln -s /usr/local/startxfce4 /usr/local/bin/startkde Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 34/43

NX-Terminalserver: FreeNX im Usermode NX-Client von NoMachine mit FreeNX-Patch als Usermode-Client nutzbar auch gezielt nur einzelne Programme auswählbar (ohne komplette Umgebung) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 35/43

NX-Terminalserver: FreeNX im Usermode Einrichtung des NX-Client von NoMachine kostenlos von NoMachine herunterladbar 5, einfach zu benutzen enthält einen angepassten openssh-client (nxssh.exe resp. nxssh im Unterverzeichnis bin), dieser wird umbenannt in mxssh durch einen Wrapper ersetzt (http://download.berlios.de/freenx/) bei der Einrichtung des Accounts im NX-Client @ vor den Servernamen und @U hinten an den Nutzernamen setzen: Host: @terminalserver.adtest.intern Login: aduser@u 5 http://www.nomachine.com/download.php Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 36/43

NX-Terminalserver: FreeNX im Usermode Probleme FreeNX wird scheinbar nicht mehr weiterentwickelt und ist als Sammlung von (großen) Shellskripten wohl auch de facto kaum wartbar. Patchen des NX-Clients auf dem Client-Rechner ist nicht optimal. von anderem Linux aus evtl. Probleme mit der Tastaturbelegung Lösung: auf dem Server aktuelle keymap setzen: setxkbmap de -keycodes evdev+aliases(qwertz) \ -symbols pc+de+inet(evdev) Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 37/43

NX-Terminalserver: FreeNX im Usermode mögliche Alternativen Neatx NX-Server aus internem Google-Projekt, Usermode soll angeblich funktionieren, noch recht jung und unfertig, wird langsam entwickelt http://code.google.com/p/neatx/ TaciX NX-Server + Client vom Paketbetreuer von FreeNX in Ubuntu, basiert auf D-Bus, jung und unfertig, kaum Weiterentwicklung derzeit https://edge.launchpad.net/tacix X2go sieht interessant aus, anderer Ansatz aus Client und Server, alter Windows-Client (08/2009) nicht nutzbar, aber Neuer wohl deutlich besser (ungetestet), aktive Weiterentwicklung http://www.x2go.org OpenNX OSS-Ersatz für NX-Client von Nomachine, Usermode funktioniert scheinbar nicht, scheinbar nur sporadische Weiterentwicklung http://sourceforge.net/projects/opennx/ X2 TS kommerzieller TerminalServer, nicht weiter untersucht http://www.2x.com/terminalserver/ Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 38/43

Schlussbemerkungen: Fazit Fazit Setup nicht ganz ausgereift, aber durchaus funktionsfähig Ermöglich Remote-Zugriff auf Daten und Programme, ohne sicherheitstechnisch deutlich riskanteren Vollzugriff auf internes Netz via VPN kein zusätzlicher Aufwand für AD-Administration Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 40/43

Schlussbemerkungen: Links/Literatur Links/Literatur Kerberos-Tutorial-Reihe der ix (2007) aus dem Heise-Verlag: I Einführung in Kerberos (ix 3/2007) II Kerberisierung von Netzwerkdiensten (ix 4/2007) III Netzweites Single Sign-On (ix 5/2007) AD-Integration-Tutorial-Reihe der ix (2008): I Migration der Authentifizierung (ix 10/2008) II AD-Benutzerinformationen für unixoide Systeme (ix 11/2008) III Linux-Dienste für SSO an AD anbinden und Erweiterung auf Active Directory Forest (ix 12/2008) aus der Samba-Tutorial-Reihe der ix (2008): II Samba als AD-Mitglied (ix 4/2008) Samba Dokumentation umfassen: Manpage smb.conf und Samba-Howto http://de.samba.org/samba/docs/man/samba-howto-collection/ RRZN-Anleitung zur Einbindung von Linux ins AD: http://www.rrzn.uni-hannover.de/anl-linclient-ads.html Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 42/43

Schlussbemerkungen: Links/Literatur Links/Literatur Blog-Eintrag von Felipe Alfaro Solana zum FreeNX Usermode http://www.felipe-alfaro.org/blog/2009/01/18/ freenx-usermode-authentication-and-mac-os-x/ FreeNX 7.3.0 Freigabe-Mitteilung: http: //mail.kde.org/pipermail/freenx-knx/2008-august/007324.html RRZN-Anleitungen zu FreeNX und NX-Clients im Usermode: http://www.rrzn.uni-hannover.de/anl-nx-linserv.html http://www.rrzn.uni-hannover.de/anl-nx-client.html Robert Euhus, Linux im Active Directory, und als Terminal-Server, 18. Januar 2010 Seite 43/43