• DKIM w CentOS dla Postfix i Sendmail

    dodany przez Przemysław Sikora

    DKIM to standard, który umożliwia kryptograficzne podpisywanie wysyłanej poczty elektronicznej oraz powiązanie z domeną w celu weryfikacji autentyczności nadawcy. Do przeprowadzenia omawianego procesu potrzebna będzie para kluczy- prywatny i publiczny, który publikujemy w rekordzie TXT naszej domeny.

    openssl genrsa -out default 1024M

    generujemy klucz prywatny o długości 1024 bitów

    openssl rsa -in centos.org.pl -pubout -out centos.org.pl.public -outform PEM

    Teraz generujemy klucz publiczny, którego zawartość będziemy musieli zapisać w DNS.Przykładowy wpis do pliku strefy domeny powinien wyglądać następująco:

    “default” to dowolna nazwa- tzw. prefix, który będziemy musieli podać przy konfiguracji klucza prywatnego w DKIM-ie. PO wpisie do DNS, przystępujemy do edycji pliku “/etc/mail/dkim-milter/dkim-filter.conf”. Istotne według mnie są następujące wpisy:

    ADSPDiscard yes

    decydujemy, czy DKIM ma odrzucać niepodpisaną cyfrowo wiadomość (warunkiem pozytywnego działania omawianej opcji jest następujący wpis w pliku strefy danej domeny):

    Powyższa funkcjonalność pomaga zabezpieczyć się przed podszywaniem się pod nadawcę, ale może spowodować nie otrzymywanie “chcianych” wiadomości.

    AuthservID dowolny_wyraz

    określamy token używany w nagłówku wiadomości np. Authentication-Results: dowolny_wyraz; dkim=pass (1024-bit key) header.i=domena.net; x-dkim-adsp=none

    KeyList ścieżka_do_pliku_z_konfiguracją kluczy

    Określamy położenie pliku ze ścieżkami do kluczy konkretnych domen. Przykładowa zawartość takiego pliku może wyglądać następująco:

    *@centos.org.pl:centos.org.pl:/var/db/dkim/default

    co oznacza, że dla wszystkich adresów nadawcy z domeny “centos.org.pl” będzie używany klucz prywatny z pliku “/var/db/dkim/default” (tzn. wiadomość będzie nim podpisana). Nazwa pliku klucza prywatnego musi być taka sama jak selektor wpisany w rekordzie TXT dotyczącego DKIM-a podpisywanej domeny. Następnie dopisujemy do pliku “/etc/postfix/main.cf” następujące dwie linie:

    smtpd_milters = unix:/var/run/dkim-milter/dkim-milter.sock
    non_smtpd_milters = unix:/var/run/dkim-milter/dkim-milter.sock

    Następnie powinniśmy dopisać do grupy “dkim-milter” użytkownika postfix. Wpis w “/etc/group” powinien wyglądać np. tak:

    dkim-milter:x:105:postfix

    Następnie zmieniamy uprawnienia do katalogu “/var/run/dkim-milter/” na 710, aby postfix miał dostęp się do “/var/run/dkim-milter/dkim-milter.sock”.Dla pewności restartujemy posftixa i dkim-a. Następnie w pliku “/etc/mail/dkim-milter/dkim-filter.conf” zakomentowujemy linię rozpoczynającą się od “Selector” i odkomentowujemy następujące:

    Syslog Yes
    SyslogFacility mail
    SyslogSuccess yes

    Powyższe ustawienia dotyczą logowania poczynań naszego DKIM-a. Znajdziemy je w “/var/log/maillog”. Poniżej zaprezentuję konfigurację zachowania DKIM-a w konkretnych sytuacjach (ustawienia w “/etc/mail/dkim-milter/dkim-filter.conf”):

    On-Default reject

    domyślne zachowanie

    On-BadSignature reject

    zachowanie w przypadku błędnego podpisu

    On-DNSError tempfail

    zachowanie w przypadku problemów z DNS

    On-InternalError accept

    wewnętrzny błąd

    On-NoSignature accept

    nie podpisana wiadomość

    On-Security tempfail

    zachowanie w przypadku podejrzanych wiadomości

    service dkim-milter restart
    service postfix restart

    Restartujemy DKIM-a i postfixa.
    W przypadku implementacji w innym MTA, np. Sendmailu, musimy do pliku “/etc/mail/sendmail.mc” dopisać następującą linię:

    INPUT_MAIL_FILTER(`dkim-filter’, `S=local:/var/run/dkim-milter/dkim-milter.sock’)

    Jeśli w innym miejscu tworzy się u nas plik “dkim-milter.sock”, to musimy poprawić powyższą ścieżkę. Następnie

    make -C /etc/mail
    service sendmail restart

    Od teraz wiadomości wychodzące dla skonfigurowanych domen powinny być podpisywane a e-maile przychodzące kontrolowane pod kontem podpisu cyfrowego DKIM. Powodzenie :). W razie problemów, zapraszam na forum.

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony