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.