Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: marshall1727 04 Ledna 2009, 19:00:34

Název: postfix mailserver pro wan po několikáté [vyřešeno]
Přispěvatel: marshall1727 04 Ledna 2009, 19:00:34
dd,

chtěl bych vznést trochu obecnější otázky, u kterých si neumím utřídit odpovědi.

nejprve situace:
- 8.04 server na LAN sloužící mj. i jako smtp server aktuálně prostřednictvím postfixu.
- z/do LANu vše funguje a pošta se posílá sem a tam.
- jako klienti smlouží TB s tím, že je zadána autentifikace na smtp serveru

cílem cvičení je však, aby server přijímal a doručoval emaily i při práci mimo kancelář na základě totožného jména a hesla.

jestli tomu rozumím dobře tak:

1) konfigurace TLS slouží k šifrování spojení při autentifikaci a přenosu pošty.

2) mynetworks = 127.0.0.0/8, 192.168.1.0/24 - tohle mi zajistí, že ve spojitosti s smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination přijímá poštu pouze z uvedených rozsahů.

3) potřebuju aby mi server na ehlo localhost odpověděl 250-AUTH

4) potřebuju ještě nějaký ten SASL (proč ale když to umí v LANu) a proč mi offiko návod nutí dovecot - to je přece pop3 server.

chjo trochu se v tom ztrácím.

díky za myšlenky


Kód: [Vybrat]
220 akserver.advokati.biz ESMTP Postfix (Ubuntu)
ehlo localhost
250-akserver.advokati.biz
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Kód: [Vybrat]
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxxxxxxxxx.xxxxxxxxx.xxx, localhost
mynetworks = 127.0.0.0/8, 192.168.1.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = all
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination
#smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth-client
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_use_tls = yes
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: ruenix 04 Ledna 2009, 23:09:01
K té 4). Jde o to, že postfix pak využívá autentifikaci dovecotu, tzn. jak dovecot tak postfix mají společnou databázi loginů a hesel a tu "obhospodařuje" dovecot. Postfix se pak dovecotu ptá jestli je login a heslo správné.
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: marshall1727 05 Ledna 2009, 02:39:11
jj, díky

už to snad běhá jak má. nakonec jsem rozchodil i dovecot naplno....

edit: i když koukám, že nerozchodil. z LAN mi pop3d funguje ale z neposlouchá na druhém připojení, které jde do internetu.
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: Petr Merlin Vaněček 05 Ledna 2009, 08:33:53
A co
Kód: [Vybrat]
listen = *

resp.
Kód: [Vybrat]
listen = [::]

mimochodem, na firewallu průchod na port 110 máte povolený?
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: marshall1727 05 Ledna 2009, 09:40:25
mám, našel jsem to taky, kolem půl páté ráno už to začalo fungovat snad cele.

děkuji
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: Petr Merlin Vaněček 05 Ledna 2009, 11:17:29
vyřešeno?

btw. by nebylo od věci popsat zde, co bylo špatně, resp. co bylo potřeba upravit, aby to běhalo...
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: marshall1727 05 Ledna 2009, 14:25:24
trochu jsem na hledal sílu....

přecházel jsem totiž z letité kombinace sendmail+fetchmail, kde všechno fungovalo víceméně jak mělo a přežilo to upgrade až do verze 8.04, která konfiguraci rozhodila způsobem, jež byl nad moje síly. jestli jsem to pochopil dobře tak se změnilo nějakým způsobem ověřování uživatelů a to ve spojitosti s prakticky nulovou podporou sendmailu ze strany ubuntu zaseklo hřebíček do rakve sendmailu.

takže sem se vytočil a vlezl na ubuntu stránky a zjistil podle četnosti citací a počtu návodů že jako podporovaný smtp server se jeví postfix v kombinaci s autentifikací dovecotem.

Kód: [Vybrat]
https://help.ubuntu.com/8.04/serverguide/C/email-services.html
v zásadě tupě podle návodu dle kódu jsem nainstaloval postfix a nakonfiguroval SASL autentifikaci. vytvořil jsem i jakýsi podomácku vyrobený certifikát, aby byl systém spokojen. nainstaloval jsem i dovecot-common, čímž návod končí.

