TLS-Konfiguration fü den Mailversand

Uns erreichen immer häufiger Fragen, wie sich der Mailversand von verinice.PRO über TLS / STARTTLS realisieren lässt.

Dazu hier eine Kurzanleitung [HINWEIS: Ab Version 1.23 ist die Konfiguration komfortabler geworden - siehe Kommentar weiter unten.]

  1. Die bisherigen Einstellungen in der Datei veriniceserver-plain.properties behalten Ihre
    Gültigkeit. Für eine Auslieferung über Gmail beispielsweise:
veriniceserver.notification.smtp.host=smtp.gmail.com
veriniceserver.notification.smtp.port=587
veriniceserver.notification.smtp.username=vornamenachname@gmail.com
veriniceserver.notification.smtp.password=aaabbbcccddd
  1. Zusätzlich müssen Einstellungen in der Datei ‚veriniceserver-plain.xml‘ wie folgt
    vorgenommen werden. Diese liegt standardmäßig im Ordner

/usr/share/tomcat/webapps/veriniceserver/WEB-INF/classes/sernet/gs/server/spring/veriniceserver-plain.xml

(Vorsicht: diese Datei wird bei Updates überschrieben und als ‚.rpmsave‘ gesichert. Die
Settings müssen dann bei jedem Update daraus wiederhergestellt werden.)

Die nötige Änderung in veriniceserver-plain.xml besteht im Einfügen des Blocks ‚JavaMailProperties‘ wie folgt:

<!-- Mail notification infrastructure -->
<bean id="mailSender" 
	class="org.springframework.mail.javamail.JavaMailSenderImpl">
		<property name="username" value="${veriniceserver.notification.smtp.username}"/>
		<property name="password" value="${veriniceserver.notification.smtp.password}"/>
		<property name="host" value="${veriniceserver.notification.smtp.host}"/>
		<property name="port" value="${veriniceserver.notification.smtp.port}"/>

<property name="javaMailProperties">
	<props>
		<prop key="mail.transport.protocol">smtp</prop>
		<prop key="mail.smtp.auth">true</prop>
		<prop key="mail.smtp.starttls.enable">true</prop>
		<prop key="mail.debug">false</prop>
	</props>
</property>
</bean>

Nach den Änderungen muss der verinice.PRO-Server/ Tomcat neu gestartet werden.
Falls der Versand nicht funktioniert, können durch Setzen des o.g. Debug-Flags auf „true“ im Logfile (/var/log/tomcat/verinice-server.log) detaillierte Fehlermeldungen ausgegeben werden.

Troubleshooting:

  • Fehlermeldung: "No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
    • Überprüfen Sie, ob der konfigurierte Port mit dem TLS-Port des SMTP-Servers übereinstimmt.
    • Überprüfen Sie, ob die vernwendeten Protokolle übereinstimmen. Von einem Anwender erhielten wir als Lösung in seiner Umgebung den Tipp, dass das Auskommentieren folgender Algorithmen in der Datei /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre/lib/security/java.security das Problem löste:
#jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
#    DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
#    include jdk.disabled.namedCurved
2 „Gefällt mir“

Ungeachtet der Tatsache, dass es in der hier abgebildeten config-datei mit an Sicherheit grenzender Wahrscheinlichkeit um einen Tippfehler handelt,. und der Parameter mail.smtp.starttls.enable heißen muss, habe ich das problem nach langem hin und hersuchen, dadurch gelöst, dass ich (verinice appliance centos 7) den lokalen postfix konfiguriert habe und im postfix meine relayserver einstellungen vorgenommen habe (dessen fehlermeldungen machen es mir einfacher)

Zur Nutzung des lokalen Postfix mussten neben den üblichen Config-Anpassungen, noch folgende Module nachinstalliert werden damit TLS funktioniert
yum install cyrus-sasl
yum install cyrus-sasl-plain cyrus-sasl-md5 cyrus-sasl-ntlm

Hier muss es natürlich „starttls“ heissen - Danke für den Hinweis!

Ab Version 1.23 ist die Konfiguration einfacher geworden. Es ist nicht mehr länger nötig, die XML-Datei zu bearbeiten. Alle Einstellungen können direkt in der Datei ‚veriniceserver-plain.properties‘ vorgenommen werden wie folgt:

  1. Die bisherigen Einstellungen in der Datei veriniceserver-plain.properties behalten Ihre
    Gültigkeit. Zusätzlich können die nötigen Einstellungen für den TLS Versand hier vorgenommen werden. Für eine Auslieferung über Gmail beispielsweise:
veriniceserver.notification.smtp.host=smtp.gmail.com
veriniceserver.notification.smtp.port=587
veriniceserver.notification.smtp.username=vornamenachname@gmail.com
veriniceserver.notification.smtp.password=aaabbbcccddd
veriniceserver.notification.smtp.auth=true
veriniceserver.notification.transport.protocol=smtp
veriniceserver.notification.starttls.enable=true
veriniceserver.notification.mail.debug=false

Nach den Änderungen muss der verinice.PRO-Server/ Tomcat neu gestartet werden.
Falls der Versand nicht funktioniert, können durch Setzen des o.g. Debug-Flags auf „true“ im Logfile (/var/log/tomcat/verinice-server.log ) detaillierte Fehlermeldungen ausgegeben werden.

Troubleshooting / Fehlercodes: siehe ursprünglicher Forumsbeitrag.

1 „Gefällt mir“