Postfix - podstawowa konfiguracja

Konfiguracja serwerów, usług, itp.
zet120
Posty: 60
Rejestracja: 04 stycznia 2009, 13:17

Post autor: zet120 »

Pliki konfiguracyjne wyglądają tak:
../main.cf

Kod: Zaznacz cały

ommand_directory = /usr/sbin
mail_owner = postfix
mydomain = vinkler.dyndns.tv
myhostname = server
myorigin = /etc/mailname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $mydomain, $myhostname, localhost, localhost.localdomain,
mynetworks = 127.0.0.0/8
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
mail_spool_directory = /home/
smtpd_banner = ESMTP on $myhostname !
mailbox_size_limit = 0
recipient_delimiter = +
biff = no
append_dot_mydomain = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
relayhost =
#  outbound.mailhop.org:2525
# smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
# smtp_sasl_security_options=

smtpd_tls_security_level = may
smtpd_tls_wrappermode = no
smtpd_tls_auth_only = no
smtpd_tls_cert_file = /etc/postfix/ssl/mail.pem
smtpd_tls_key_file = /etc/postfix/ssl/mail.pem
.../dovecot.conf

Kod: Zaznacz cały

base_dir = /var/run/dovecot/
protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
shutdown_clients = yes
#LOGI
log_path=/var/log/dovecot.log
info_log_path = /var/log/mail.log
log_timestamp = "%Y-%m-%d %H:%M:%S "
syslog_facility = mail
login_process_size = 64
login_greeting = Welcome. I’m ready ...
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %$: %s
login_chroot = no
login_user = dovecot
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 128
mail_location = maildir:~/Maildir
#SSL
ssl = no
ssl_cert_file = /etc/postfix/ssl/mail.pem
ssl_key_file = /etc/postfix/ssl/mail.pem
verbose_ssl = yes
mail_access_groups = postfix
protocol imap {
}
protocol pop3 {
        pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
        postmaster_address = [email protected]
}
auth_verbose = yes
auth_debug = yes
auth default {
    mechanisms = plain login
    passdb pam {
    }
    userdb passwd {
    }
    user = root
    socket listen {
    client {
      path = /var/spool/postfix/private/auth
      mode = 0660
      user = postfix
      group = postfix
    }
  }
}
dict {
}
plugin {
}
kaworu
Posty: 72
Rejestracja: 05 lutego 2009, 20:20

Post autor: kaworu »

Wygląda na ok, masz moje konfigi, na których wszystko działało

dovecot.conf

Kod: Zaznacz cały

base_dir = /var/run/dovecot/
protocols = imap imaps pop3 pop3s
listen = *
disable_plaintext_auth = no
shutdown_clients = yes

#LOGS
log_path = /var/log/dovecot.log
info_log_path = /var/log/mail.log
log_timestamp = "%Y-%m-%d %H:%M:%S"
syslog_facility = mail

login_process_size = 64
login_greeting = Welcome to Guardian MailServer
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
login_log_format = %S: %s

login_chroot = no
login_user = dovecot
login_process_per_connection = yes
login_processes_count = 3
login_max_processes_count = 128

mail_location = maildir:~/Maildir

#SSL
ssl_disable = no
ssl_cert_file = /etc/postfix/ssl/mail.pem
ssl_key_file = /etc/postfix/ssl/mail.pem
verbose_ssl = yes

mail_access_groups = postfix

protocol imap {
}
protocol pop3 {
    pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
    postmaster_address = [email protected]
}
auth_verbose = yes
auth_debug = yes

auth default {
    mechanisms = plain login
    passdb pam {
    }
    userdb passwd {
    }
socket listen {
    client {
    path = /var/spool/postfix/private/auth
    mode = 0660
    user = postfix
    group = postfix
    }
}
}
dict {
}
plugin {
}
main.cf

Kod: Zaznacz cały

command_directory = /usr/sbin
mail_owner = postfix
mydomain = guardian.ath.cx
myhostname = guardian
myorigin = /etc/mailname
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = $mydomain, $myhostname, localhost, localhost.localdomain,
mynetworks = 127.0.0.0/8
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
mail_spool_directory = /home/
smtpd_banner = ESMTP on $myhostname !
mailbox_size_limit = 0
recipient_delimiter = +
biff = no
append_dot_mydomain = no
relayhost =

