OpenSSL

Protokoll und nützliches Werkzeug

Als Protokoll ist SSL/TLS täglich im Einsatz. Mozilla und Google haben kürzlich erklärt, dass mehr als 50 Prozent der HTTP-Verbindungen verschlüsselt aufgebaut werden. Googles Chrome soll ab 2017 sogar vor unverschlüsselten Verbindungen warnen, wenn Sie dort sensible Daten eingeben können. In unserem Security-Tipp werfen wir einen Blick hinter die Kulissen von OpenSSL und zeigen dessen vielfältige Möglichkeiten auf.
Immer mehr Unternehmen wagen den Schritt in die Cloud. Dabei schieben nur die wenigsten gleich ihre gesamte IT in die Wolke, sondern migrieren zunächst ... (mehr)

Es gibt unterschiedliche Implementierungen der verschiedenen Standards für die Erstellung von Zertifikaten und die Verschlüsselung von Daten und Netzwerkverkehr. Nach Sicherheitslücken in der Implementierung der OpenSSL Software Foundation, die bekannteste ist wohl Heartbleed, gab es zwei größere Forks: LibreSSL und BoringSSL. Die Bibliotheken implementieren mehr als 30 RFCs und Standards und bieten somit ein Werkzeug, das bei Alltagsaufgaben nützliche Dienste leistet. Unsere Beispiele verwenden die klassische OpenSSL-Implementierung, LibreSSL unterstützt die Befehle aber analog.

Viele kennen das OpenSSL-Kommandozeilenwerkzeug von der Zertifikat-Erstellung zur E-Mail- oder HTTP-Verschlüsselung. Es bietet aber noch viele weitere Funktionen, die sich in unterschiedlichen Arbeitssituationen sinnvoll nutzen lassen. In diesem Security-Tipp skizzieren wir solche Situationen und beschreiben die verwendeten Kommandos. Viele davon lassen sich beispielsweise zum Monitoring von Clients und Servern und der Überprüfung eingesetzter Zertifikate einsetzen.

Liste unterstützter Cipher-Suites

Bei der Benutzung von SSL/TLS können Sie unterschiedliche Cipher-Suites auswählen. Eine Cipher-Suite besteht aus Algorithmen zum Schlüsseltausch, zur Authentifizierung, Hash-Erzeugung und Verschlüsselung. Eine Liste der von OpenSSL unterstützten Cipher-Suites erhalten Sie mit dem Kommando »ciphers« . Möchten Sie sich auf bestimmte SSL/TLS-Versionen beschränken, können Sie die Ausgabe weiter eingrenzen. Alle TLS1.2-Cipher-Suites listen Sie durch Doppelpunkte getrennt auf mit

$> openssl ciphers 'TLSv1.2'

Da nicht alle Cipher-Suites denselben Schutzlevel bieten, sollten Sie diejenigen deaktivieren, die dem geforderten Sicherheitsniveau nicht entsprechen. Dafür können Sie die Cipher als Argumente übergeben. Server-Software, die wie Apache oder NGINX OpenSSL als Bibliothek verwendet, erlaubt meist die Einschränkung der unterstützten Cipher-Suites in der Konfiguration. Dabei bietet die Übersicht von ssllabs.com [1] einen guten Einstieg für die Auswahl sowie Best Practices.

OpenSSL für Performance-Tests nutzen

OpenSSL greift Ihnen auch unter die Arme, wenn Sie Informationen zur Performance Ihres Webservers bei der Auslieferung von SSL/TLS-verschlüsselten Inhalten benötigen. Sie können zwischen den unterschiedlichen von OpenSSL unterstützten Cipher-Suites wählen. Die Performance der TLSv1.2-Cipher beim Abruf der Indexseite von example.com erhalten Sie beispielsweise mit

$> openssl s_time -cipher 'TLSv1.2' -new -www / -connect example.com:443

Dabei können Sie statt "-new" auch "-reuse" nutzen, wenn Sie Sessions wiederverwenden möchten. Das kann die SSL-Aushandlung zwischen Browser und Server beschleunigen. Den SSL-Session-Cache können Sie zur Performance-Optimierung in der Konfiguration Ihres Webservers aktivieren.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023