Um den Sicherheitsstandard in der gesamten Umgebung hoch zu halten ist auch die vRealize Log Insight Agent SSL Connection ein großes Thema. Durch die Agenten werden auf den jeweiligen Systemen zum Teil auch sehr sensible Daten übertragen.
Die Agent Kommunikation ist eigentlich eine TLSv.1.2 gesicherte Verbindung und nicht mehr SSL, wie es die Dokumente und die Bezeichnungen der Parameter oberflächlich vorgaukeln. Hier der Auszug aus der vRealize Log Insight Agent 4.0 Doku der das klarstellt:
vRealize Log Insight-Agenten kommunizieren über TLSv.1.2. SSLv.3/TLSv.1.0 ist zur Erfüllung von Sicherheitsrichtlinien deaktiviert.
Zur Verifizierung habe ich das noch zusätzlich mit Tool testssl.sh geprüft und dabei festgestellt, dass TLS 1.0 dennoch aktiviert ist:
Mit dem Microsoft Network Monitor ist dann aber die TLS 1.2 Kommunikation des Agenten zu erkennen:
In der Doku ist das also etwas missverständlich ausgedrückt. TLS 1.0 ist zwar auf der Appliance aktiv, die vRealize Log Insight Agent SSL Connection verwendet aber TLS 1.2.
Zur weiteren Steigerung der Sicherheit könnte man noch komplett TLS 1.0 deaktivieren. Hierzu bitte den VMware KB 2146305 beachten: How to disable TLS v1.0 in vRealize Log Insight
Standard Konfiguration:
Nach der Deaktivierung von TLS 1.0:
Client Kompatibilität ohne TLS 1.0:
vRealize Log Insight Agent SSL Connection konfigurieren
4.0 Default Konfiguration bezüglich SSL:
; SSL usage. Default: ;ssl=yes ; Example of configuration with trusted CA: ;ssl=yes ;ssl_ca_path=/etc/pki/tls/certs/ca.pem
Mehr Details zu den Neuerungen des Agents 4.0 findet man in dem Artikel Log Insight 4.0: Agent Enhancements von Steve Flanders.
Auszug der erweiterten Agent Konfigurationsparameter bezüglich SSL Verbindungen:
Quelle: Konfigurieren der SSL-Parameter für vRealize Log Insight-Agenten
Wenn alle Clients auf vRealize Log Insight Agent SSL Connection umgestellt sind lässt sich final auch noch komplett die SSL-Verbindungen erzwingen.
Leider ist es aber aktuell nicht so einfach sicherzustellen, dass jeder Agent SSL verwendet:
- Keine Anzeige in der GUI (Enhancement Request: Agent SSL State in Agent Overview)
- Das Einsammeln der Agent Logs durch den Agent selbst ist nicht unterstützt (Aber möglich: Monitoring Log Insight agent logs using Log Insight agent)
Appliance Zertifikat
Ich verwende hierzu ein Zertifikat einer zweistufigen Windows CA – root CA offline.
Zur einfachen Handhabung habe ich das Zertifikat auf den FQDN des primären VIP der Appliance ausgestellt und den FQDN des Cluster Nodes als Subject alternative Name (SAN) hinzugefügt.
Das Zertifikat wird als pem File in er Administration UI eingespielt. Zum erstellen dieser Files verwende ich das Tool XCA.
Anforderungen an das pem File aus der Administration UI – SSL Configuration:
Requirements for the custom certificate file:
- The certificate file contains both a valid private key and a valid certificate chain.
- The private key is generated by the RSA or the DSA algorithm.
- The private key is not encrypted by a pass phrase.
- If the certificate is signed by a chain of other certificates, all other certificates must be included in the certificate file that you plan to import.
- All the certificates and the private key that are included in the certificate file must be PEM-encoded. DER-encoded certificates and private keys are not supported.
- All the certificates and the private key that are included in the certificate file must be in the PEM format. Certificates in the PFX, PKCS12, PKCS7, or other formats are not supported.
Weiterführende Informationen sind in der vRealize Log Insight 4.0 Doku zu finden: Installieren eines benutzerdefinierten SSL-Zertifikats
Linux Agent
root CA Zertifikat auf dem System ablegen:
mkdir -p /etc/pki/tls/certs/ vi /etc/pki/tls/certs/MY-CA_1.pem
Anschließend nun noch das pem File mit dem root CA Zertifikat und eventuell den Intermediates füllen. Ich verwende zum Erstellen dieser Files wieder das Tool XCA.
Als Pfad habe ich den in der vRealize Log Insight default Konfiguration vorgeschlagenen gewählt.
Agent Konfiguration anpassen:
Ich gehe hier von einem Update Szenario aus. wenn der Agent ganz neu installiert wird, sollte erst der Agent installiert werden und dann die vRealize Log Insight Agent SSL Connection konfiguriert werden.
vi /var/lib/loginsight-agent/liagent.ini
Agent updaten:
#CentOS, SLES, etc.: rpm -U VMware-Log-Insight-Agent-4.0.0-4549831.noarch.rpm #Debian, Ubuntu, etc.: dpkg --install vmware-log-insight-agent_4.0.0-4549831_all.deb
Log kontrollieren:
Das Log ist unter /var/log/loginsight-agent/ zu finden.
cat /var/log/loginsight-agent/liagent_2016-12-22_12.log
Windows Agent
Hier gibt es meistens die komfortable Situation, dass das root Zertifikat an alle Domänen Mitglieder verteilt wird. Somit ist das Zertifikat ohne zusätzliche Konfiguration für den Agent vertrauenswürdig.
Domänen Mitglieder
Da das Zertifikat bereits vertrauenswürdig ist, muss nur SSL aktiviert werden und als Ziel der korrekte FQDN verwendet werden.
Auszug aus der Agent Konfiguration:
Pfad: „C:\ProgramData\VMware\Log Insight Agent\liagent.ini“
Nicht Domänen Mitglieder
Bei nicht Domänen Mitgliedern muss manuell dafür gesorgt werden, dass das Zertifikat für die Agent Kommunikation vertrauenswürdig ist.
Dafür gibt es zwei Varianten:
- Das root CA Zertifikat zu den Vertrauenswürdige Root CA`s des Systems hinzufügen
- In der Konfiguration auf das pem File verweisen, wie bei den Linux Systemen
Ich bevorzuge definitiv die erstere Variante – das root CA Zertifikat hinzufügen.
Vertrauenswürdige Root CA`s:
Konfiguration mit pem File:
ssl=yes ssl_ca_path=C:\ProgramData\VMware\Log Insight Agent\cert\MY-CA_1.pem