# SASL Auth
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

# Dovecot SASL configuration for the Postfix SMTP server
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

# TLS
smtpd_tls_auth_only = yes
smtp_use_tls = yes
smtpd_use_tls = yes
smtpd_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/mail.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
tls_random_source = dev:/dev/urandom
smtpd_tls_cert_file = /etc/postfix/ssl/mail.pem
smtpd_tls_CAfile = /etc/postfix/ssl/mail.pem

# Some AntiSpam 
smtpd_recipient_restrictions = permit_mynetworks,
                               permit_sasl_authenticated,
                               reject_unauth_destination,
                               reject_unknown_recipient_domain,
                               reject_non_fqdn_recipient
                               
smtpd_client_restrictions = permit_sasl_authenticated,
                            #reject_unknown_client,
                            #reject_rbl_client dul.dnsbl.sorbs.net,
                            reject_rbl_client list.dsbl.org,
                            reject_rbl_client sbl.spamhaus.org,
                            reject_rbl_client cbl.abuseat.org
                           
smtpd_sender_restrictions = permit_sasl_authenticated,
                            reject_unknown_sender_domain,
                            reject_non_fqdn_sender,
                            reject_unknown_address
Zainstaluj sobie jeszcze namp i przeskanuj porty lokalnie.
zet120
Posty: 60
Rejestracja: 04 stycznia 2009, 13:17

Post autor: zet120 »

Dzięki, ale na Twoim pliku konfiguracyjnym dovecota czyli ../dovecot/dovecot.conf mam błąd:

Kod: Zaznacz cały

zet120@server:~$ sudo /etc/init.d/dovecot restart
Restarting IMAP/POP3 mail server: dovecotError: Error in configuration file /etc/dovecot/dovecot.conf line 27: Unknown setting: ssl_disable
Fatal: Invalid configuration in /etc/dovecot/dovecot.conf
 failed!
Zatem zmieniłem stosowną opcję:

Kod: Zaznacz cały

ssl_disable = no
na:

Kod: Zaznacz cały

ssl = no
Tak czy owak temat, z którym walczę od początku czyli:

Kod: Zaznacz cały

openssl s_client -connect localhost:993
nie działa.
kaworu
Posty: 72
Rejestracja: 05 lutego 2009, 20:20

Post autor: kaworu »

Może miałem starszą wersje dovecota, jeśli teraz jest tylko ssl to ustaw na yes. Tak jak masz teraz ssl = no wyłączyło ssl
zet120
Posty: 60
Rejestracja: 04 stycznia 2009, 13:17

Post autor: zet120 »

Taka mała rzecz, a cieszy, działa, dzięki.

Pojawił się jednak kolejny problemik.
Pocztę mogę wysyłać lokalnie czyli np. z programu RoundCube czy też z SquirrelMail , ale nie mogę z klienta pocztowego oraz terminala z innej maszyny i to zarówno tej w sieci lokalnej jak i z zewnątrz, gdyż otrzymuję:
To przykład z kompa w sieci lokalnej:

Kod: Zaznacz cały

zet120@desktop:~$ telnet vinkler.dyndns.tv 25
Trying 89.78.145.72...
Connected to vinkler.dyndns.tv.
Escape character is '^]'.
220 ESMTP on debian !
[b]mail from:[email protected][/b]
250 2.1.0 Ok
[b]rcpt to:[email protected][/b]
554 5.7.1 <[email protected]>: Relay access denied
Czy i na tą niedogodność znajdzie się rozwiązanie?
kaworu
Posty: 72
Rejestracja: 05 lutego 2009, 20:20

Post autor: kaworu »

Przez telnet to się nie dziwie, opisz jak skonfigurowałeś jakiś program pocztowy np outlook i pokaż logi postfixa przy próbie wysłania poczty z innej maszyny.
mendeczka
Beginner
Posty: 209
Rejestracja: 31 sierpnia 2007, 08:05
Lokalizacja: /dev/Socho

