Übersicht
Dies Dokument beschreibt den Weg um einen Fernzugriff auf das Kontrollsystem der Kryogenik zu ermöglichen.
- Im Kapitel Verwendung des Fernzugriffs wird beschrieben, welche Regeln eingehalten werden müssen.
Hier werden die allgemeinen DESY-Regeln und die MKS-Regeln für einen geordneten Ablauf des Fernzugriffs erläutert.Dies muss genau beachtet werden.
- Im Kapitel Technischer Hintergrund wird eben dies erläutert.
- Im Kapitel Fernzugriff in der Praxis wird die Vorgehensweise für einen Anwender beschrieben.
- Script zum Verbindungsaufbau → Fernzugriff per MKS2 Script
Verwendung des Fernzugriffs
Sicherheitsanforderungen von DESY
In diesem Kapitel geht es um die Sicherheit des DESY-Netzes selbst. Fernzugriff muss den Regeln der zentralen IT folgen. Diese können hier
http://rechnersicherheit.desy.de/fuer_anwender/externer_zugang/index_ger.html
eingesehen werden. Dort unter dem Stichwort Weiterführende Informationen werden die beiden wesentlichen Zugriffstechniken VPN und SSH-Tunnel einander gegenübergestellt, siehe:
http://rechnersicherheit.desy.de/regeln_und_empfehlungen/ssh_versus_vpn/index_ger.html
Kurzgefasst: Die Technik des SSH-Tunnels wird wegen des geringeren Sicherheitsrisikos (gegenüber VPN) vorgeschlagen und ist auch für nicht von DESY bereitgestellte Rechner einsetzbar.
Abstimmung bei mehrfachem Zugriff von außerhalb
Im Kontrollnetz werden mehrere PCs für den Fernzugriff bereitgestellt. Da sich auf diesen PCs auch mehrere User parallel anmelden können, muss eine Regel gefunden werden, damit sich auf einem PC nicht mehrere User in die Quere kommen denn generell darf auf einem PC immer nur einmal zur Zeit CSS genutzt werden.
Es stehen aktuell folgende PCs zur Verfügung, sie heißen
krykwinrdp1, krykwinrdp2, krykwinmini1, krykwinmini2
Folgendermaßen werden diese PCs genutzt:
- Der User, der aktuell Rufbereitschaft hat, nimmt stets den ersten aus der Liste.
- Wenn ein weiterer Kollege hinzugezogen werden soll, so wird dieser informiert mit dem Hinweis, den zweiten aus der Liste zu nutzen.
- Wenn weitere Kollegen eingebunden werden müssen, ist sinngemäß so weiter zu verfahren.
- Wer die Arbeit abgeschlossen hat, muss sich abmelden (
nicht nur RemoteDesktop beenden, dabei bliebe man auf dem Ziel-PC angemeldet.).
Dabei wird CSS beendet, das ist die Voraussetzung dafür, dass ein Kollege danach den PC verwenden kann. - Hinweis: Wer ‚nur gucken‘ will, kann stets auf seinen Büro-PC zugreifen, wenn dort CSS installiert ist.
Für User, die 'nur gucken' wollen, aber keinen Büro-PC haben, ist aktuell keine Zugriffs-Möglichkeit vorhanden. Einzelfälle werden individuell geregelt, dazu bitte Joerg Penning fragen.
Sicherheit bei Zugriff auf das Kontrollsystem
Es besteht die fachliche Anforderung, Fernzugriff auf das Kontrollsystem der Kryogenik generell zur Verfügung zu haben. Um Fernzugriff mittels SSH-Tunnel zu erlangen, sind folgende Voraussetzungen nötig:
- Der User muss sich via zentralem Einwahlpunkt (‚Bastion‘) per SSH einwählen können. Das können generell alle DESY-User.
- Der User muss sich auf einem im Kontrollsystem befindlichen PC mit einem für Schreibvorgänge konfigurierten User anmelden können.
Generell wird das Kontrollsystem von einem sog. funktionalen Account betrieben (User herakryo, gleichgültig ob lokaler oder Domänen-User). Das bildet die Hürde beim Anmelden innerhalb des DESY-Netzes. Mit dem zugehörigen Passwort muss also sorgfältig umgegangen werden. Generell ist die Weitergabe von Passworten nicht erlaubt, darauf wird hier noch einmal besonders hingewiesen.
Um allerdings Fernzugriff nachvollziehen zu können, wird dies nicht als ausreichend angesehen. Darum muss man sich mit seinem Domänen-User persönlich anmelden.
Um Aktionen der Anwender nachvollziehen zu können, werden Schreibvorgänge generell protokolliert (Ausnahmen bilden technische Schreibvorgänge, z.B. permanent schreibende automatische Regelungen). Inhalt eines Protokoll-Eintrags ist der User, der verwendete PC sowie der geschriebene Wert samt Zielrecord und natürlich der Zeitpunkt.
Bei Verwendung eines funktionalen Accounts ist deshalb nicht klar, welche Person hinter der Aktion steckt. Im Falle eines Fernzugriffs ist dies jedoch unmittelbar klar, da man sich persönlich angemeldet hat.
Technischer Hintergrund
User
Um zu verstehen, mit welchem User man sich anmelden muss, werden die verschiedenen User-Konzepte einmal im Überblick erläutert.
Lokaler User
Auf jedem PC kann der lokale Administrator sog. lokale User einrichten. Dieser User hat i.d.R. nur lokale Ressourcen zu Verfügung, insbesondere hat er kein H:-Laufwerk. Dieser User hat ein eigenes Passwort, welches zu diesem PC gehört. Alle Mitarbeiter von MKS-2 haben lokale Administrations-Rechte.
Namensbeispiel: krykkkr05\herakryo
Bisher wurde auf den Kontrollraum-PCs mit lokalen Usern gearbeitet. Damit sollte erreicht werden, dass auch bei Ausfall der Domänen-Controller (IT-seitig) ein Login möglich bleibt.
Domänen-User
Auf einem in der Windows-Domäne befindlichen PC kann sich ein Domänen-User mit seinem Account anmelden. Beim ersten Anmeldevorgang wird die dafür nötige Struktur auf dem PC erstellt. Dieser Account ist auf allen PCs in der Domäne gleich: Es gibt das H:-Laufwerk, per Script werden beim Login die gleichen externen Laufwerke verbunden usw.. Das Passwort ist natürlich auf allen PCs identisch. Ein Domänen-Account muss von einem Domänen-Administrator angelegt werden. Aktuell sind Markus Moeller und Helge Rickens die Domänen-Admins von MKS-2.
Namensbeispiel: WIN\herakryo
Seit geraumer Zeit ist es möglich, sich auch bei Abwesenheit des Domänen-Controllers einzuloggen. Dies machen sich Notebooks zunutze, die außerhalb von DESY ein Login erlauben. Damit entfällt die im vorigen Kapitel genannte Einschränkung. Es ist das Ziel, alle Kontrollraum-PCs auf Domänen-Accounts umzustellen und die lokalen Accounts nur noch für eine gewisse Zeit als Fallback vorzuhalten. Damit wird auch ermöglicht, das DESY-weite Software-Verteilungssystem Netinstall für die Installation von CSS zu nutzen.
Remote User
Für einen Zugriff von außerhalb wird natürlich ein nicht im DESY-Netz befindlicher PC genutzt. Auch dort muss man sich zunächst einmal anmelden. Bei dem hier vorgestellten Verfahren mittels SSH-Tunnel ist es unerheblich, mit welchem User man sich extern angemeldet hat.
Zugriffsrechte mit Channel-Access
Um einen Schreibzugriff auf einem IOC zu erlauben, prüft das Channel-Access-Protokoll die Berechtigung. Diese ist auf jedem IOC individuell konfiguriert und besteht aus einer Menge von User- und Host-Namen. Beim User ist es dabei unerheblich, ob es sich um einen lokalen oder einen Domänen-User handelt, nur der Name selbst ist relevant.
Kurzgefasst: Für den Fernzugriff arbeitet jeder mit seinem DESY-User.
VPN
Beim Zugriff mittels VPN (Virtual Private Network) wird der externe PC zu einem Teil des DESY-Netzwerks und bekommt eine DESY-interne IP-Adresse. Damit werden die üblichen Zugriffe ermöglicht (z.B. liegt das H:-Laufwerk vor und weitere externe Laufwerke). Ein PC, auf dem VPN genutzt werden soll, muss darum den DESY-Sicherheitsstandards genügen!
Auf einem per VPN eingewählten PC kann CSS ausgeführt werden. In der Praxis führt das häufiger zu Problemen, weil VPNs zusätzliche Regeln beim Routing haben kann, die den Zugriff auf Rechner, die sich in anderen DESY-Netzen befinden, unterbinden können (kurzgefasst: Im Büro geht’s, per VPN geht’s aber überraschenderweise nicht).
Kurzgefasst: Für die von MKS verwendete Technik des Fernzugriffs wird kein VPN benutzt oder benötigt.
SSH-Tunnel
Bei einem SSH-Tunnel wird eine andere Art der Verbindung genutzt, die mit einem 2-stufigen Verfahren funktioniert.
- Der PC, vor dem der User sitzt, baut zunächst eine verschlüsselte Verbindung zu einem zentralen Einwahlknoten bei DESY auf. Diese Verbindung wird für den benötigten Service und den gewünschten Zielrechner konfiguriert und als SSH-Tunnel bezeichnet.
- Nun wird der von uns benutzte Service gestartet, wir verwenden das übliche von Microsoft bereitgestellt Remote-Desktop-Programm. Damit meldet man sich auf dem gewünschten Zielrechner an.
Im Ergebnis ‚befindet‘ man sich dann auf einem Rechner im Kontrollnetz, der ohne Einschränkungen so funktioniert, als würde man davor sitzen.
Kurzgefasst: MKS verwendet für den Fernzugriff einen SSH-Tunnel und das Microsoft Remote-Desktop-Programm.
Terminal-Server
Der aktuelle Ansatz erfordert die Bereitstellung von einem Desktop-Rechner beim DESY für jeden Nutzer, der sich von außen einwählen will (dies macht eben auch die Absprachen erforderlich, siehe hier). Das ist natürlich nur bis zu einer gewissen Grenze sinnvoll. Mit Hilfe der Technik des Terminal-Servers kann eine Installation von vielen externen Usern parallel genutzt werden. Voraussetzung dafür ist die Multi-User-Fähigkeit der zu nutzenden Software, in diesem Fall also CSS. Das ist aktuell nicht gegeben.
Kurzgefasst: Wir haben aktuell keinen Terminal-Server.
Unterschiedliche Endgeräte
Die Technik des SSH-Tunnels steht auf vielen Endgeräten zur Verfügung. In Unix-Systemen ist ssh in der Regel vorhanden (in diesem Sinne sind Macs ebenfalls Unix-Systeme), auf iOS und Android gibt es geeignete Software (siehe z.B. das kostenfreie Termius). Für eine Vielzahl von Systemen stellt Microsoft eine Implementierung ihres Remote-Desktop-Clients zur Verfügung. Damit sind die technischen Voraussetzungen für den hier beschriebenen Fernzugriff erfüllt.
Das sollte aber nicht darüber hinwegtäuschen, dass damit nicht per se ein geeignetes Benutzungsmodell einhergeht. Für eine vernünftige Handhabung ist die Anpassung an die Bildschirmgröße ebenso wichtig wie die Zeiger-basierte Interaktion (Maus oder Touch, Kontext-Menü etc.). Dies ist aktuell nicht gegeben. Für einfache Kontrollzwecke können deshalb vorhandene Endgeräte genutzt werden, ein sinnvolles vollumfängliches Arbeiten ist damit nach dem jetzigen Stand der Software aber nicht möglich.
Kurzgefasst: Auf einem PC zu Hause mit großen Bildschirm funktioniert es gut, auf einem iPad oder Smartphone eher nicht.
Fernzugriff in der Praxis
Es ist grundsätzlich von IT untersagt, Usernamen und Passworte zu speichern. Diese sollen stets eingetippt werden, um Identitätsdiebstahl zu erschweren.
Anleitung von IT unter:
http://m.desy.de/sites2009/site_m/content/e262/e96318/RDPusage.pdf
Einrichtung: Tunneling/Port Forwarding
- Putty per Netinstall installieren oder aus dem Netz laden.
- Putty starten.
- Folgende Einstellungen vornehmen im Baum unter Connection → SSH → Tunnels (siehe Screenshot)
Source port: 4096
Destination: krykwinrdp1.desy.de:3389
und [Add] drücken. - Man kann weitere Konfigurationen einrichten, z.B. bei Bedarf zusätzlich
Source port: 4097
Destination: <meinPC>.desy.de:3389
- Tipp: Es sollen Portnummern ab 4096 verwendet werden.
- Folgende Einstellungen vornehmen unter Session (siehe Screenshot).
Host Name (or IP address): bastion.desy.de
- Einstellungen speichern
UnterSaved Sessions
einen Namen vergeben und [Save] zum Speichern.
Remote-Desktop: Verbindung aufbauen
- Putty starten.
- Einstellung laden. Unter den oben vergebenen Namen die entsprechenden Einstellungen laden.
- Button [Open] drücken um die SSH-Verbindung zu starten.
- Beim ersten Mal die Sicherheitswarnung bestätigen mit [Ja].
- Auf der Shell einloggen mit dem DESY Account.
Die Shell muss offen bleiben! - Remote Desktop starten und mit
localhost:
4096 oderlocalhost:
4097 verbinden - Username
WIN\<eigener User>
Dann ist man auf dem Ziel-PC angemeldet und kann mit der Arbeit beginnen.
Remote Desktop: Verbindung abbauen
Es ist unbedingt erforderlich, sich nach Beendigung der Arbeiten abzumelden, siehe Screenshot.
Es ist falsch, das Remote-Desktop-Programm einfach zu beenden. Dann bleibt die User-Session stehen, CSS läuft weiter und der PC wird unbrauchbar für die Kollegen.- Die Funktion Abmelden findet sich bei dem User-Symbol (beim Namen des aktuell angemeldeten Users).
Remote Deskopt Script
Es gibt ein Script das sämtliche Konfiguration enthält und einen einfachen Zugriff per Remote Desktop erlaubt.
Die Anleitung → Fernzugriff per MKS2 Script
Hinweise
- Es wird kein VPN benötigt.
- CSS ist nicht Multi-User-fähig, man muss es beenden. Dies wird beim Abmelden vom Ziel-PC automatisch erledigt.
- Man kann mehrere Konfigurationen in Putty speichern und damit auch auf seinen Büro-PC zugreifen.