Excision-Mail

Fullstack, security focused mailserver based on OpenSMTPD for OpenBSD using ansible

Stars
153
Forks
16
Open issues
10
Closed issues
39
Last commit
almost 2 years ago
Watchers
153
Total releases
12
Total commits
621
Open PRs
0
Closed PRs
12
Repo URL
Platform
License
isc
Category
Usecase
Offers premium version?
NO
Proprietary?
NO
About

Excision Mail

Fullstack, security focused mailserver based on OpenSMTPD for OpenBSD using ansible

Installation

Go through the installation overview on the website: https://excision.bsd.ac/install/

Functionality highlights Full featured email server with modern encryption standards enforced

  • All connections are TLS enforced, including pop3s, imaps, smtps.
    • smtp and sieve are STARTTLS with enforced TLS escalation.
    • Insecure versions of pop3 and imap are disabled for additional security.

  • OpenPGP and GnuPG Web Key Service and Web Key Directory support for automatic publishing of public keys in a multi-domain server setting.

    • Server only contains public keys of user, so encrypted emails can only be decrypted by the user.

  • mta-sts for fully encrypted email transfer channels.
  • Email subsystem separate from base operating system and managed by non-privileged account.

    • Useful in case of a compromised user account.

  • Spam classification and automatic learning using Rspamd.
  • Multi-domain support for handling emails sent to more than one domain.
  • Server side filtering support and filter management using managesieve.
  • Mozilla auto-configuration for thunderbird and other opensource clients.
Flexible server and user management system

  • Daily report for system stats and email stats for server status checks.
  • Email stored in maildir format for easy server side management.
  • Support for aliases using pseudo accounts in both sending and receiving emails.
  • User management scripts for adding users and aliases.
  • Automatic management and tag support for user+tag@... in both sending and receiving emails.
    • Option to change separating tag to non-default options, such as ., - or _ for additional privacy.

  • Automatic management of TLS certificates from Lets Encrypt.

    • HSTS enabled on httpd for enforcing secure connections.

Optional email features

  • Optional hidden Authoritative DNS server using knot for a stealth master configuration using secondary DNS providers.
    • Handles complex DNS setup for publicizing all encryption options to senders.
    • Automatic configuration of DNSSEC,DKIM, SPF, DMARC, SSHFP, CAA and other records.

  • Optional spamd(8) set up for highly effecient spam deferral and false email rejection.
  • Optional antivirus using Clamav for additional security of users on Windows systems.
Architecture Goals

Excision Mail aims to use as much of the base OpenBSD system and as few dependancies from ports as possible for maximum security.

Base system

  • OpenSMTPD
    The default OpenBSD mail transfer agent. Highly secure, fast and efficient.
  • acme-client(1)
    Automatic certificate management for the system domains.

Ports

  • Rspamd
    Efficient and configurable spam classifier.
  • knot
    Make an autoritative nameserver for your domain.
  • Dovecot
    Secure imaps, pop3s and sieve server to allow access from clients outside the server.
  • ClamAV
    Open source antivirus tools to check email attachments.
  • GnuPG
    Make a Web Key Service and Web Key Directory using gpg-wks-server.
  • nginx
    Hosting websites for mta-sts and publishing public keys.

Design goals

  • Be replicable and stable to build and upgrade.
    There should be no differences between upgrading a previous install and starting an install from scratch, if using the same configurations for both pathways.

  • Be well documented. Every part of the setup should be clear and explained.

Excision Mail tries to follow OpenBSD philosophy of being well documented and explaining all the choices that have been made.
If it does not have good documentation, then it is still buggy

Requirements

OpenBSD 6.6 (may run on -current, but it will not be prioritized)
System requirements (good for about 50 users)

  • 1 core
  • 1GB RAM
  • 2GB Swap

Contact and support

The primary mode of contact for reporting bugs and getting support is through GitHub.
Excision Mail has a matrix channel #excision-mail.

Alternative Projects
No projects found

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.