invis_server_wiki:client

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
invis_server_wiki:client [2018/03/09 08:16]
flacco [Manuelle Anbindung offline Clients mit OpenVPN]
invis_server_wiki:client [2018/07/15 15:09]
pingo [openSUSE Leap]
Zeile 96: Zeile 96:
 <​code>​ <​code>​
 invis-client:​~ # zypper ref invis-client:​~ # zypper ref
-invis-client:​~ # zypper in invisAD-client+invis-client:​~ # zypper in invisAD-client-1
 </​code>​ </​code>​
    
-Danach ​ist lediglich das Client-Integrationsscript auszuführen. sie benötigen dafür das Passwort des Domänen-Administrators und den Namen der Domäne.+Jetzt ist lediglich das Client-Integrationsscript auszuführen. sie benötigen dafür das Passwort des Domänen-Administrators und den Namen der Domäne. 
 + 
 +//​**Hinweis:​** Sollte Ihr openSUSE Leap System als Offline-Client handeln, müssen einzelne Schritte (wie weiter unten beschrieben) noch manuell vorgenommen werden. Darunter beispielsweise das Erzeugen des VPN-Clientzertifikats. Das Script **joininvis** fragt, ob es sich bei dem System um einen PC, ein Notebook oder einen "​Memberserver"​ handelt. Im Falle eines Notebooks wird openvpn automatisch installiert. Auch das weiter unten beschriebene Schript **invisconnect** ist bereits im Paket enthalten.//​
  
 <​code>​ <​code>​
Zeile 106: Zeile 108:
  
 Beantworten Sie die Fragen und das wars. Beantworten Sie die Fragen und das wars.
- 
  
 ==== Manuelle Anbindung - online Clients ==== ==== Manuelle Anbindung - online Clients ====
