• Konfiguracja Postfixa od podstaw

    dodany przez Przemysław Sikora

    Postfix to jeden z najbardziej popularnych serwerów pocztowych (MTA) na rynku. W porównaniu do np. Sendmail-a, nie działa jako jeden proces, tylko kilka (odpowiedzialnych za różne czynności aż do dostarczenia wiadomości do skrzynki odbiorczej). Poprawne skonfigurowanie serwera pocztowego jest bardzo ważną sprawą. Postaram się wyjaśnić wszelkie niejasności z tym związane krótkim tutorialem.

    1.Musimy zainstalować kilka niezbędnych pakietów, wydając polecenie:

    yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain postffix

    2. Edytujemy plik “/etc/postfix/main.cf”. Dodajemy następujące linie, chyba że już są:

    smtpd_sasl_local_domain =centos.com.pl #domena, którą będziemy używać do wysyłania wiadomości
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous #osoby niezalogowane nie będą mogły wysyłać poczty
    broken_sasl_auth_clients = yes
    smtpd_sasl_authenticated_header = yes
    smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination #ograniczenia poczty wychodzącej (zabezpieczenia)
    inet_interfaces = all #interfejsy na których ma nasłuchiwać demon
    mynetworks = 127.0.0.0/8 #adres i maska naszej sieci
    smtpd_tls_auth_only = no
    smtp_use_tls = yes
    smtpd_use_tls = yes
    smtp_tls_note_starttls_offer = yes
    smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
    smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
    smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
    smtpd_tls_loglevel = 1
    smtpd_tls_received_header = yes
    smtpd_tls_session_cache_timeout = 3600s
    tls_random_source = dev:/dev/urandom
    myhostname = smtp.centos.com.pl #nazwa naszego serwera
    home_mailbox = Maildir/ #ustawienie dla Dovecot-a
    mailbox_command = #ustawienie dla Dovecot-a

    3. Powinniśmy wygenerować certyfikaty TLS

    mkdir /etc/postfix/ssl
    cd /etc/postfix/ssl/
    openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
    chmod 600 smtpd.key
    openssl req -new -key smtpd.key -out smtpd.csr
    openssl x509 -req -days 730 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
    openssl rsa -in smtpd.key -out smtpd.key.unencrypted
    mv -f smtpd.key.unencrypted smtpd.key
    openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 730

    4. Edytujemy plik “/etc/postfix/master.cf”. Następujące linijki tego pliku powinny mieć taką treść:

    -o smtpd_sasl_auth_enable=yes
    -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination
    smtps inet n – n – – smtpd
    -o smtpd_tls_wrappermode=yes
    -o smtpd_sasl_auth_enable=yes
    -o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination

    5. Edytujemy plik “/usr/lib/sasl2/smtpd.conf” w wersji 32 bit systemu lub plik “/usr/lib64/sasl2/smtpd.conf” dla systemów 64 bit., plik powinien wyglądać tak:

    pwcheck_method: saslauthd
    mech_list: plain login

    6. Startujemy SASL i Postfix

    /etc/init.d/saslauthd start
    /etc/init.d/postfix start

    W razie problemów proszę pisać w komentarzach lub na forum.

8 komentarzy do “Konfiguracja Postfixa od podstaw”

  1. Gante pisze:

    Witam,

    czy konfiguracja postfixa jest aż tak skomplikowana? Bo 2 “informatyków” <- w cudzysłowie nie potrzfiło sobie poradzić. Aż mnie to irytuje. Może Ty będziesz zainteresowany skonfigurowaniem serwera pocztowego. Bo już nie mam dość szukania osoby, która w końcu poprawnie mi to wszystko skonfiguruje.

    Jeżeli będziesz zainteresowny to napisz do mnie maila:
    lukasz.gabrysiak@wp.pl

  2. tomek pisze:

    Witam. Skonfigurowałem postfixa wg twoich wskazówek, na firewalu odblokowałem poczte, usługa startuje, w logu brak wiadomosci ze cos jest nie tak. Niestety nie potrafie sie połaczyć z serwerem pocztowym.

    Wykonanie polecenia na serwerze telnet localhost 25 konczy sie niepowodzeniem. Gdzie szukać błędu ?

  3. centos pisze:

    Witam

    Tomek sprawdź, czy przede wszystkim nasłuchuje postfix na 25 porcie (netstat –listen | less | egrep *:smtp).

  4. tomek pisze:

    podane polecenie netstat –listen | less | egrep *:smtp u mnie nie działa. Modyfikując składnie wywalając less oraz poprawiając bo zapewne chodziło o grep a nie egrep doszedłem ze parametr -listen powoduje jakiś błąd składni u mnie. Nie niej polecenie netstat |grep smtp zwraca pustą listę. Poza tym skoro wykonane lokalnie na serwerze telnet localhost 25 nie łączy to wnioskuję że nie nasłuchuje. Jutro zrobię jeszcze próbę przeniesienia wszystkiego i przetestowania na drugim serwerze tym razem fedora. Puki co na centosie to nie działa. Czy może chodzić o jakiś wpis w dns ? Sprawdzę tez jeszcze firewalla. Dzisiaj już nie dam rady.

  5. tomek pisze:

    Nie nasłuchuje. sprawdziłem na serwerze poleceniem telnet localhost 25.

  6. admin pisze:

    Na pewno to nie DNS. Jak możesz to wyślij mi całą konfigurację. Proponuję przenieść rozmowę na forum, ponieważ tam więcej osób mogłoby się wypowiedzieć i coś doradzić.

    Mówiłeś, że logi nie wskazują błędu. Jak możesz to też podeślij mi kilka ostatnich linijek mailloga. To na pewno jakaś literówka lub inny błąd w tym stylu, ale póki co za mało wiem o Twoim serwerze i konfiguracji.

  7. zlecenia-it pisze:

    Obecnie w systemie CentOS wersja 5.x i 6.x nie trzeba używać Courier-a tylko Postfix + Dovecot.
    Dovecot zapewni autoryzację SMTP Auth i obsługę POP3(S) i IMAP(S).

    zlecenia-it@10g.pl

  8. Cudowny post, humor i dystans! Plus ogolnie bardzo fajny blog 🙂 Gratuluje! 🙂

Dodaj komentarz

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