Konfiguracja OpenDMARC

DMARC powstał w celu wyeliminowania fałszywych wiadomości (podszywających się pod jakąś domenę). DMARC ma na celu uproszczenie konfiguracji, wykluczenie false-positive, itd. Więcej szczegółów można znaleźć pod adresem https://dmarc.org/overview/.

Instalacja

Tak jak w przypadrku OpenDKIM konieczne jest doinstalowanie libmilter. Niemniej ponieważ DMARC jest kolejnym milterem w stosunku do OpenDKIM, zatem ten krok można pominąć.

Sama instalacja opendmarc przebiega jak inne paczki w systemie:

# z wykorzystaniem portupgrade
#
portupgrade -N mail/opendmarc lang/p5-Switch databases/p5-DBI databases/p5-DBD-mysql www/p5-HTTP-Message

# albo za pomocą repozytorium pkg.bsdserwis.com
#
pkg install mail/opendmarc lang/p5-Switch databases/p5-DBI databases/p5-DBD-mysql www/p5-HTTP-Message

/!\ Pakiety p5-Switch, databases/p5-DBI oraz pozostałe są potrzebne przez narzędzia opendmarc-import, opendmarc-reports oraz opendmarc-expire

Plik konfiguracyjny

Przygotawanie pliku na podstawie pliku instalacyjnego:

cd /usr/local/etc/
cp mail/opendmarc.conf.sample opendmarc.conf

Albo korzystając z repozytorium konfiguracji przegrać przygotowany plik:

# -----------------------------------------------------------------------
#
# Je/zeli nazwa serwera r/o/zni si/e od nazwy podanej w postfix, to lepiej
# wpisa/c nazw/e prezentowan/a przez postfix (np. mx1.bsdserwis.com)
#
# W trakcie instalacji skryptu trzeba poprawi/c to lokalnych ustawie/n
#
# -----------------------------------------------------------------------
#
AuthservID HOSTNAME

# --- pozosta/le ustawienia ---------------------------------------------
#
AuthservIDWithJobID false
AutoRestart true
Background true
DNSTimeout 5
EnableCoreDumps false
FailureReports false
HistoryFile /var/db/opendmarc/opendmarc.dat
IgnoreAuthenticatedClients true
IgnoreHosts /usr/local/etc/opendmarc/ignore.hosts
MilterDebug 0

# lista pobierana z sieci internet, zatem powinna trafi/c do katalogu z
# bazami OpenDMARC
#
PublicSuffixList /var/db/opendmarc/effective_tld_names.dat
RecordAllMessages false
RejectFailures false
ReportCommand /usr/local/sbin/sendmail -t
RequiredHeaders false
SoftwareHeader false
SPFIgnoreResults false
SPFSelfValidate false
Syslog true
SyslogFacility mail
TrustedAuthservIDs HOSTNAME
UMask 027
UserID mailnull:mailnull

Dodanie do rc.conf

opendmarc_enable="YES"     # => DaemonTools nie jest potrzebne
opendmarc_runas="mailnull:mailnull"
opendmarc_pidfile="/var/run/opendmarc/pid"
opendmarc_socketspec="inet:8893@localhost"
opendmarc_cfgfile="/usr/local/etc/mail/opendmarc.conf"

Przygotowanie katalogów oraz plików przed pierwszym uruchomieniem

mkdir -p /var/run/opendmarc /var/db/opendmarc /usr/local/etc/opendmarc
chown mailnull:mailnull /var/run/opendmarc /var/db/opendmarc
touch /usr/local/etc/opendmarc/ignore.hosts
echo 127.0.0.1 >> /usr/local/etc/opendmarc/ignore.hosts

Pobranie Public Suffix List

wget --no-check-certificate -q -N -P /var/db/opendmarc https://publicsuffix.org/list/effective_tld_names.dat

Dodanie skryptu do periodic.conf

### /etc/periodic.conf
###

# --- aktualizacja Public Suffix List dla OpenDMARC --------------
#
weekly_opendmarc_update_public_suffix_list_enable="YES"
weekly_opendmarc_update_public_suffix_list_verbose="NO"

Uruchomienie usługi poprzez deamontools

(!) (To już było na stronie głównej). Chociaż wszystko wskazuje na to, że nie jest to potrzebne: opendmarc działa bardzo dobrze samodzielnie.