Skip to content

SSLyze - SSL Server Einstellungen per Kommandozeile überprüfen

Die richtigen SSL/TLS Einstellungen für Server zu finden ist nicht immer leicht. Eine etablierte Prüfvariante wird von SSL Labs gestellt. Auf deren Webseite können Server auf Herz und Nieren geprüft werden und bekommen im Optimalfall ein A+ Rating, wenn Techniken wie beispielsweise HTTP Strict Transport Security aktiv sind.

Seit kurzen stellt Qualys mit ssllabs-scan ein Tool auf Github zur Verfügung, welches einen Server Test via Kommandozeile erlaubt. Das Tool basiert auf der vorhandenen Technik und greift somit auch immer auf die Qualys Server zurück.

Als Alternative bietet sich das ebenfalls etablierte Phyton Script SSLyze an. Anders als ssllabs-scan unterstützt der SSL Scanner bereits SMTP, XMPP, LDAP, POP, IMAP, RDP und FTP und steht auch für Windows Nutzer zur Verfügung (Download).

SSLyze unter Ubuntu Server 14.04 verwenden

Installation

wget https://github.com/nabla-c0d3/sslyze/releases/download/release-0.10/sslyze-0_10-linux64.zip
unzip sslyze-*
cd sslyze/

Alle Funktionen anzeigen

./sslyze.py --help

Usage: sslyze.py [options] target1.com target2.com:443 etc...

Normaler Scan

Prüfung auf die Protokolle SSLv2.0, SSLv3.0, TLS1.0/1.1/1.2 Heartbleed, CipherSuites und andere Einstellungen.

Die reguläre Methode fast quasi eine Befehlskette zusammen "--sslv2 --sslv3 --tlsv1 --reneg --resum --certinfo=basic --hide_rejected_ciphers --http_get"

./sslyze.py --regular url.de:443

