postfix osaajia paikalla

Liittynyt
31.07.2017
Viestejä
1 731
Terve
Yritän tässä konffailla omaa postfix dovecot serveriä ja logi on täynnä seuraavanlaista virheilmoitusta, mistä tätä ongelmaa kannattaisi lähteä purkamaan, googlaamisella en saanut mitään järkevää lopputulosta, yritän siis lähettää testimeiliä
Apr 13 17:21:57 server postfix/master[6881]: warning: /usr/lib/postfix/sbin/smtpd: bad command startup -- throttling
Apr 13 17:22:47 server postfix/master[6881]: warning: /usr/lib/postfix/sbin/pickup: bad command startup -- throttling
Apr 13 17:22:47 server postfix/master[6881]: warning: process /usr/lib/postfix/sbin/pickup pid 6902 exit status 1


Apr 13 17:22:46 server postfix/qmgr[6901]: fatal: /etc/postfix/dynamicmaps.cf, line 3: Expected "dict-type .so-name dict-function [mkmap-function]"


Apr 13 17:22:46 server postfix/qmgr[6901]: fatal: /etc/postfix/dynamicmaps.cf, line 3: Expected "dict-type .so-name dict-function [mkmap-function]"


Apr 13 17:22:46 server postfix/qmgr[6901]: fatal: /etc/postfix/dynamicmaps.cf, line 3: Expected "dict-type .so-name dict-function [mkmap-function]"


Apr 13 17:22:47 server postfix/master[6881]: warning: process /usr/lib/postfix/sbin/qmgr pid 6901 exit status 1
 
Mitä siellä /etc/postfix/dynamicmaps.cf -tiedostossa sitten on?

Dovecot todennäköisesti lisännyt jotain omiaan sinne, puhtaassa postfix-asennuksessa on jotain tyyliin "sqlite postfix-sqlite.so dict_sqlite_open".
 
Mitä siellä /etc/postfix/dynamicmaps.cf -tiedostossa sitten on?

Dovecot todennäköisesti lisännyt jotain omiaan sinne, puhtaassa postfix-asennuksessa on jotain tyyliin "sqlite postfix-sqlite.so dict_sqlite_open".
Näyttäisi olevan ihan debianin oletuskonffilla, itse en ole tuota muokannut.
# dict-type so-name (pathname) dict-function mkmap-function
mysql postfix-mysql.so dict_mysql_open
SELECT email FROM virtual_users WHERE email='%s' UNION SELECT destination FROM virtual_aliases WHERE source='%s'
 
Ehkä voisi kokeilla kommentoida joko tuon SQL-kyselyn rivin lopusta pois, tai kommentoida koko rivi pois. Tuo SQL-kysely haiskahtaa dovecotin lisäämältä.
 
Ehkä voisi kokeilla kommentoida joko tuon SQL-kyselyn rivin lopusta pois, tai kommentoida koko rivi pois. Tuo SQL-kysely haiskahtaa dovecotin lisäämältä.
Poistin nyt tuon dynamicmaps.cf tiedoston jolloin tiedostoon viittaava virhe katosi logista,, mutta jäljelle jäivät smtpd badcommand ja muut logissa mainitut virheet.
 
Helpottaisi hieman jos kertoisit, että miten olet tähän tilaan pässyt. Oletko seurannut jotain postfix+dovecot asennustutoriaalia vai poiminut ohjeita palan sieltä ja toisen täältä ?

Tuo dynamicmaps.cf tiedosto liittyy siihen, että olet ilmeisemminkin asentelemassa palvelinta siten, että sähköpostilaatikot ovat virtuaalikäyttäjiä joiden tiedot säilötään mariadb kannassa. Onhan mariadb asennettuna ja sopiva tietokanta tauluineen luotuna ?

Voit myös lisätä postfixin master.cf:ään smtpd:lle -v (verbose) niin saat ehkä vähän enemmän logista irti.
Koodi:
/etc/postfix/master.cf:
    smtp      inet  n       -       n       -       -       smtpd -v
 
Helpottaisi hieman jos kertoisit, että miten olet tähän tilaan pässyt. Oletko seurannut jotain postfix+dovecot asennustutoriaalia vai poiminut ohjeita palan sieltä ja toisen täältä ?

Tuo dynamicmaps.cf tiedosto liittyy siihen, että olet ilmeisemminkin asentelemassa palvelinta siten, että sähköpostilaatikot ovat virtuaalikäyttäjiä joiden tiedot säilötään mariadb kannassa. Onhan mariadb asennettuna ja sopiva tietokanta tauluineen luotuna ?

Voit myös lisätä postfixin master.cf:ään smtpd:lle -v (verbose) niin saat ehkä vähän enemmän logista irti.
Koodi:
/etc/postfix/master.cf:
    smtp      inet  n       -       n       -       -       smtpd -v

