Wissen Sie, was Ihre Infrastruktur im Innersten zusammenhält?

Cloud, DevOps, Dateitransfer, Remote Administration, Big Data – was haben diese Begriffe alle gemeinsam? Marketingsprech? Auch, aber nicht das Entscheidende. Es geht um Ihre Infrastruktur, genauer gesagt, um eines der wichtigsten Protokolle dahinter: SSH oder auch secure shell.

SSH ist erst einmal ein Protokoll und ein Stück Software, das vor gut 20 Jahren das Licht der Welt erblickt hat, um ein Ersatz für die unsicheren Protokolle telnet und ftp zu bieten. So weit, so unspektakulär. Durch die mittlerweile allerdings erhebliche Verbreitung (es gibt kaum eine Linux/Unix-Distribution ohne ssh) ergeben sich allerdings Einsatzszenarien, die man sich damals kaum vorgestellt hat.

In der Cloud werden in Windeseile virtuelle Maschinen aufgebaut und mit Software versorgt. Was nutzen die Skripte, die dies bewerkstelligen? SSH!

DevOps, also die einfache und schnelle Verteilung von Software und Konfigurationen in Netzwerken wird durch Tools wie Ansible oder Puppet ermöglicht. Und die nutzen als Unterbau? SSH!

Dateien müssen verschlüsselt übertragen werden, oft nutzt man dafür SFTP. Als Protokoll setzt dies auf? SSH!

Server in weltweit verteilten Netzwerken sollen einfach und zentral verwaltet werden. Also verbindet sich der Administrator remote  von einer Basis aus auf die Maschinen. Software? SSH!

Unternehmen sammeln Massen von Daten (Big Data), um sie beispielsweise in Rechnerclustern mit Hadoop auszuwerten. Wieder spielt SSH eine Rolle!

Gemeinsam mit Christian Kreß arbeite ich bei inovasec daran, dass diese Strukturen transparent und sicher bleiben. Wenn Sie besseren Überblick in Ihrem Netz gewinnen wollen, dann sprechen Sie mit uns! Wir freuen uns jetzt schon darauf.

Netzwerke durch Visualisierung analysieren

Aktuell arbeite ich gemeinsam mit Christian Kreß von Inovasec an einem Projekt, bei dem es darum geht, die Verbreitung von SSH Schlüsseln in einem Unternehmensnetzwerk zu untersuchen. Ein absolut spannendes Thema, bei dem sich jeden Tag neue interessante Gesichtspunkte auftun. Aktuell geht es beispielsweise um die Frage, wie die einzelnen Dienste, die auf den Rechnern installiert sind, miteinander kommunizieren. Die reinen Textdaten sind zwar aussagekräftig, aber das Bild ist dem Kunden nur sehr schwer zu vermitteln.

Weiterlesen

SSH Policy in a nutshell

Aktuell arbeite ich in zwei Projekten mit dem großartigen Kollegen Christian Kreß von Inovasec zusammen. Für mich ein absolut spannendes Gebiet – Sicherheit, Vertraulichkeit und Transparenz im Zusammenhang mit SSH.

In Vorbereitung für einen Workshop beim Kunden hatten wir letztens einen sehr konstruktiven Tag, an dem wir sozusagen fast nebenbei ein tolles Dokument generiert haben: Weiterlesen

HowTo: git mit spezifischem SSH-Schlüssel unter Windows nutzen

Manchmal ist die Aufgabe, die vor einem liegt, komplizierter als gedacht. So auch dieses Mal…

Eigentlich wollte ich mir nur mal eben schnell aus dem git-Repository eines Kunden ein Projekt clonen, einfach an sich dachte ich. Aber die spezifische Konstellation, die genutzt wird, macht es etwas aufwändiger. Die Eckdaten:

  • Ich nutze Windows als OS auf meiner Entwicklungsmaschine
  • Die Verbindung sollte über SSHerfolgen
  • Authentifizierung über SSH-Schlüssel ist gewünscht

Zuerst also von der offiziellen Seite (https://git-scm.com) git installiert. Lief problemlos. Weiterlesen

Kommandozeilen-SSH für Windows … nicht ganz einfach

Den letzten Monat über habe ich für einen Kunden im IT-Security-Sektor gearbeitet und musste dabei feststellen, dass es nicht ganz einfach ist, mit einem Windows-Rechner in die SSH-Welt einzutauchen. Klar, putty kennt jeder und das Programm tut auch , was es soll. SFTP kann man mit WinSCP machen, aber wirklich Spaß macht das nicht.

Als ich dann noch für eine Testumgebung Vagrant aufgesetzt habe, und feststellen musste, dass „vagrant ssh“ auf einer Windows-Maschine nicht ohne Weiteres funktioniert, habe ich mich auf die Suche gemacht. Es muss doch einen brauchbaren (vorzugsweise kostenlosen) SSH-Client für die Windows-Kommandozeile geben, der einfach so, wie unter einem beliebigen Linux funktioniert.

Die gute Nachricht: gibt es, muss man nur finden und richtig installieren.

Zuerst mal „ssh commandline windows“ gesucht und auf diese Seite hier gestoßen: http://sshwindows.sourceforge.net/. Klingt ganz ok, ist ein Port von OpenSSH 3.8p1 von 2009 mit einer minimalen Cygwin-Installation. Kann man wahrscheinlich verwenden, und daher mal runtergeladen. Auf den empfohlenen Links der Downloadseite habe ich dann noch etwas gesehen. Ebenfalls SSH for Windows, also mal angeklickt. Und siehe da, das gleiche in grün, nur mit OpenSSH 5.3p1 und MSI-Installer. Nicht schlecht und immerhin von 2013. Also den mal geladen und installiert, das geht wie folgt:

  • MSI herunterladen
  • Rechtsklick und Eigenschaften anwählen
  • Reiter „Kompatibilität“ wählen und Programm im Kompatibilitätsmodus für vorherige Windows-Version ausführen. Macht man das nicht, läuft der Installer zwar (wohl korrekt) durch, liefert aber am Ende eine unschöne Fehlermeldung.

Kompatibilitätsmodus

  • Nach der Installation den Pfad anpassen: Windows-Taste drücken und „pfad“ eingeben. In der folgenden Auswahl „Umgebungsvariablen für dieses Konto anpassen“ anklicken:

Startmenü

  • Danach bei den Systemvariablen „Path“ suchen, doppelklicken und hinten mit Semikolon getrennt den kompletten Pfad zur SSH-Installation eintragen. Bei mir ist das „C:\Program Files (x86)\OpenSSH for Windows\bin“. Mit OK bestätigen und Rechner neu starten oder abmelden, anmelden.
  • Ab sofort hat man in der Kommandozeile SSH zur Verfügung. „Vagrant ssh“ klappt dann übrigens auch.

SSH in der Kommandozeile

 

Kleine Nebenbemerkung. Ja, die Version ist auch nicht gerade taufrisch und vor allem die OpenSSL-Version gibt auch noch Anlass zur Sorge, aber bisher habe ich nichts aktuelleres gefunden. Für Tipps bin ich dankbar. Vielleicht erbarmt sich ja auch jemand mit mir und kompiliert mal eine aktuelle OpenSSH-Version für Windows.

Waidner IT Solutions