v zásadě v souladu s návodem a po nějakém tom nastavení konfigurace postfixu fungovalo odesílání a přijímání pošty z LANu. Z WANu však nikoliv. takže jsem se postupně prokousal k tomu, že bych měl SASLu nějak říct odkud má vzít credentials uživatelů pro smtp ověřování. tohle v návodu nebylo a out-of-the-box nefunguje ověřování uživatelů z passwd nebo shadow. chvilku jsem laškoval s plaitext souborem /etc/postfix/sasl_passwd, ktreý byl někde uváděn ale bez úspěchu a nakonec jsem se v logu dopracoval k hlášce typu
Kód: [Vybrat]
Jan  4 20:43:53 akserver postfix/smtpd[11217]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan  4 20:43:53 akserver postfix/smtpd[11217]: warning: SASL authentication failure: Password verification failed
a poté
Kód: [Vybrat]
Jan  4 21:46:06 akserver postfix/smtpd[16003]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied
Jan  4 21:46:06 akserver postfix/smtpd[16003]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: Permission denied

a po opravě k hlášce typu
Kód: [Vybrat]
Jan  4 22:05:17 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL PLAIN authentication failed: authentication failure
Jan  4 22:05:17 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL LOGIN authentication failed: authentication failure
Jan  4 22:05:45 akserver postfix/smtpd[16641]: warning: SASL authentication failure: no secret in database
Jan  4 22:05:45 akserver postfix/smtpd[16641]: warning: mikrotik[192.168.1.80]: SASL CRAM-MD5 authentication failed: authentication failure
Jan  4 22:05:46 akserver postfix/smtpd[16641]: warning: SASL authentication failure: no secret in database

no a to už modří vědí, že tam je třeba ty hesla nacvakat pomocí příslušných příkazů, tuším, že to bylo saslpasswd -c user a zadat mu tam heslo.

čímž to podstatné asi bylo hotovo. nebýt svělé funkce autoremove v apt-get které jsem neváhal využít když mi nabídla odinstalovaní balíčků sendmail-mda a sendmail-base. což jsem ale netušil, že tím si zruším pop3 server, takže jsem sice odevšad odesílal ale zase neměl žádného pop3 démona. grrrr. opakovaná instalace sendmailu nezabrala, spíš to zbabrala, takže jsem vyrazil cestou zprovoznění dovecotu.

to se ukázalo jako velmi jednoduchá varianta pro čistý systém nikoliv však v případě přechodu a migrace existujících schránek. ty byly samozřejmě jinde než kde je pop3 demon a postfix očekával. prostá změna cesty moc nefungovala. (UPOZORNĚNÍ: další kroky již byly prováděny ve stavu velkého nasrání a mírné podnapilosti takže je velmi pravděpodobné, že jsem si to komplikoval víc než bylo nutné) prostě schánky byly ve /var/mail a ne ve /var/spool/postfix a různě se tam nadělaly nějaké nesmyslné podadresáře při přepisování cest v konfiguraci apod. Finální řešení bylo přes webmin kdy k úplnému štěstí bylo ještě třeba všem uživatelům pošty nadělat domovské adresáře s položkou ./mail aby byl dovecot šťastný a dal mi pokoj.

posledním krokem pak bylo shora zmiňované nastavení volby listnen = * v dovecotu aby ta mrcha poslouchala i do wanu, úprava portforwardu na routru a jede to.

koukám do logů a od půl paté dnes ráno kdy jsem s tím skončil tam nemám žádnou chybovou hlášku a dokonce ani warning až na někoho kdo lezl na smtp zvenku a dopadlo to takto:

Kód: [Vybrat]
Jan  5 05:41:51 akserver postfix/smtpd[9725]: warning: 220-132-164-157.HINET-IP.hinet.net[220.132.164.157]: SASL LOGIN authentication failed: authentication failure
Jan  5 13:41:28 akserver postfix/smtpd[12228]: warning: 88.249.164.14: address not listed for hostname dsl88-249-41998.ttnet.net.tr

a dobře jim tak.

závěrem:
- návod funguje, nastavování postfixu je poměrně jednoduché ve srovnání se sendmailem
- pobavilo mě, že dovecot je jakousi preferovanou aplikací pro pop3 když jeho tvůrci uvádějí že primárně slouží pro imap.
- ve všech návodech chybí vysvětlení souvislosí a rozdělení úloh a vzájemných závislostí pojmů které jsou brány za automatické (postfix/tls/sasl/dovecot/cyrus/sasldb2/certifikáty/...) zde je však odpověď zřejmá - necpi se do serveru pokud tomu nerozumíš.

(/nadsázka)rád bych se dočkal toho, že nebudu muset po skončení podpory 8.04 zase studovat jiný poštovní server, jen proto, že se při upgrade - jako vždy - něco poláme.(nadsázka/).

takže vyřešeno, dotazy sem, pokud někdo něco má.
Název: Re: postfix mailserver pro wan po několikáté
Přispěvatel: Petr Merlin Vaněček 05 Ledna 2009, 15:25:21
super, díky :) k+
Jinak co se týče SMTP serveru, tak popravdě nic jiného, než postfix bych si na server nedal - je to jistota snadné a přehledné konfigurace (oproti sendmailu)