Käytin tätä ohjetta meiliserverin konffaamiseen
Sain tuon dynamicmaps.cf:n virheen poistumaan muuttamalla kirjaston polkua mitä postfixkutsuu käyttäessään mysqlää, nykyinen on
mysql /usr/lib/postfix/postfix-mysql.so.1.0.1 dict_mysql_open

Kuitenkin postfix valittaa nyt seuraavaa virheilmoitusta
Apr 15 15:34:32 server postfix/cleanup[25090]: fatal: /etc/postfix/mysql-email2email.cf: bad string length 0 < 1: table =

Tuon tiedoston sisältö on seuraava, käsitykseni mukaan mitään taulua tuolla ei pitäisi olla
user = mysqlkäyttäjänusername
password = Mysqlkäyttäjänsalasana
hosts = 127.0.0.1
dbname = mailserver
query = SELECT email FROM virtual_users WHERE email='%s'
 
Joo, joskus vuosia sitten ennen postfix 2.2:ta tuo kysely määriteltiin eri tavalla ja silloin piti table määrittää erikseen.
Koodi:
# For Postfix releases prior to 2.2. See mysql_table(5) for details.
select_field = forw_addr
table = mxaliases
where_field = alias
# Don't forget the leading "AND"!
additional_conditions = AND status = 'paid'

Oletko testannut, että mysql yhteys oikeasti toimii:
mariadb -Dmailserver -u kayttaja -h 127.0.0.1 -p -e "SELECT email FROM virtual_users WHERE email='testi@example.com"

postmap komennolla voit myös testailla:
sudo postmap -v -q testi@example.com mysql:/etc/postfix/mysql-email2email.cf
ja lisäämällä lisäämällä -v argumentteja saat nostettua verbose leveliä.
 
Ja postfix lähti toimimaan ottamalla välilyönnit pois rivien alusta email2email.cf:ssä Nyt thunderbird ei vain suostu näkemään roskapostikansiota, nythän kaikki viestit menevät spämmin kun spämmifiltteriä ei ole vielä opetettu ja olisi mukava siirrellä niitä saapuneet kansioon, 15-mailboxes sisältö dovecotissa on seuraava


##

## Mailbox definitions

##


# Each mailbox is specified in a separate mailbox section. The section name

# specifies the mailbox name. If it has spaces, you can put the name

# "in quotes". These sections can contain the following mailbox settings:

#

# auto:

# Indicates whether the mailbox with this name is automatically created

# implicitly when it is first accessed. The user can also be automatically

# subscribed to the mailbox after creation. The following values are

# defined for this setting:

#

# no - Never created automatically.

# create - Automatically created, but no automatic subscription.

# subscribe - Automatically created and subscribed.

#

# special_use:

# A space-separated list of SPECIAL-USE flags (RFC 6154) to use for the

# mailbox. There are no validity checks, so you could specify anything

# you want in here, but it's not a good idea to use flags other than the

# standard ones specified in the RFC:

#

# \All - This (virtual) mailbox presents all messages in the

# user's message store.

# \Archive - This mailbox is used to archive messages.

# \Drafts - This mailbox is used to hold draft messages.

# \Flagged - This (virtual) mailbox presents all messages in the

# user's message store marked with the IMAP \Flagged flag.

# \Important - This (virtual) mailbox presents all messages in the

# user's message store deemed important to user.

# \Junk - This mailbox is where messages deemed to be junk mail

# are held.

# \Sent - This mailbox is used to hold copies of messages that

# have been sent.

# \Trash - This mailbox is used to hold messages that have been

# deleted.

#

# comment:

# Defines a default comment or note associated with the mailbox. This

# value is accessible through the IMAP METADATA mailbox entries

# "/shared/comment" and "/private/comment". Users with sufficient

# privileges can override the default value for entries with a custom

# value.


# NOTE: Assumes "namespace inbox" has been defined in 10-mail.conf.

namespace inbox {

# These mailboxes are widely used and could perhaps be created automatically:

mailbox Drafts {

special_use = \Drafts

}

mailbox Junk {

special_use = \Junk

}

mailbox Trash {

special_use = \Trash

}


# For \Sent mailboxes there are two widely used names. We'll mark both of

# them as \Sent. User typically deletes one of them if duplicates are created.

mailbox Sent {

special_use = \Sent

}

mailbox "Sent Messages" {

special_use = \Sent

}


# If you have a virtual "All messages" mailbox:

mailbox virtual/All {

special_use = \All

# comment = All my messages

}


# If you have a virtual "Flagged" mailbox:

mailbox virtual/Flagged {

special_use = \Flagged

comment = All my flagged messages

}


# If you have a virtual "Important" mailbox:

#mailbox virtual/Important {

# special_use = \Important

# comment = All my important messages

#}

}
 
Lieneekö ongelma nyt Thunderbirdin asetuksissa. Itse olen kanssa joskus näiden kansa tapellut ja Thunderbirdissä piti välillä käydä jostain syystä tekemässä Imap kansioden refresh ja subscribe, jotta kaikki kansiot tuli näkyviin. Ja sen jälkeen tietysti piti vielä TB:lle kertoa, että mitä kansiota käyttää Junk, Sent, Trash ym. kansiona.