Post autor: mendeczka »

Czy masz włączone w programie pocztowym

Kod: Zaznacz cały

używaj bezpiecznego uwierzytelnienia
?

musisz szukać odpowiedzi i zabawy z SASL
zet120
Posty: 60
Rejestracja: 04 stycznia 2009, 13:17

Post autor: zet120 »

Dziękując za kolejne odpowiedzi dodam, że z sieci lokalnej potrafię już wysyłac pocztę wpisując jako adres serwera imap i smpt adres IP kompa z postfixem.
Niestety problem dalej wystepuje z pocztą którą próbuję wysłać z kompa z poza sieci lokalnej.
Konfigurując klienta pocztowego Outlook, czy moduł pocztowy Opery niezależnie czy wpiszę IP bądź wprost vinkler.dyndns.tv to otrzymuję odpowiedż, ze serwer nie obsługuje połączeń SSL.
Czegoś mu zatem brakuje gdyż jak pisałem w sieci lokalnej działa, działa również z poziomu RoundCube i SquirrelMai.
Konfiguracja klientów standardowa z uwzględnieniem używaj bezpiecznego uwierzytelnienia
A oto logi /var/log/mail.log podczas próby wysłania poczty z programu Outlook:

Kod: Zaznacz cały

2010-05-22 11:35:31 auth(default): Info: client in: AUTH        1       PLAIN   service=imap    secured lip=192.168.1.107       rip=$
2010-05-22 11:35:31 auth-worker(default): Info: pam(zet120,89.78.24.89): lookup service=dovecot
2010-05-22 11:35:31 auth-worker(default): Info: pam(zet120,89.78.24.89): #1/1 style=1 msg=Password:
2010-05-22 11:35:32 auth(default): Info: client out: OK 1       user=zet120
2010-05-22 11:35:32 auth(default): Info: master in: REQUEST     41      2347    1
2010-05-22 11:35:32 auth(default): Info: passwd(zet120,89.78.24.89): lookup
2010-05-22 11:35:32 auth(default): Info: master out: USER       41      zet120  system_groups_user=zet120       uid=1000        gid=$
2010-05-22 11:35:32 imap-login: Info: Login: user=<zet120>, method=PLAIN, rip=89.78.24.89, lip=192.168.1.107, TLS
2010-05-22 11:35:32 auth(default): Info: new auth connection: pid=2400
2010-05-22 11:48:14 auth(default): Info: new auth connection: pid=2414
2010-05-22 11:48:14 imap-login: Info: Disconnected (no auth attempts): rip=89.78.24.89, lip=192.168.1.107, TLS: Disconnected
2010-05-22 11:49:27 auth(default): Info: new auth connection: pid=2415
2010-05-22 11:49:27 imap-login: Info: Disconnected (no auth attempts): rip=89.78.24.89, lip=192.168.1.107, TLS: Disconnected
2010-05-22 11:55:31 IMAP(zet120): Info: Disconnected in IDLE bytes=468/2110
2010-05-22 11:55:31 IMAP(zet120): Info: Disconnected in IDLE bytes=2026/4396
2010-05-22 11:55:33 IMAP(zet120): Info: Disconnected: Logged out bytes=503/2874
Sam Outlook twierdzi, że:

Kod: Zaznacz cały

Serwer nie obsługuje połączenia SSL. Konto: 'vinkler.dyndns.tv', Serwer: '89.78.145.72', Protokół: SMTP, Odpowiedź serwera: '250 DSN', Port: 25, Zabezpieczenie (SSL): Tak, Błąd serwera: 250, Numer błędu: 0x800CCC7D
kaworu
Posty: 72
Rejestracja: 05 lutego 2009, 20:20

Post autor: kaworu »

Używaj tylko adresu domenowego, postfix źle trawi adresy ip. Spróbuj się połączyć bez SSL, serwer powinien obsługiwać szyfrowane jak i nie szyfrowane połączenie. Jeszcze pytanie czy przy konfiguracji postfixa robiłeś jakieś większe zmiany ? Jeśli nie to dodaj

Kod: Zaznacz cały

broken_sasl_auth_clients = yes
ODPOWIEDZ