Zeile 132: Zeile 133:
 **[[https://​github.com/​invisserver/​invisAD-client]]** **[[https://​github.com/​invisserver/​invisAD-client]]**
  
-Für die Anbindung eines Linux-Clients an einen invis(AD)-Server empfiehlt sich aktuell die Verwendung des SSS-Daemons. Dieser ist ggf. manuell nachzuinstallieren:​+Für die Anbindung eines Linux-Clients an einen invisAD-Server empfiehlt sich aktuell die Verwendung des SSS-Daemons. Dieser ist ggf. manuell nachzuinstallieren:​
  
 **Ubuntu 16.04** **Ubuntu 16.04**
Zeile 144: Zeile 145:
 </​code>​ </​code>​
  
-**openSUSE Leap 42.1**+**openSUSE Leap 42.x**
 <​code>​ <​code>​
 linux:~ # zypper in sssd sssd-ad sssd-tools cyrus-sasl-gssapi krb5-client linux:~ # zypper in sssd sssd-ad sssd-tools cyrus-sasl-gssapi krb5-client
 </​code>​ </​code>​
- 
-//​**Achtung:​** In openSUSE Leap ist **sssd** lediglich in Version 1.11.x enthalten. Die Active-Directory Ergänzung **sssd-ad** ist erst ab Version 1.12. hinzugekommen. Wir haben eine aktuelle Version des **sssd** in unserem "​spins:​invis:​common"​ Repository. Sie müssen dieses also zunächst Ihren Repositories hinzufügen.//​ 
- 
-//​**Hinweis:​** Dies sssd-ad und sasl-gssapi Pakete werden für die Anbindung an einen invis-Classic nicht benötigt.//​ 
  
 //​**Achtung:​** Der **sss** Dienst und der auf den meisten Linux-Distributionen vorinstallierte **Name-Service-Cache-Daemon** (nscd) konkurrieren in einigen Funktionen. Daher muss **nscd** auf jeden Fall deinstalliert werden.// //​**Achtung:​** Der **sss** Dienst und der auf den meisten Linux-Distributionen vorinstallierte **Name-Service-Cache-Daemon** (nscd) konkurrieren in einigen Funktionen. Daher muss **nscd** auf jeden Fall deinstalliert werden.//
  
-**openSUSE Leap 42.1**+**openSUSE Leap 42.x**
 <​code>​ <​code>​
 linux:~ # zypper rm nscd linux:~ # zypper rm nscd
 </​code>​ </​code>​
  
-Danach ist unter dem Namen <​file>/​etc/​sssd/​sssd.conf</​file>​ eine Konfigurationsdatei für den Daemon anzulegen. Dabei gibt es je nach verwendeter invis-Server-Version Unterschiede. Schauen wir uns zunächst die klassische Variante an: +Danach ist unter dem Namen <​file>/​etc/​sssd/​sssd.conf</​file>​ eine Konfigurationsdatei für den Daemon anzulegen:
- +
-== sssd-Konfiguration invis-Server Classic == +
- +
-<​code>​ +
-[sssd] +
-config_file_version = 2 +
-services = nss,pam +
-domains = default +
- +
-[nss] +
-filter_groups = root +
-filter_user = root +
- +
-[pam] +
- +
-[domain/​default] +
-ldap_uri = ldap://​invis.invis-net.loc +
-ldap_search_base = dc=invis-net,​dc=loc +
-ldap_schema = rfc2307 +
-id_provider = ldap +
-ldap_user_uuid = entryuuid +
-ldap_group_uuid = entryuuid +
-ldap_id_use_start_tls = true +
-enumerate = true +
-cache_credentials = false +
-ldap_tls_cacertdir = /​etc/​ssl/​certs +
-ldap_tls_cacert = /​etc/​ssl/​certs/​cacert.pem +
-chpass_provider = ldap +
-auth_provider = ldap +
-ldap_user_fullname = displayName +
-#​cache_entry_timeout = 1 +
-#​refresh_expired_interval = 1 +
-</​code>​+
  
 == sssd-Konfiguration invis-Server Active Directory == == sssd-Konfiguration invis-Server Active Directory ==
Zeile 260: Zeile 224:
 <​code>​ <​code>​
 linux:~ # sudo chmod 0600 /​etc/​sssd/​sssd.conf linux:~ # sudo chmod 0600 /​etc/​sssd/​sssd.conf
-</​code>​ 
- 
-Danach wird (nur bei einem Classic Server) das Stammzertifikat der Server-Zertifizierungsstelle benötigt. Die Datei liegt ebenfalls im oben genannten Verzeichnis bereit. Sie muss lokal nach <​file>/​etc/​ssl/​certs</​file>​ kopiert werden: 
- 
-<​code>​ 
-linux:~ # sudo cp /​mnt/​invis/​shares/​service/​VPN-Clients/​cacert.pem /​etc/​ssl/​certs/​ 
 </​code>​ </​code>​
  
Zeile 294: Zeile 252:
  
 Der Debug-Level kann für die einzelnen Sektionen "​[sssd]",​ "​[nss]",​ "​[pam]"​ und "​[domain/​...]"​ auch individuell gesetzt werden. Weitere Infos zum Debug-Level sind in der Manpage des Dienstes zu finden (https://​jhrozek.fedorapeople.org/​sssd/​1.13.1/​man/​sssd.conf.5.html) Der Debug-Level kann für die einzelnen Sektionen "​[sssd]",​ "​[nss]",​ "​[pam]"​ und "​[domain/​...]"​ auch individuell gesetzt werden. Weitere Infos zum Debug-Level sind in der Manpage des Dienstes zu finden (https://​jhrozek.fedorapeople.org/​sssd/​1.13.1/​man/​sssd.conf.5.html)
 +
 == Name-Service-Switch anpassen == == Name-Service-Switch anpassen ==
  
Zeile 404: Zeile 363:
 </​code>​ </​code>​
  
-Alle gezeigten Beispiele stammen aus einer Anbindung an einen invis-Classic Server. 
 == Kerberos Konfiguration für Client-Anbindung an invis-Server ActiveDirectory == == Kerberos Konfiguration für Client-Anbindung an invis-Server ActiveDirectory ==
  
Zeile 450: Zeile 408:
  
 //​**Hinweis:​** Wenn es sich beim Client-PC um einen Dualboot-system mit Windows und Linux Betrriebssystem handelt, genügt es den Domänenbeitritt mit Windows vorzunehmen und anschließend wie zuvor gezeigt ​ eine Keytab zu generieren und in das Linux-Betriebssystems zu kopieren. Alle anderen Konfigurationsschritte müssen auf dem Linux-Client trotzdem durchgeführt werden.// //​**Hinweis:​** Wenn es sich beim Client-PC um einen Dualboot-system mit Windows und Linux Betrriebssystem handelt, genügt es den Domänenbeitritt mit Windows vorzunehmen und anschließend wie zuvor gezeigt ​ eine Keytab zu generieren und in das Linux-Betriebssystems zu kopieren. Alle anderen Konfigurationsschritte müssen auf dem Linux-Client trotzdem durchgeführt werden.//
-=== Test der Konfiguration ===+=== 3. Test der Konfiguration ===
 Mit  Mit 
  
Zeile 471: Zeile 429:
 Die nachfolgende beschriebene Vorgehensweise ist derzeit noch vollständig manuell durchzuführen und birgt durchaus Potential für Fehler. Problematisch ist vor allem die Reihenfolge der einzelnen Schritte. Die nachfolgende beschriebene Vorgehensweise ist derzeit noch vollständig manuell durchzuführen und birgt durchaus Potential für Fehler. Problematisch ist vor allem die Reihenfolge der einzelnen Schritte.
  
-=== 1. Hintergründe ===+=== Hintergründe ===
  
 Geeignet ist das folgende Setup für Notebooks die unterwegs genutzt werden sollen oder den PC im Home-Office. Geeignet ist das folgende Setup für Notebooks die unterwegs genutzt werden sollen oder den PC im Home-Office.
Zeile 485: Zeile 443:
 Damit sind die Schwierigkeiten grob umrissen. Damit sind die Schwierigkeiten grob umrissen.
  
-=== 2Vorgehensweise ===+//​**Hinweis:​** Wir gehen davon aus, dass die Einrichtung an einem PC erfolgt, der vollständig vom invis-Server Netzwerk getrennt ist, da dies alle Schwierigkeiten berücksichtigt.//
  
-Wir gehen davon aus, dass die Einrichtung an einem PC erfolgt, der vollständig vom invis-Server Netzwerk getrennt ist, da dies alle Schwierigkeiten berücksichtigt.+=== 1VPN Zugang vorbereiten ===
  
-=== VPN Zugang vorbereiten === +Auf dem invis-Server muss zunächst ein Schlüssel für die VPN-Verbindung des Clients erzeugt werden. Dazu benötigen Sie lediglich den Hostnamen des Clients, den Sie mit
- +
-Auf dem invis-Server muss zunächst ein Schlüssel für die VPN-Verbindung des Clients erzeugt werden, dazu benötigen Sie lediglich den Hostnamen des Clients, den Sie mit+
  
 <​code>​ <​code>​
Zeile 499: Zeile 455:
 auf dem Client ermitteln können. auf dem Client ermitteln können.
  
-Auf dem invis-Server ​wechseln Sie als Benutzer "​root"​ ins Verzeichnis <​file>​/etc/openvpn/ihre-domain.loc<​/file> +Die Erzeugung des Schlüssels erfolgt auf dem invis-Server ​unter Verwendung des Scripts ​//**inviscerts**//. Sie benötigen neben dem Hostnamen ​des Clients auch das Passwort Ihrer CA.
- +
-Das erzeugen ​des Schlüsseldatei läuft wie folgt ab:+
  
 <​code>​ <​code>​
-linux:/​etc/​openvpn/​ihr-domain.loc ​source ./vars +invis:inviscerts vpn
-linux:/​etc/​openvpn/​ihr-domain.loc # ./​build-key-pkcs12 clienthostname+
 </​code>​ </​code>​
  
-Im Verlauf des Schlüsselbaus werden die üblichen Fragen ​für das zugehörige Zertifikat gestellt, Sie können die Vorgabewerte jeweils mit "​Enter"​ übernehmen. Einzig die //​OraginzationalUnit//​ ist nicht mit einem Vorgabewert belegt. Sie können hier nach Belieben einen Beschreibungstext zum Client eingeben. +Das Script fragt nach einem "​Export Passwort" ​für das zu erzeugende Schlüsselpaar. Schlüssel und Zertifikat werden in einer PKCS12 Datei zusammengefasst und diese mit einem Passwort verschlüsselt. Sie sollten hier ein möglichst sicheres Passwort verwenden und dieses nur dem Inhaber des Clients nennen.
- +
-Nach Erzeugung von Schlüssel und Zertifikat werden ​beide Dateien ​in einer PKCS12 Datei zusammengefasst und mit einem Passwort verschlüsselt. Sie sollten hier ein möglichst sicheres Passwort verwenden und dieses nur dem Inhaber des Clients nennen.+
  
-Die fertige Datei finden Sie im Unterverzeichnis <​file>​keys</​file>​ unter dem Namen: <​file>​clienthostname.p12</​file>​+Die fertige Datei finden Sie im Unterverzeichnis <​file>​/​srv/​shares/​service/​VPN-Clients/​Zertifikate</​file>​ unter dem Namen: <​file>​clienthostname.p12</​file>​
  
 Diese Datei ist auf sicherem Weg (z.B. SCP) auf den Client zu übertragen. Diese Datei ist auf sicherem Weg (z.B. SCP) auf den Client zu übertragen.
  
-=== VPN Zugang herstellen ===+=== 2. VPN Zugang herstellen ===
  
 Melden Sie sich mit Ihrem lokalen Systemverwalter-Konto an und installieren Sie OpenVPN: Melden Sie sich mit Ihrem lokalen Systemverwalter-Konto an und installieren Sie OpenVPN:
Zeile 559: Zeile 510:
 Eine erfolgreiche Verbindung ist Voraussetzung für die Anbindung an die Benutzerverwaltung des invis-Server. Eine erfolgreiche Verbindung ist Voraussetzung für die Anbindung an die Benutzerverwaltung des invis-Server.
  
-=== SSSD einrichten ===+=== 3. SSSD einrichten ===
  
 Die Einrichtung des SSSD erfolgt in gleicher Weise wie im im Abschnitt "Linux Clients mit SSSD integrieren"​ beschrieben. Die Einrichtung des SSSD erfolgt in gleicher Weise wie im im Abschnitt "Linux Clients mit SSSD integrieren"​ beschrieben.
Zeile 592: Zeile 543:
 Durch das Angeben des "​Minuszeichens"​ wechseln Sie mit //**su**// in das Home-Verzeichnis des Benutzers. Testen Sie, ob es Ihnen jetzt möglich ist darin Dateien und Ordner anzulegen. Durch das Angeben des "​Minuszeichens"​ wechseln Sie mit //**su**// in das Home-Verzeichnis des Benutzers. Testen Sie, ob es Ihnen jetzt möglich ist darin Dateien und Ordner anzulegen.
  
-=== Benutzer als Systemverwalter einrichten ===+=== 4. Benutzer als Systemverwalter einrichten ===
  
 Um eine OpenVPN Verwindung aufzubauen muss der Benutzer, der es versucht über Root-Rechte verfügen, da es nur so möglich ist automatisch eine Route ins Zielnetz zu setzen. Um dies auf einem Ubuntu-System zu erreichen, muss der gewünschte Benutzer als "​sudoer"​ (Systemverwalter) geführt werden. Das geht nicht unbedingt mit den Ubuntu Systemwerkzeugen,​ da diese in unseren Tests die über SSSD verfügbaren Benutzerkonten nicht immer angezeigt haben. Um eine OpenVPN Verwindung aufzubauen muss der Benutzer, der es versucht über Root-Rechte verfügen, da es nur so möglich ist automatisch eine Route ins Zielnetz zu setzen. Um dies auf einem Ubuntu-System zu erreichen, muss der gewünschte Benutzer als "​sudoer"​ (Systemverwalter) geführt werden. Das geht nicht unbedingt mit den Ubuntu Systemwerkzeugen,​ da diese in unseren Tests die über SSSD verfügbaren Benutzerkonten nicht immer angezeigt haben.
Zeile 598: Zeile 549:
 Einfacher ist es den neuen Benutzer manuell in <​file>/​etc/​group</​file>​ in die gleichen Gruppen einzutragen,​ in denen auch der bisherige Systemverwalter Mitglied ist. Dies muss vom bisherigen Systemverwalter vorgenommen werden. (Ach wie schön ist openSUSE mit freigeschaltetem root-Konto ;-) ) Einfacher ist es den neuen Benutzer manuell in <​file>/​etc/​group</​file>​ in die gleichen Gruppen einzutragen,​ in denen auch der bisherige Systemverwalter Mitglied ist. Dies muss vom bisherigen Systemverwalter vorgenommen werden. (Ach wie schön ist openSUSE mit freigeschaltetem root-Konto ;-) )
  
-=== Abschluss ===+=== 5. Abschluss ===
  
 Sie können sich jetzt mit dem zuvor getesteten invis-Benutzerkonto am System anmelden. Dabei wird eine neue leere Desktop-Umgebung aufgebaut. Kopieren Sie entweder per SCP oder mit Hilfe eines USB-Sticks das Script //​**invisconnect**//​ vom invis-Server auf Ihren PC. Es liegt genau, wie die vorbereitete OpenVPN-Konfigurationsdatei in der Service-Freigabe unter: <​file>/​srv/​shares/​service/​VPN-Clients/​Linux</​file>​ Sie können sich jetzt mit dem zuvor getesteten invis-Benutzerkonto am System anmelden. Dabei wird eine neue leere Desktop-Umgebung aufgebaut. Kopieren Sie entweder per SCP oder mit Hilfe eines USB-Sticks das Script //​**invisconnect**//​ vom invis-Server auf Ihren PC. Es liegt genau, wie die vorbereitete OpenVPN-Konfigurationsdatei in der Service-Freigabe unter: <​file>/​srv/​shares/​service/​VPN-Clients/​Linux</​file>​
  • invis_server_wiki/client.txt
  • Zuletzt geändert: 2020/08/14 13:48
  • von ingo