Radical Server Unit/14.Treffen zu Email
Vortrag von informatom a.k.a. Stefan zu mail-in-the-box & andere Email-Fertiglösungen
- Mail-in-a-Box: https://mailinabox.email/
- https://github.com/mail-in-a-box/mailinabox - Mail-in-a-Box helps individuals take back control of their email by defining a one-click, easy-to-deploy SMTP+everything else server: a mail server in a box
- Setup Guide: https://mailinabox.email/guide.html
- Sync CalDav und CardDav mit Android über Android App: DavDroid: play.google.com/store/apps/details?id=at.bitfire.davdroid
- Stefans laufende Instanz: https://bravepi.org/
- Kickball/awesome-selfhosted: https://github.com/Kickball/awesome-selfhosted#email - This is a list of Free Software network services and web * applications which can be hosted locally. Selfhosting is the process of locally hosting and managing applications instead of renting from SaaS providers
- Sovereign: https://github.com/sovereign/sovereign - A set of Ansible playbooks to build and maintain your own private cloud: email, calendar, contacts, file sync, IRC bouncer, VPN, and more.
- Citadel: http://www.citadel.org/doku.php
- iRedMail http://www.iredmail.org/ - With iRedMail, you can deploy an OPEN SOURCE, FULLY FLEDGED, FULL-FEATURED mail server in several minutes, for free.
- Modoboa: https://modoboa.org/en/ - mail hosting made simple
- Vergleichsartikel: Mail-in-a-box, Sovereign, Modoboa, iRedMail, etc: http://bogdan.org.ua/2016/12/28/mail-in-a-box-sovereign-modoboa-iredmail-etc.html
Mail Setup von Horst
Am Dienstag 30.05.2017 habe ich kurz über mein Mail-Setup gesprochen. Hier sind noch die versprochenen Infos darüber mit Links.
Ich lasse diese Services auf OpenBSD und FreeBSD laufen, fast alles läuft aber auch unter anderen Systemen wie Linux.
Hardware
Die Network Services (Firewall, Load Balancer und dann auch SMTP/IMAP Services) laufen unter OpenBSD auf mehreren Netgate SG-4860 die von ADI gebaut werden - bestellt bei Voleatech (DE): - ADI-Engineering - Netgate - Voleatech
Ich habe lange überlegt ob ich nicht das orginale Setup mit pfSense verwenden soll, bin mit meiner Entscheidung aber sehr zufrieden.
Die restlichen Services laufen auf FreeBSD unter normalen Intel Xeon Servern von Delta-Computer mit allen Goodies von FreeBSD…
Mail Komponenten
Chess Griffin hat vor einigen Jahren eine schöne Blog-Serie geschrieben die das Standard Setup um Clam und Spam erweitert. Lesenswert.
OpenBSD Base: - smtpd(8) - spamd(8)
- pf(8) - nsd(8)
OpenBSD Ports: - ClamAV - ClamSMTP - SpamAssassin - SpamPD - DKIMproxy - Dovecot
pf(8): Lokale Firewall
Die lokale Firewall pf(8) steuert hier mit Listen welche smtp Verbindungen auf den rechtigen smtp-Server dürfen und welche sich noch mit dem stotternden spamd(8) unterhalten müssen.
# $OpenBSD: pf.conf,v 1.54 2014/08/23 05:49:42 deraadt Exp $ mail="192.0.2.16" table <nospamd> persist file "/etc/mail/nospamd" table <nospamdspf> persist file "/etc/mail/nospamdspf" table <spamd-white> persist pass in on egress inet proto tcp to $mail port {imaps submission} pass in on egress inet proto tcp to $mail port smtp \ rdr-to 127.0.0.1 port spamd pass in on egress inet proto tcp from <nospamd> to $mail port smtp pass in on egress inet proto tcp from <nospamdspf> to $mail port smtp pass in on egress inet proto tcp from <spamd-white> to $mail port smtp
smtpd(8): OpenSMTPD
So sieht die default Konfig von OpenSMTPD aus - ich habe hier in der letzten Zeile nur den Beispiel-Relay eingetragen. Eine solche Konfig haben bei mir die meisten Server, die kein Mail Server sind.
# $OpenBSD: smtpd.conf,v 1.9 2016/05/03 18:43:45 jung Exp $ # This is the smtpd server system-wide configuration file. # See smtpd.conf(5) for more information. table aliases file:/etc/mail/aliases # To accept external mail, replace with: listen on all # listen on lo0 # Uncomment the following to accept external mail for domain "example.org" # # accept from any for domain "example.org" alias <aliases> deliver to mbox accept for local alias <aliases> deliver to mbox accept from local for any relay via mail.example.com
Die Mail Server konfig sieht etwa so aus:
# $OpenBSD: smtpd.conf,v 1.8 2015/12/21 16:25:44 sunil Exp $ ext_if="192.10.2.16" pki mail.example.com certificate "/etc/ssl/mail.exmaple.com.crt" pki mail.example.com key "/etc/ssl/private/mail.example.com.key" ca mail.example.com certificate "/etc/ssl/cert.pem" table office { "10.120.0.0/20", "198.51.100.0/24" } table aliases db:/etc/mail/aliases.db table vdomains { "example.com" "example.org" } table users db:/etc/mail/virtusertable.db # table creds db:/etc/mail/credentials.db # table ldapconf ldap:/etc/mail/ldapd.conf listen on lo0 listen on lo0 port 10026 tag CLAM_IN listen on lo0 port 10028 tag CLAM_OUT listen on lo0 port 10036 tag SPAM_IN listen on lo0 port 10029 tag DKIM_OUT listen on $ext_if tls pki mail.example.com listen on $ext_if port submission tls-require pki mail.example.com auth accept for local alias <aliases> deliver to maildir accept tagged DKIM_OUT for any relay accept tagged SPAM_IN for domain <vdomains> virtual <users> \ deliver to lmtp "/var/dovecot/lmtp" accept tagged CLAM_IN for any relay via smtp://127.0.0.1:10035 # to spampd accept tagged CLAM_OUT for any relay via smtp://127.0.0.1:10030 # to dkimproxy_out accept from any for domain <vdomains> relay via smtp://127.0.0.1:10025 # in accept from local for any relay via smtp://127.0.0.1:10027 # out
SOGo: CalDAV, CardDAV und WebUI
Nach langem Suchen habe ich SOGo gefunden. Das läuft bei mir in einem FreeBSD-Kerker und verwendet PostgreSQL, memcached und servisiert über Nginx.
Das SOGo User Interface greift auf Dovecot zu und hat auch für dessen Sieve scripts eine sehr benutzerfreundliche Administration. Die User-Sieve Scripts bleiben trotzdem auch im Home-Dir editierbar, wofür ich sehr dankbar bin.
LDAP
Die Sogo-Dokumentation ist etwas unglücklich in Bezug auf Authentication. Die meisten größeren Setups verwenden sicher LDAP für Authentication, aber das System kommt genauso gut mit einer Datenbank-Tabelle aus (siehe FreeBSD Konfig Template). Ich bin hier etwas sonderbar und habe zu LDAP eine gute Beziehung.
Well-Known
Damit das mit den Clients dann auch klappt, gibt es noch RFC6764 der die Well-Known URI und die Service Name Registration beschreibt.
horst kapfenberger, 1.Jun.2017
Vorstellung der neuen pad-instaz
- https://pads.c3w.at
- Self-hosted Cryptpad Instanz des c3w
- Source: https://cryptpad.fr/
- Alles ist clientseitig mit dem Key in der Adressleiste verschlüsselt.
Kleines Stimmungsbild für die nächsten Themen
- Vertrauen 10
- Virualisirung 9
- Ansible 7
- Wireshark 7
- Social media 5
- yunohost 3