Configuring Perdition

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Perdition use cases

Perdition is a proxy for the POP and IMAP protocols that allows a user to connect to any Perdition server, regardless of their account's zimbraMailHost, and use a POP or IMAP client to access their mail.

Perdition is useful in multi-node installations, where several mailstore servers may be accessed through the same hostname (either via round-robin DNS or a load balancer).

Perdition is also useful for offloading the SSL connection from the tomcat server, and handling it in the proxy. This can reduce the load on the mailstore server, as well as work around some IMAP SSL bugs.

Note: Perdition only proxies IMAP and POP - it is not an HTTP/S proxy.

Perdition can proxy these services:

  • IMAP (default port 143)
  • IMAPS (default port 993)
  • POP3 (default port 110)
  • POP3S (default port 995)

Requirements

Perdition requires version 3.1.4 or better of the Zimbra Collaboration Suite to operate correctly. Currently, it is installed on the same server as the tomcat mailstore server.

Setting the ports

"Real" and proxied ports

In any perdition setup, there are 2 ports defined for every service. The real port is the port that tomcat listens on to handle connections. The proxied port is the port that perdition listens on for client connections. When perdition is configured, the client connects to the proxied port, and perdition connects to the tomcat server on the real port. The real ports can (and probably should) be blocked from access to the outside world by your firewall.

zimbraPop3BindPort
This is the real port for cleartext POP connections
zimbraPop3SSLBindPort
This is the real port for SSL POP connections
zimbraPop3ProxyBindPort
This is the proxied port for cleartext POP connections
zimbraPop3SSLProxyBindPort
This is the proxied port for SSL POP connections
zimbraImapBindPort
This is the real port for cleartext IMAP connectionsions
zimbraImapSSLBindPort
This is the real port for SSL IMAP connectionsions
zimbraImapProxyBindPort
This is the proxied port for cleartext IMAP connectionsions
zimbraImapSSLProxyBindPort
This is the proxied port for SSL IMAP connections

Port consistency

When configuring perdition in a multi server environment, all of the servers should have the same ports defined for the real ports, and the same ports for the proxied ports. That is, all servers should have the zimbraImapSSLBindPOrt defined the same. Failure to do so will prevent perdition from operating correctly.

Additionally, all of the ports should be unique on a server - so none of the ports on a given server should be used for any other service on that server.

Cleartext and encrypted connections

By default, the server will not accept IMAP and POP login over a cleartext (non-encrypted) connection. If cleartext connections to the server are enabled, the perdition proxy will forward SSL connections to the cleartext port on the real server port, offloading the SSL processing from the tomcat server. This is the recommended configuration

Enabling cleartext IMAP/POP connections

To enable cleartext connections on the server server.example.com:

zmprov ms server.example.com zimbraImapCleartextLoginEnabled TRUE zimbraPop3CleartextLoginEnabled TRUE

This requires a tomcat restart.

Perdition certificates

Perdition uses the certificate in /opt/zimbra/conf/perdition.pem and the key in /opt/zimbra/conf/perdition.key. These are created on installation, or can be recreated manually.

Enabling the service

Jump to: navigation, search