Tietysti voit myös kokeilla:
Koodi:
mailbox Junk {
    special_use = \Junk
    auto = subscribe
}
 
Olisiko muuten postfixille ja dovecotille jotain mukavaa komentorivikäyttöliittymää jonka kautta voisi lisäillä ja poistaa käyttäjiä ja luoda käyttäjille aliaksia, suora mysqlin hakkaaminen on hivenen karua ja uskoisin tähänkin kehitetyn joku mukava avustava cli.
 
Olisiko muuten postfixille ja dovecotille jotain mukavaa komentorivikäyttöliittymää jonka kautta voisi lisäillä ja poistaa käyttäjiä ja luoda käyttäjille aliaksia, suora mysqlin hakkaaminen on hivenen karua ja uskoisin tähänkin kehitetyn joku mukava avustava cli.
Ei ole ainakaan itselleni tullut vastaan. Ongelmahan on se, että näiden esimerkkitoteutusten tietokantamalli on vähän MVP tyyppinen ja vakaviammassa käytössä tietokannan rakenne helposti muuttuu monimutkaisemmaksi jolloin mikään geneerinen esimerkkirakenteeseen nojautuva työkalu ei kuitenkaan toimisi.

Mutta äkkiäkös tuohon muutaman shell-scriptin itselleen vääntää.
 
Olisiko muuten postfixille ja dovecotille jotain mukavaa komentorivikäyttöliittymää jonka kautta voisi lisäillä ja poistaa käyttäjiä ja luoda käyttäjille aliaksia, suora mysqlin hakkaaminen on hivenen karua ja uskoisin tähänkin kehitetyn joku mukava avustava cli.

FreeIPA:lla kyllä onnistuu, mutta on tilanteeseen kyllä totaalisen yliampuva ratkaisu :D.
 
FreeIPA:lla kyllä onnistuu, mutta on tilanteeseen kyllä totaalisen yliampuva ratkaisu :D.
Olisi muutenkin tarkoitus pistää freeipa pyörimään eli mukava plussa on jos tuolla onnistuu hallinta. Hetkinen, taitaa hallinta mennä freeipan omien käyttäjien kautta, mutta eipä tuo ole suuri ongelma, osaako freeipa käyttää käyttäjätietojen tallentamiseen mysql tietokantaa.
 
Olisi muutenkin tarkoitus pistää freeipa pyörimään eli mukava plussa on jos tuolla onnistuu hallinta. Hetkinen, taitaa hallinta mennä freeipan omien käyttäjien kautta, mutta eipä tuo ole suuri ongelma, osaako freeipa käyttää käyttäjätietojen tallentamiseen mysql tietokantaa.

En oo niin syvällisesti vielä tutustunut, mut vaikutelma että ei mene vaan menee LDAP:iin oletuksena ainakin.

Joo ne käyttäjät hallitaan FreeIPA:n webbikälin, tai komentoriviloitsujen kautta ja Dovecot-käyttäjien autentikointi menee Kerberos/GSSAPI:lla FreeIPA:n ja Dovecotin välillä. Itellä on vielä Linux koneet myös yhdistetty tuon FreeIPA:n alle, niin saa katevästi Single Sing On:in käyttöön et ei tarvi käyttäjätunnusta ja salasanaa syöttää jokaiseen sisäverkon palveluun, jos vain tuo Kerberos/GSSAPI-tuki löytyy (kuten Dovecotista).

[edit] Eiku hetkonen LDAP:han on vain protokolla, ei itse tietokanta? Oon ihan pihalla noiden tietokantojen kanssa...
 
Viimeksi muokattu:
En oo niin syvällisesti vielä tutustunut, mut vaikutelma että ei mene vaan menee LDAP:iin oletuksena ainakin.

Joo ne käyttäjät hallitaan FreeIPA:n webbikälin, tai komentoriviloitsujen kautta ja Dovecot-käyttäjien autentikointi menee Kerberos/GSSAPI:lla FreeIPA:n ja Dovecotin välillä. Itellä on vielä Linux koneet myös yhdistetty tuon FreeIPA:n alle, niin saa katevästi Single Sing On:in käyttöön et ei tarvi käyttäjätunnusta ja salasanaa syöttää jokaiseen sisäverkon palveluun, jos vain tuo Kerberos/GSSAPI-tuki löytyy (kuten Dovecotista).

[edit] Eiku hetkonen LDAP:han on vain protokolla, ei itse tietokanta? Oon ihan pihalla noiden tietokantojen kanssa...
Mielenkiintoista, mitä kaikkia palveluita sulla pyörii freeipan autentikaation alla.
 
EIpä enää mitään, dmarc tietueita tutkimalla homma ratkesi.
 