REGISTERING AVAILABLE PLUGINS
 -----------------------------
  PluginSessionRenegotiation
  PluginCompression
  PluginSessionResumption
  PluginHSTS
  PluginOpenSSLCipherSuites
  PluginChromeSha1Deprecation
  PluginCertInfo
  PluginHeartbleed

 CHECKING HOST(S) AVAILABILITY
 -----------------------------

   url.de:443                        => 127.0.0.1:443

 SCAN RESULTS FOR url.DE:443 - 127.0.0.1:443
 ---------------------------------------------------

  Deflate Compression:
      OK - Compression disabled

  Session Renegotiation:
      Client-initiated Renegotiations:   OK - Rejected
      Secure Renegotiation:              OK - Supported

  OpenSSL Heartbleed:
      OK - Not vulnerable to Heartbleed

  Session Resumption:
      With Session IDs:                  OK - Supported (5 successful, 0 failed, 0 errors, 5 total attempts).
      With TLS Session Tickets:          OK - Supported

  Certificate - Content:
      SHA1 Fingerprint:                  xxxxxxxxxxxxxxxx
      Common Name:                       url.com
      Issuer:                            url Internet xxxxxxxxx G2
      Serial Number:                     xxxxxxxxxxxxx
      Not Before:                        
      Not After:                         
      Signature Algorithm:               sha1WithRSAEncryption
      Key Size:                          2048 bit
      Exponent:                          xxxxxx (0x10001)
      X509v3 Subject Alternative Name:
 * Certificate - Trust:
      Hostname Validation:               FAILED - Certificate does NOT match url.de
      "Mozilla NSS - 08/2014" CA Store:  OK - Certificate is trusted
      "Microsoft - 08/2014" CA Store:    OK - Certificate is trusted
      "Apple - OS X 10.9.4" CA Store:    OK - Certificate is trusted
      "Java 6 - Update 65" CA Store:     OK - Certificate is trusted
      Certificate Chain Received:        ['url.com', ']

  Certificate - OCSP Stapling:
      NOT SUPPORTED - Server did not send back an OCSP response.

  SSLV2 Cipher Suites:
      Server rejected all cipher suites.

...........

Mit dem Zusatz "--hide_rejected_ciphers" lassen sich abgelehnte CipherSuites ausblenden, was die Übersicht erhöht.

Scan auf SHA-1

Eine ebenso praktische Scanvariante ist der Test auf SHA-1. Die Hasfunktion SHA-1 wird beispielsweise von Google Chrome inzwischen als unsicher gemeldet.

--chrome_sha1 url.de:443

 REGISTERING AVAILABLE PLUGINS
 -----------------------------

  PluginSessionRenegotiation
  PluginCompression
  PluginSessionResumption
  PluginHSTS
  PluginOpenSSLCipherSuites
  PluginChromeSha1Deprecation
  PluginCertInfo
  PluginHeartbleed

 CHECKING HOST(S) AVAILABILITY
 -----------------------------

  url.de:443                        => xxxxxxxxx:443

 SCAN RESULTS FOR url.DE:443 - xxxxxxxx:443
 ------------------------------------------------

  Google Chrome SHA-1 Deprecation Status:
      OK - Certificate chain does not contain any SHA-1 certificate.

Prüfung auf  HTTP Strict Transport Security HSTS Unterstützung

Auch das bereits oben erwähnte HSTS lässt sich überprüfen.

./sslyze.py --hsts url.de:443

Test auf StartTLS für SMTP oder XMPP Server

Gleiches gilt für XMPP oder SMTP Server.

./sslyze.py --starttls=smtp url

./sslyze.py --starttls=xmpp url

Zu den genannten Befehlen gibt es noch zig weitere Möglichkeiten SSL Server auf Konfiguration zu testen. Hier sei für alle Funktionen auf die Hilfe verwiesen, welche alle Befehle auflistet und erklärt. (Die Scanausgaben wurden zugunsten der Übersicht gekürzt).

Fazit

Anders als SSL Lab zeigt SSLyze kein Ranking und macht keine Überprüfung auf Browserunterstützung, dafür werden mehr Protokolle unterstützt. Je nach Einsatzgebiet werden wohl beide Tools benötigt. Auf einem Server ohne Browser und Co bietet sich SSLyze natürlich an.

Das Tool ist auf gängigen Linux Distributionen wie Kali Linux, die für Pentesting und andere Sicherheitschecks verwendet werden, mit an Bord.

Eine Übersicht, auf welche Wege SSL/TLS Cipher Suites gestetet werden können, bietet Oswap.

Wie installiere ich den aktuellen Nano Editor 2.4.0 auf Ubuntu?

Gestern wurde die neue Version des Open Source Editors Nano veröffentlicht. Dieser bietet neben Quellcode Analyse nun eine Undo/Redo Funktion. Der Changelog ist sehr lang, da die Entwicklung mehrere Jahre in Anspruch genommen hat. Changelog

               :::                         The                   
     iLE88Dj.  :jD88888Dj:                                           
   .LGitE888D.f8GjjjL8888E;        .d8888b.  888b    888 888     888 
   iE   :8888Et.     .G8888.      d88P  Y88b 8888b   888 888     888 
   ;i    E888,        ,8888,      888    888 88888b  888 888     888 
         D888,        :8888:      888        888Y88b 888 888     888 
         D888,        :8888:      888  88888 888 Y88b888 888     888 
         D888,        :8888:      888    888 888  Y88888 888     888 
         D888,        :8888:      Y88b  d88P 888   Y8888 Y88b. .d88P 
         888W,        :8888:       "Y8888P88 888    Y888  "Y88888P"  
         W88W,        :8888:                                         
         W88W:        :8888:      88888b.   8888b.  88888b.   .d88b. 
         DGGD:        :8888:      888 "88b     "88b 888 "88b d88""88b
                      :8888:      888  888 .d888888 888  888 888  888
                      :W888:      888  888 888  888 888  888 Y88..88P
                      :8888:      888  888 "Y888888 888  888  "Y88P" 
                       E888i                                         
                       tW88D             Text Editor Homepage     

Wer einen Ubuntu Server 14.04 im Betrieb hat, wird wohl Version 2.2.6 in Verwendung haben. Denn diese wird beim klassischen "apt-get install nano" auf dem System verankert. Ein Update auf die aktuelle Version stellt allerdings kein Problem dar.

Aktuellen Nano Editor 2.4.0 auf Ubuntu Server installieren

Prüfen der installierten Version

dpkg -l |grep nano
      ii  nano 2.2.6-1ubuntu1 amd64  small, friendly text editor inspired by Pico

Installieren der Version 2.4.0 des Nano Editors

sudo wget http://www.nano-editor.org/dist/v2.4/nano-2.4.0.tar.gz

sudo apt-get build-dep nano

sudo tar xvfz nano-2.4.0.tar.gz

cd nano-2.4.0/

sudo ./configure

sudo make

sudo make install

Beim Öffnen des Editors mit dem Befehl "nano" zeigt die Versionsnummer nun 2.4.0 an. Auch die neuen Befehle lassen sich in der unteren Befehlsleiste ausmachen.

nano.2.4

Wie kann ich den Standardeditor in Ubuntu ändern?

Das Thema hatte ich zwar schon einmal ausführlich behandelt (siehe Artikel), aber ein kurzer Hinweis auf den Befehl schadet ja nicht.

Möglichkeit 1

sudo update-alternatives --config editor

Möglichkeit 2

sudo select-editor

Was sind die wichtigsten Tastaturbefehle für Nano?

Damit der Einstieg leicht fällt hier noch eine kurze Auflistung der wichtigsten Tastaturbefehle des Nano Editors.

Undo: Alt+U

Redo: Alt+E

Speichern: Srg+O

Zeile entfernen: Strg+K

Zeile einfügen: Strg+U

Momentane Position: Strg+C

Suche: Strg+W

Weitersuchen: Alt+W

Hilfe: Strg+G

 

 

Linux Dash - Schlanke Server Überwachung auf Ubuntu installieren

Es muss nicht immer Nagios, Icinga und Co sein. Um alle Daten eines Serversystems zu überwachen reichen einfachere Mittel.
Wenn auf den eigenen Systemen sowieso Apache oder Nginx installiert ist, reicht es oft Linux Dash zu verwenden.
Das Github Projekt zeigt die wichtigsten Linux Systemdaten auf einer eigenen Webseite an.

Dazu zählen unter anderem Benutzer, Prozesse, Laufzeit, RAM-Auslastung, Swap-Nutzung, Festplattenauslastung oder Netzwerkdaten.
Durch die schmale Programmierleistung eignet sich das Tool ebenfalls für  Raspberry Pi oder Banana Pi.

linux-dash

Die Server Übersicht ist recht schnell installiert vorausgesetzt ein LAMP Server ist bereits installiert und mit TLS konfiguriert (siehe Artikel)
Referenzsystem für die folgende Anleitung ist wie immer ein Ubuntu Server 14.04.

Linux Dash - Server Überwachung auf Ubuntu installieren

Benötigte Pakete installieren

sudo apt-get install git apache2-utils

Linux Dash herunterladen

cd /var/www/html
git clone https://github.com/afaqurk/linux-dash.git
sudo service apache2 restart

Im Prinzip könnte hier schon abgebrochen werden, da unter https://localhost/linux-dash die Server Übersicht bereits abrufbar ist.
Um das System abzusichern ist allerdings die Konfiguration von htaccess notwendig, da Linux Dash von Haus aus keine Nutzer Authentifizierung mitbringt.

Htaccess für Linux Dash aktivieren

sudo nano /etc/apache2/sites-available/default-ssl.conf

    <Directory /var/www/html/linux-dash>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

sudo nano /var/www/html/linux-dash/.htaccess

    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /var/www/html/linux-dash/.htpasswd
    Require valid-user

Htaccess Benutzer anlegen

sudo htpasswd -c /var/www/html/linux-dash/.htpasswd user

    New password:
    Re-type new password:
    Adding password for user user

sudo service apache2 restart

Troubleshooting

htpasswd: command not found

Die apache2-utils wurden nicht installiert.

Fazit

Linux Dash bietet für interne Server das passende Werkzeug, um wichtige Serverdaten regelmäßig abzufragen. Durch die schlanke Oberfläche lassen sich wichtige Kennziffern schnell erkennen und eventuelle Probleme meistern.

Gimp Magazin Numero 10 - HDR Bilder im März

Es ist schon wieder ein paar Tage her, als ich das letzte Mal auf eine neue Ausgabe des GIMP Maganzins hingewiesen habe, ganze 4 Ausgaben später will ich dies wieder einmal tun.

Seit Issue 6 erscheint das offene Magazin wie berichtet jeden Monat. In der neuen Ausgabe #10 befindet sich unter anderem ein Interview mit dem Landschafts- und Naturfotograf Christian Schroll. Zusätzlich dazu ist eine Anleitung für HDR (High Dynamic Range) Bilder enthalten.

GIMP-Magazine

Zu Empfehlen ist außerderm das Typo Tutorial aus Issue 9.

Wie immer kann das Magazin als PDF heruntergeladen oder auf Issuu online abgerufen werden.

Gimp