I just installed OX and have an issue sending mails. I've disabled SSLv3 on my Postfix Server (Poodle Attack mitigation). Is it possible to prevent OX from using SSLv3?
Edit: I found out about property”com.openexchange.smtp.ssl.protocols” in file ’smtp.properties’, but setting it to TLSv1 or TLSv1.2 doesn't solve my problem. Here is the relevant part of my postfix configuration:
I found the issue: The problem was the cyphersuite... seems like my JAVA Engine on Debian 8.0 only supports SHA cyphers, which I had disabled in the Postfix configuration:
from: http://localhost:8009/stats/diagnost...m=ciphersuites
Any idea howto get stronger cyphers into OpenJDK on Debian 8?
Code:
Sep 26 11:06:44 twinkie postfix/submission/smtpd[27173]: connect from ox.petzsch.eu[78.46.88.52] Sep 26 11:06:44 twinkie postfix/submission/smtpd[27173]: disconnect from ox.petzsch.eu[78.46.88.52] Sep 26 11:06:45 twinkie postfix/submission/smtpd[27173]: connect from ox.petzsch.eu[78.46.88.52] Sep 26 11:06:45 twinkie postfix/submission/smtpd[27173]: SSL_accept error from ox.petzsch.eu[78.46.88.52]: -1 Sep 26 11:06:45 twinkie postfix/submission/smtpd[27173]: warning: TLS library problem: error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared cipher:s3_srvr.c:1349: Sep 26 11:06:45 twinkie postfix/submission/smtpd[27173]: lost connection after STARTTLS from ox.petzsch.eu[78.46.88.52] Sep 26 11:06:45 twinkie postfix/submission/smtpd[27173]: disconnect from ox.petzsch.eu[78.46.88.52]
Code:
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3 smtp_tls_mandatory_protocols = !SSLv2 !SSLv3 smtp_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2 !SSLv3 # TLS Server smtpd_tls_exclude_ciphers = RC4, aNULL, MD5, SHA # TLS Client smtp_tls_exclude_ciphers = RC4, aNULL, MD5, SHA
Code:
com.openexchange.exception.OXException: smtp-3015 Categories=USER_INPUT Message='The SMTP server twinkie.petzsch.eu cannot be accessed using a secure SSL connection for user markus@petzsch.eu. Please change configuration accordingly.' exceptionID=2081467534-16
com.openexchange.exception.locale: de_DE
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1989)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1096)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1342)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1369)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1353)
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:598)
at com.sun.mail.util.SocketFetcher.startTLS(SocketFetcher.java:525)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:2058)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:709)
at javax.mail.Service.connect(Service.java:366)
at com.openexchange.smtp.AbstractSMTPTransport.connectTransport(AbstractSMTPTransport.java:601)
at com.openexchange.smtp.AbstractSMTPTransport.transport(AbstractSMTPTransport.java:716)
at com.openexchange.smtp.AbstractSMTPTransport.sendMimeMessage(AbstractSMTPTransport.java:1068)
at com.openexchange.smtp.AbstractSMTPTransport.sendMailMessage(AbstractSMTPTransport.java:923)
at com.openexchange.smtp.DefaultSMTPTransport.sendMailMessage(DefaultSMTPTransport.java:102)
at com.openexchange.mail.MailServletInterfaceImpl.sendMessages(MailServletInterfaceImpl.java:3190)
at com.openexchange.mail.json.actions.NewAction.performWithUploads(NewAction.java:434)
at com.openexchange.mail.json.actions.NewAction.perform(NewAction.java:184)
at com.openexchange.mail.json.actions.AbstractMailAction.perform(AbstractMailAction.java:226)
at com.openexchange.ajax.requesthandler.DefaultDispatcher.doCallAction(DefaultDispatcher.java:292)
at com.openexchange.ajax.requesthandler.DefaultDispatcher.callAction(DefaultDispatcher.java:268)
at com.openexchange.ajax.requesthandler.DefaultDispatcher.perform(DefaultDispatcher.java:209)
at com.openexchange.ajax.requesthandler.DispatcherServlet.handle(DispatcherServlet.java:452)
at com.openexchange.ajax.requesthandler.DispatcherServlet.doPost(DispatcherServlet.java:376)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at com.openexchange.ajax.AJAXServlet.doService(AJAXServlet.java:544)
at com.openexchange.ajax.SessionServlet.doService(SessionServlet.java:184)
at com.openexchange.ajax.requesthandler.DispatcherServlet.service(DispatcherServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:445)
at com.openexchange.http.grizzly.servletfilter.RequestReportingFilter.doFilter(RequestReportingFilter.java:135)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.servletfilter.WrappingFilter.doFilter(WrappingFilter.java:206)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.service.http.OSGiAuthFilter.doFilter(OSGiAuthFilter.java:140)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.doFilter(OSGiServletHandler.java:435)
at com.openexchange.http.grizzly.service.http.OSGiServletHandler$FilterChainImpl.invokeFilterChain(OSGiServletHandler.java:413)
at org.glassfish.grizzly.servlet.ServletHandler.doServletService(ServletHandler.java:252)
at org.glassfish.grizzly.servlet.ServletHandler.service(ServletHandler.java:194)
at com.openexchange.http.grizzly.service.http.OSGiMainHandler.service(OSGiMainHandler.java:232)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.HttpHandlerChain.service(HttpHandlerChain.java:196)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)
at org.glassfish.grizzly.http.server.OXHttpServerFilter.handleRead(OXHttpServerFilter.java:363)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:265)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:78)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:770)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$MDCProvidingRunnable.run(CustomThreadPoolExecutor.java:2509)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.runTask(CustomThreadPoolExecutor.java:821)
at com.openexchange.threadpool.internal.CustomThreadPoolExecutor$Worker.run(CustomThreadPoolExecutor.java:848)
at java.lang.Thread.run(Thread.java:745)
from: http://localhost:8009/stats/diagnost...m=ciphersuites
Code:
* TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
* TLS_RSA_WITH_AES_256_CBC_SHA
* TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
* TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
* TLS_DHE_RSA_WITH_AES_256_CBC_SHA
* TLS_DHE_DSS_WITH_AES_256_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
* TLS_RSA_WITH_AES_128_CBC_SHA
* TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
* TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
* TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* TLS_DHE_DSS_WITH_AES_128_CBC_SHA
* TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
* TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
* SSL_RSA_WITH_3DES_EDE_CBC_SHA
* TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
* TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
* SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
* SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
* TLS_EMPTY_RENEGOTIATION_INFO_SCSV