Viimeksi muokattu:
Kuinka vaikea dovecotiin olisi virittää kaksivaiheinen vahvistus, esim totp, mitään valmista toteutusta tuohon ei taida olla, tai en ainakaan sellaista itse löytänyt kun joskus tutkin. ONnistuisiko tuo freeipaa hyväksikäyttäen jotenkin.
 
Kuinka vaikea dovecotiin olisi virittää kaksivaiheinen vahvistus, esim totp, mitään valmista toteutusta tuohon ei taida olla, tai en ainakaan sellaista itse löytänyt kun joskus tutkin. ONnistuisiko tuo freeipaa hyväksikäyttäen jotenkin.

FreeIPA:ssa pystyy ainakin.

[edit] Se luodaan käyttäjäkohtaisesti ne TOTP-avaimet eli ne on käytössä kaikissa palveluissa missä käytetään samaa käyttäjätunnusta. Ei taida pystyä erottelemaan palvelukohtaisesti ilman tupla tunnuksia...
 
FreeIPA:ssa pystyy ainakin.

[edit] Se luodaan käyttäjäkohtaisesti ne TOTP-avaimet eli ne on käytössä kaikissa palveluissa missä käytetään samaa käyttäjätunnusta. Ei taida pystyä erottelemaan palvelukohtaisesti ilman tupla tunnuksia...
Tuo kuulostaa siltä mitä haen ja vielä nitrokey tai yubikey mukaan niin olisi suhteellisen varma systeemi. Ilmeisesti totp:n pystyisi myös dovecotilla hoitamaan pam-moduulien kautta.
 
Tuo kuulostaa siltä mitä haen ja vielä nitrokey tai yubikey mukaan niin olisi suhteellisen varma systeemi. Ilmeisesti totp:n pystyisi myös dovecotilla hoitamaan pam-moduulien kautta.

Noista pam-moduuleista en osaa sanoa mitään.

Yubikey + FreeIPA on itsellä kans vielä edessä kun senkin pitäisi onnistua, sen mitä oon pintapuolisesti tutkinu ja noi Yubikeytkin jo löytyy. Passu + TOTP on turhan kankea admin (sudo) oikeuksilla pelaamiseen. Toi Yubikey ois passeli varmistamaan admin-tason käyttäjiä.
 
Lainaanpa ketjua myös omiin tarpeisiin.

Itelä on ongelmana saada Postfix (Ubuntu 22.04) pelittämään Kerberos/GSSAPI:n kanssa, enkä löydä netistä mitään apuja. Nyt kun Thunderbirdillä koitan lähettää, jotain niin, mitään ei lähde, vaan hetken päästä tulee ilmoitus aikakatkaisusta.

mail.log:issa (alla spoilerien sisässä lainaus suoraan logista) lukee vain: "postfix/smtpd[4351]: warning: SASL per-process initialization failed: error when parsing configuration file", josta en saa mitään irti mikä sillä on ongelmana configin kanssa...

/etc/postfix/main.cf
Koodi:
# 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.

cyrus_sasl_config_path = /etc/postfix/sasl/

#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

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 3.6 on
# fresh installs.
compatibility_level = 3.6

# TLS parameters
smtpd_tls_cert_file = /etc/dovecot/private/fullchain1.pem
smtpd_tls_key_file = /etc/dovecot/private/privkey1.pem
smtpd_tls_security_level = require
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_security_level = require
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_auth_only = yes

# SASL parameters
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_type = cyrus
#smtpd_sasl_type=gssapi
#smtpd_sasl_type = auxprop
#smtpd_sasl_path=/var/run/saslauthd/auth
smtpd_sasl_path = smtpd
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = no

import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY LANG=C KRB5_KTNAME=/etc/postfix/smtp.keytab
#smtpd_client_restrictions = permit_sasl_authenticated, reject

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mail.domain.fi
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, domain.fi, mail.domain.fi, localhost.domain.fi, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.88.0/24
mailbox_size_limit = 0
recipient_delimiter = +
#inet_interfaces = all
inet_interfaces = 192.168.88.6, 127.0.0.1
#inet_protocols = all
inet_protocols = ipv4

/etc/postfix/master.cf
Koodi:
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       y       -       -       smtpd
#smtp      inet  n       -       y       -       1       postscreen
#smtpd     pass  -       -       y       -       -       smtpd
#dnsblog   unix  -       -       y       -       0       dnsblog
#tlsproxy  unix  -       -       y       -       0       tlsproxy
# Choose one: enable submission for loopback clients only, or for any client.
#127.0.0.1:submission inet n -   y       -       -       smtpd
#submission inet n       -       y       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_tls_auth_only=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
# Choose one: enable smtps for loopback clients only, or for any client.
#127.0.0.1:smtps inet n  -       y       -       -       smtpd
#smtps     inet  n       -       y       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=
#  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       y       -       -       qmqpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp
        -o syslog_name=postfix/$service_name
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       y       -       -       showq
error     unix  -       -       y       -       -       error
retry     unix  -       -       y       -       -       error
discard   unix  -       -       y       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       y       -       -       lmtp
anvil     unix  -       -       y       -       1       anvil
scache    unix  -       -       y       -       1       scache
postlog   unix-dgram n  -       n       -       1       postlogd
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRXhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#
# Recent Cyrus versions can use the existing "lmtp" master.cf entry.
#
# Specify in cyrus.conf:
#   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
#
# Specify in main.cf one or more of the following:
#  mailbox_transport = lmtp:inet:localhost
#  virtual_transport = lmtp:inet:localhost
#
# ====================================================================
#
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
#
#cyrus     unix  -       n       n       -       -       pipe
#  flags=DRX user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# ====================================================================
# Old example of delivery via Cyrus.
#
#old-cyrus unix  -       n       n       -       -       pipe
#  flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
#
# ====================================================================
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FRX user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}

/etc/postfix/sasl/smtpd.conf
Koodi:
pwcheck_method: saslauthd
mech_list: GSSAPI
keytab /etc/postfix/smtp.keytab

/var/log/mail.log
Koodi:
Apr 23 20:22:57 mail postfix/smtpd[4433]: warning: SASL per-process initialization failed: error when parsing configuration file
Apr 23 20:22:57 mail postfix/smtpd[4433]: fatal: SASL per-process initialization failed
Apr 23 20:22:58 mail postfix/master[4244]: warning: process /usr/lib/postfix/sbin/smtpd pid 4433 exit status 1
Apr 23 20:22:58 mail postfix/master[4244]: warning: /usr/lib/postfix/sbin/smtpd: bad command startup -- throttling
Apr 23 20:23:58 mail postfix/smtpd[4437]: warning: SASL per-process initialization failed: error when parsing configuration file
Apr 23 20:23:58 mail postfix/smtpd[4437]: fatal: SASL per-process initialization failed
Apr 23 20:23:59 mail postfix/master[4244]: warning: process /usr/lib/postfix/sbin/smtpd pid 4437 exit status 1
Apr 23 20:23:59 mail postfix/master[4244]: warning: /usr/lib/postfix/sbin/smtpd: bad command startup -- throttling
Apr 23 20:24:59 mail postfix/smtpd[4445]: warning: SASL per-process initialization failed: error when parsing configuration file
Apr 23 20:24:59 mail postfix/smtpd[4445]: fatal: SASL per-process initialization failed
Apr 23 20:25:00 mail postfix/master[4244]: warning: process /usr/lib/postfix/sbin/smtpd pid 4445 exit status 1
Apr 23 20:25:00 mail postfix/master[4244]: warning: /usr/lib/postfix/sbin/smtpd: bad command startup -- throttling
Apr 23 20:26:00 mail postfix/smtpd[4456]: warning: SASL per-process initialization failed: error when parsing configuration file
Apr 23 20:26:00 mail postfix/smtpd[4456]: fatal: SASL per-process initialization failed
Apr 23 20:26:01 mail postfix/master[4244]: warning: process /usr/lib/postfix/sbin/smtpd pid 4456 exit status 1
Apr 23 20:26:01 mail postfix/master[4244]: warning: /usr/lib/postfix/sbin/smtpd: bad command startup -- throttling

Dovecot/IMAP/GSSAPI-kombo toimii ongelmitta GSSAPI:lla ja SSL/TLS:llä, niin sen osalta GSSAPI on varmistettu toimivaksi kyseisellä koneella. Toi Postfixin säätö on vaan pirun vaikeaa...

[EDIT] Homma nytkähti eteenpäin kun löysin miten saan Postfixin olemaan äänekkäämpi ja tiputin samalla varmuuden vuoksi Postfixin pois chrootista seuraavasti: /etc/postfix/master.cf: smtp inet n - y - - smtpd --> smtp inet n - n - - smtpd -v. Sen myötä logiin ilmestyi vihje fatal: Invalid TLS level "require", jonka perusteella tajusin muokata /etc/postfix/main.cf:tä rivit smtpd_tls_security_level = require ja smtp_tls_security_level = require niin, että "require" tilalle tulee "encrypt".

Nyt mail.log antaa seuraavaa:
Koodi:
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: ipv4
Apr 23 21:36:20 mail postfix/smtpd[1708]: inet_addr_local: configured 2 IPv4 addresses
Apr 23 21:36:20 mail postfix/smtpd[1708]: process generation: 3 (3)
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? permit_mx_backup_networks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? qmqpd_authorized_clients
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? relay_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_client_event_limit_exceptions ~? smtpd_access_maps
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: smtpd_client_event_limit_exceptions: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: host
Apr 23 21:36:20 mail postfix/smtpd[1708]: been_here: 127.0.0.1/32: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: been_here: 192.168.88.6/32: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: mynetworks_core: 127.0.0.1/32 192.168.88.6/32
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: mynetworks ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? permit_mx_backup_networks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? qmqpd_authorized_clients
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: relay_domains ~? relay_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: permit_mx_backup_networks ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: permit_mx_backup_networks ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: permit_mx_backup_networks ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: permit_mx_backup_networks ~? permit_mx_backup_networks
Apr 23 21:36:20 mail postfix/smtpd[1708]: connect to subsystem private/proxymap
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/proxymap socket: wanted attribute: protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: proxymap_protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/proxymap socket: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = open
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr table = unix:passwd.byname
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr flags = 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/proxymap socket: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/proxymap socket: wanted attribute: flags
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: flags
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 16
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/proxymap socket: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: dict_proxy_open: connect to map=unix:passwd.byname status=0 server_flags=fixed
Apr 23 21:36:20 mail postfix/smtpd[1708]: dict_open: proxy:unix:passwd.byname
Apr 23 21:36:20 mail postfix/smtpd[1708]: Compiled against Berkeley DB: 5.3.28?
Apr 23 21:36:20 mail postfix/smtpd[1708]: Run-time linked against Berkeley DB: 5.3.28?
Apr 23 21:36:20 mail postfix/smtpd[1708]: dict_open: hash:/etc/aliases
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? mynetworks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? permit_mx_backup_networks
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? qmqpd_authorized_clients
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? relay_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: smtpd_access_maps ~? smtpd_access_maps
Apr 23 21:36:20 mail postfix/smtpd[1708]: unknown_helo_hostname_tempfail_action = defer_if_permit
Apr 23 21:36:20 mail postfix/smtpd[1708]: unknown_address_tempfail_action = defer_if_permit
Apr 23 21:36:20 mail postfix/smtpd[1708]: unverified_recipient_tempfail_action = defer_if_permit
Apr 23 21:36:20 mail postfix/smtpd[1708]: unverified_sender_tempfail_action = defer_if_permit
Apr 23 21:36:20 mail postfix/smtpd[1708]: xsasl_cyrus_server_init: SASL config file is smtpd.conf
Apr 23 21:36:20 mail postfix/smtpd[1708]: dict_open: static:rest
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: auto_clnt_create: transport=local endpoint=private/tlsmgr
Apr 23 21:36:20 mail postfix/smtpd[1708]: auto_clnt_open: connected to private/tlsmgr
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: tlsmgr_protocol
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr size = 32
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: <seed>
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = policy
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr cache_type = smtpd
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: cachable
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: cachable
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: timeout
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: timeout
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 3600
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: fast_flush_domains ~? debug_peer_list
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: parent_domain_matches_subdomains: fast_flush_domains ~? fast_flush_domains
Apr 23 21:36:20 mail postfix/smtpd[1708]: auto_clnt_create: transport=local endpoint=private/anvil
Apr 23 21:36:20 mail postfix/smtpd[1708]: connection established
Apr 23 21:36:20 mail postfix/smtpd[1708]: master_notify: status 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: resource
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: software
Apr 23 21:36:20 mail postfix/smtpd[1708]: connect from asiakas1.domain.fi[192.168.88.11]
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: asiakas1.domain.fi: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: 192.168.88.11: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: asiakas1.domain.fi: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: 192.168.88.11: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: smtp_stream_setup: maxtime=300 enable_deadline=0
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? 127.0.0.0/8
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? 127.0.0.0/8
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? [::ffff:127.0.0.0]/104
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? [::ffff:127.0.0.0]/104
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? [::1]/128
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? [::1]/128
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? 192.168.88.0/24
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? 192.168.88.0/24
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 220 mail.domain.fi ESMTP Postfix (Ubuntu)
Apr 23 21:36:20 mail postfix/smtpd[1708]: < asiakas1.domain.fi[192.168.88.11]: EHLO [192.168.88.11]
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: asiakas1.domain.fi: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: 192.168.88.11: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-mail.domain.fi
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-PIPELINING
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-SIZE 10240000
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-VRFY
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-ETRN
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-STARTTLS
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-ENHANCEDSTATUSCODES
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-8BITMIME
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-DSN
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-SMTPUTF8
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250 CHUNKING
Apr 23 21:36:20 mail postfix/smtpd[1708]: < asiakas1.domain.fi[192.168.88.11]: STARTTLS
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 220 2.0.0 Ready to start TLS
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr size = 32
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: seed
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: <key>
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = tktkey
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr keyname = [data 16 bytes]
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 4294967295
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: keybuf
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: keybuf
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: <key>
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr request = tktkey
Apr 23 21:36:20 mail postfix/smtpd[1708]: send attr keyname = [data 0 bytes]
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: status
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: 0
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: keybuf
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: keybuf
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute value: <key>
Apr 23 21:36:20 mail postfix/smtpd[1708]: private/tlsmgr: wanted attribute: (list terminator)
Apr 23 21:36:20 mail postfix/smtpd[1708]: input attribute name: (end)
Apr 23 21:36:20 mail postfix/smtpd[1708]: xsasl_cyrus_server_create: SASL service=smtp, realm=(null)
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: noanonymous
Apr 23 21:36:20 mail postfix/smtpd[1708]: name_mask: noplaintext
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: smtpd_sasl_mechanism_filter: gssapi ~? external
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_string: smtpd_sasl_mechanism_filter: gssapi ~? static:rest(0,lock|utf8_request)
Apr 23 21:36:20 mail postfix/smtpd[1708]: sasl_mech_filter: keep SASL mechanism: 'GSSAPI'
Apr 23 21:36:20 mail postfix/smtpd[1708]: < asiakas1.domain.fi[192.168.88.11]: EHLO [192.168.88.11]
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: asiakas1.domain.fi: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_list_match: 192.168.88.11: no match
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-mail.domain.fi
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-PIPELINING
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-SIZE 10240000
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-VRFY
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-ETRN
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-AUTH GSSAPI
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-ENHANCEDSTATUSCODES
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-8BITMIME
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-DSN
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250-SMTPUTF8
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 250 CHUNKING
Apr 23 21:36:20 mail postfix/smtpd[1708]: warning: asiakas1.domain.fi[192.168.88.11]: request longer than 2048: AUTH GSSAPI <avain>...
Apr 23 21:36:20 mail postfix/smtpd[1708]: < asiakas1.domain.fi[192.168.88.11]: AUTH GSSAPI <avain>
Apr 23 21:36:20 mail postfix/smtpd[1708]: xsasl_cyrus_server_first: sasl_method GSSAPI, init_response <avain1>
Apr 23 21:36:20 mail postfix/smtpd[1708]: xsasl_cyrus_server_first: decoded initial response `?????*?H???????
Apr 23 21:36:20 mail postfix/smtpd[1708]: warning: SASL authentication failure: GSSAPI Error: No credentials were supplied, or the credentials were unavailable or inaccessible (Permission denied)
Apr 23 21:36:20 mail postfix/smtpd[1708]: warning: asiakas1.domain.fi[192.168.88.11]: SASL GSSAPI authentication failed: generic failure
Apr 23 21:36:20 mail postfix/smtpd[1708]: > asiakas1.domain.fi[192.168.88.11]: 454 4.7.0 Temporary authentication failure: generic failure
Apr 23 21:36:20 mail postfix/smtpd[1708]: smtp_get: EOF
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? 127.0.0.0/8
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? 127.0.0.0/8
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? [::ffff:127.0.0.0]/104
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? [::ffff:127.0.0.0]/104
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? [::1]/128
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? [::1]/128
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostname: smtpd_client_event_limit_exceptions: asiakas1.domain.fi ~? 192.168.88.0/24
Apr 23 21:36:20 mail postfix/smtpd[1708]: match_hostaddr: smtpd_client_event_limit_exceptions: 192.168.88.11 ~? 192.168.88.0/24
Apr 23 21:36:20 mail postfix/smtpd[1708]: lost connection after AUTH from asiakas1.domain.fi[192.168.88.11]
Apr 23 21:36:20 mail postfix/smtpd[1708]: disconnect from asiakas1.domain.fi[192.168.88.11] ehlo=2 starttls=1 auth=0/1 commands=3/4
Apr 23 21:36:20 mail postfix/smtpd[1708]: master_notify: status 1
Apr 23 21:36:20 mail postfix/smtpd[1708]: connection closed
Apr 23 21:36:25 mail postfix/smtpd[1708]: proxymap stream disconnect
Apr 23 21:36:25 mail postfix/smtpd[1708]: auto_clnt_close: disconnect private/tlsmgr stream
Apr 23 21:36:39 mail dovecot: imap-login: Login: user=<käyttäjä1@domain.fi>, method=GSSAPI, rip=192.168.88.11, lip=192.168.88.6, mpid=1714, TLS, session=<avain>

Siis toi GSSAPI avainhan luodaan käyttäjälle samalla kun kirjautuu sisään. Eikö sen pitäis sillä pystyä autentikoimaan?

[EDT] Varmistin, että toi avain tosiaan luodaan kun yritän lähettää mailia.
$ klist
Koodi:
Ticket cache: FILE:/tmp/krb5cc_815200012_MxahVy
Default principal: käyttäjä1@DOMAIN.FI

Valid starting       Expires              Service principal
23.04.2023 22.51.36  24.04.2023 21.56.52  krbtgt/DOMAIN.FI@DOMAIN.FI
23.04.2023 22.51.37  24.04.2023 21.56.52  nfs/keskus.domain.fi@DOMAIN.FI
23.04.2023 22.51.58  24.04.2023 21.56.52  imap/mail.domain.fi@DOMAIN.FI
23.04.2023 22.52.59  24.04.2023 21.56.52  host/mail.domain.fi@DOMAIN.FI
23.04.2023 22.59.16  24.04.2023 21.56.52  smtp/mail.domain.fi@DOMAIN.FI
 
Viimeksi muokattu:
Tuo kuulostaa siltä mitä haen ja vielä nitrokey tai yubikey mukaan niin olisi suhteellisen varma systeemi. Ilmeisesti totp:n pystyisi myös dovecotilla hoitamaan pam-moduulien kautta.

Tuon Yubikeyn liittäminen 2FA:ksi FreeIPA:ssa olikin helpompi mitä kuvittelin, kun aikaisemmin olin tutkinut väärää ohjetta: Using Yubikey 4 Nano to authenticate to FreeIPA enrolled host - FreeIPA

Nyt löyty se oikea ohje: 22.3. One-Time Passwords Red Hat Enterprise Linux 7 | Red Hat Customer Portal . Tuossa jouduin käyttämään komentoa ipa otptoken-add-yubikey --slot=1 kun molemmat slotit oli jo käytössä. Tuokin aiheutti aluksi ihmettelyä, kun pistin vara-avaimeen --slot=2 ja ihmettelin, että miksei se toimi. Yubico-managerista selvisi, että slot1 = lyhyt painallus ja slot2 = pitkä painallus. En edes tiennyt tuosta, että Yubikey 5 NFC:stä löytyy tuollainen "pitkä painallus" toiminto kun olen aina käyttänyt vain lyhyttä painallusta...

Tuon jälkeen pitää tietenkin vielä muokata FreeIPA:ssa käyttäjän autentikointi tyypiksi "Two factor authentication (password + OTP)", niin avaimet alkoivat toimimaan.

Tässä samalla hoksasin pienen käytettävyyttä heikentävän asian tuossa Yubikey 5 NFC:ssä. Siittä ei saa mitään palautetta reagoiko se painallukseen, vai ei. Etenkin Linukan terminaalikäytössä se vähän häiritsee kun se ei oletuksena näytä mitään passukentässä. Toistaiseksi kaikki painallukset on menny kyllä kerralla perille...
 
Olisiko muuten postfixille ja dovecotille jotain mukavaa komentorivikäyttöliittymää jonka kautta voisi lisäillä ja poistaa käyttäjiä ja luoda käyttäjille aliaksia, suora mysqlin hakkaaminen on hivenen karua ja uskoisin tähänkin kehitetyn joku mukava avustava cli.
Itsellä on käytössä hyvin yksinkertainen konfiguraatio:
- ei SQL-kantaa ollenkaan vaan postit menevät mailbox-tiedostoihin /var/spool/mail-hakemistossa. Tulee isoja tiedostoja mutta onko se oikeasti ongelma nykyaikana?
- uudet käyttäjät lisätään adduser-komennolla uusiksi palvelimen käyttäjiksi. Tässä olen kludgettanut niin, että shelliksi /etc/passwd:ssä olen laittanut /usr/bin/passwd. :cool:
- postien ohjaus /etc/postfix/virtual-tiedostossa. Uusi käyttäjä, uusi rivi tänne tai postit menevät <anything-else>-laatikkoon. Tänne voi lisätä myös aliakset.

Nämä toimivat tarpeeksi hyvin privaattipalvelimella. En lähtisi tekemään isomman firman postipalvelinta tältä pohjalta.

[EDIT] korjattu /etc/passwd shell /usr/passwd -> usr/bin/passwd
 
Viimeksi muokattu:
Tuon Yubikeyn liittäminen 2FA:ksi FreeIPA:ssa olikin helpompi mitä kuvittelin, kun aikaisemmin olin tutkinut väärää ohjetta: Using Yubikey 4 Nano to authenticate to FreeIPA enrolled host - FreeIPA

Nyt löyty se oikea ohje: 22.3. One-Time Passwords Red Hat Enterprise Linux 7 | Red Hat Customer Portal . Tuossa jouduin käyttämään komentoa ipa otptoken-add-yubikey --slot=1 kun molemmat slotit oli jo käytössä. Tuokin aiheutti aluksi ihmettelyä, kun pistin vara-avaimeen --slot=2 ja ihmettelin, että miksei se toimi. Yubico-managerista selvisi, että slot1 = lyhyt painallus ja slot2 = pitkä painallus. En edes tiennyt tuosta, että Yubikey 5 NFC:stä löytyy tuollainen "pitkä painallus" toiminto kun olen aina käyttänyt vain lyhyttä painallusta...

Tuon jälkeen pitää tietenkin vielä muokata FreeIPA:ssa käyttäjän autentikointi tyypiksi "Two factor authentication (password + OTP)", niin avaimet alkoivat toimimaan.

Tässä samalla hoksasin pienen käytettävyyttä heikentävän asian tuossa Yubikey 5 NFC:ssä. Siittä ei saa mitään palautetta reagoiko se painallukseen, vai ei. Etenkin Linukan terminaalikäytössä se vähän häiritsee kun se ei oletuksena näytä mitään passukentässä. Toistaiseksi kaikki painallukset on menny kyllä kerralla perille...
Millä distrolla pyörität freeipaa, centosilla vaiko fedoralla, taitaa tuon myös rockylinuxille saada.
 

Statistiikka

Viestiketjuista
258 396
Viestejä
4 489 757
Jäsenet
74 154
Uusin jäsen
Almedin

Hinta.fi

Back
Ylös Bottom