Puncte:2

Format diferit de fișier jurnal postfix atunci când vă conectați la un fișier separat (filelog_file)

drapel gh

Pentru a separa jurnalele de e-mail de jurnalele generale ale sistemului, am adăugat această linie la /etc/postfix/main.cf

maillog_file = /var/log/postfix.log

După cum era de așteptat, un fișier /var/log/postfix.log este creat și nu mai există postfix intrări în var/log/syslog. Din păcate, se pare că acest lucru va schimba și conținutul intrărilor de jurnal. Aceasta este ceea ce primesc în postfix.log (mi-am schimbat numele de domeniu inițial împotriva exemplu.com Aici)

23 mai 17:33:15 exemplu postfix/qmgr[662299]: E7DB742646: from=<[email protected]>, size=549252, nrcpt=1 (coada activă)
23 mai 17:33:15 exemplu postfix/qmgr[662299]: D7DA646E85: eliminat

Când îl schimb înapoi (și am schimbat înainte și înapoi de mai multe ori pentru a fi sigur), și după ce am trimis din nou același e-mail, primesc acest lucru în syslog.

23 mai 17:33:52 exemplu2020 postfix/smtp[664151]: DE7EA4265D: to=<[email protected]>, relay=mail.example.com[11.111.11.111]:25, delay=1.7, delays=0. 0.02/0.11/1.5, dsn=2.0.0, stare=trimis (250 2.0.0 Ok: în coadă ca 1BC7874B3A)
23 mai 17:33:52 exemplu2020 postfix/qmgr[664141]: DE7EA4265D: eliminat

Evident, există o mulțime de diferențe.Mai întâi, un nume de server diferit este dat după dată (exemplu este setat in /etc/mailname, exemplu2020 este specificat în /etc/hostname). În al doilea rând, doar postfix/qmgr intrările sunt înregistrate, dar nu postfix/smtp care conțin informații suplimentare. Același lucru este valabil și pentru var/log/mail.log care nu mai primește aceste înregistrări.

Deci, iată două întrebări...

(1) De ce postfix (mail_version = 3.4.13) înregistrați informații diferite (nu mai multe postfix/smtp) de îndată ce precizez a maillog_file?

(2) Orice idee despre cum să spun postfix că îmi vreau postfix/smtp informații înapoi?

Configurare Postfix

$ postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = nr
biff = nu
bounce_queue_lifetime = 24h
compatibility_level = 2
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = all
cutie_poștală_size_limit = 0
maillog_file = /var/log/postfix.log # Acesta este generatorul de probleme
maximal_queue_lifetime = 36h
limită_dimensiunea mesajului = 67108864
milter_default_action = accept
milter_protocol = 6
mydestination = exemplu2020 # Numele gazdei înlocuit cu „exemplu”
myhostname = example.com
rețelele mele = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
non_smtpd_milters = inet:localhost:8892
readme_directory = nr
destinatar_delimiter = +
relayhost =
sender_canonical_maps = hash:/etc/postfix/senders
smtp_bind_address = 11.111.11.111
smtp_bind_address6 = 2a02:xxxx:0:xxxx::xx
smtp_destination_concurrency_limit = 3
smtp_tls_CApath = /etc/ssl/certs
smtp_tls_cert_file = /var/www/ssl/example.cert
smtp_tls_key_file = /var/www/ssl/example.key
smtp_tls_security_level = mai
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_milters = inet:localhost:8892 # Acesta este pentru OpenDKIM
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_sasl_security_options = nu anonim
smtpd_tls_cert_file = /var/www/ssl/example.cert
smtpd_tls_exclude_ciphers = ECDHE-RSA-RC4-SHA
smtpd_tls_key_file = /var/www/ssl/example.key
smtpd_tls_mandatory_ciphers = mare
smtpd_tls_mandatory_exclude_ciphers = ECDHE-RSA-RC4-SHA
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_security_level = mai
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = da
tls_high_cipherlist = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AESNULL128:+AESNULL128:! :!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
tls_ssl_options = NO_COMPRESSION
virtual_alias_maps = hash:/etc/postfix/virtual


$ postconf -M

smtp inet n - y - - smtpd
pickup unix n - y 60 1 pickup
curatare unix n - y - 0 curatare
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rescrie unix - - y - - trivial-rescriere
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 săritură
verifica unix - - y - 1 verifica
spălați Unix n - y 1000? 0 culoare
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
releu unix - - y - - smtp -o syslog_name=postfix/$service_name
showq unix n - y - - showq
eroare unix - - y - - eroare
reîncercați Unix - - y - - eroare
arunca unix - - y - - arunca
unix local - n n - - local
unix virtual - n n - - virtual
lmtp unix - - y - - lmtp
nicovală unix - - y - 1 nicovală
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${destinatar}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($destinatar)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($destinatar)
bsmtp unix - n n - - steaguri pipe=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $destinatar
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=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
anx avatar
drapel fr
anx
Recomand *foarte-* să lăsați formatarea și deciziile de jurnal pe seama demonului dvs. de logare a sistemului (rsyslog, systemd-journal, ..) și să configurați ajustări acolo sau în instrumentele care le analizează fișierele. *Bănuiesc* că problema dvs. este legată de suprascrieri conflictuale care fac ca destinația alternativă a jurnalului dvs. să fie ineficientă, așa că vă rugăm să [distribuiți](https://serverfault.com/posts/1101621/edit) configurația dvs. așa cum este [recomandat în etichetă](https:/ /serverfault.com/questions/tagged/postfix).
drapel gh
Vă mulțumim pentru sugestia despre recomandările de etichete! Am adăugat configurația de mai sus. În ceea ce privește recomandarea de a lăsa jurnalul pe seama demonului... Aș face, dacă nu ar exista motive regulate care să impună să stochez jurnalele de e-mail (care includ adrese de e-mail, adică date personale) separat de jurnalele generale ale sistemului.
anx avatar
drapel fr
anx
Ați repornit complet postfix? Deoarece înregistrarea este configurată prin intermediul ENV transmis, o reîncărcare parțială poate crea aspectul unui postfix folosind o nouă setare, dar numai pentru că *unele* dintre servicii încep să se înregistreze acolo.
drapel gh
Repornirea este o idee bună, dar nu cred că a cauzat problema: serverul făcuse o repornire completă înainte să fi observat intrările de jurnal „lipsă” pentru postfix/smtp. După ce ați comentat opțiunea `maillog_file` și am făcut un `systemctl restart postfix`, noi intrări postfix/smtp au fost scrise în `syslog` pentru e-mailuri noi. Și nu au fost scrise altele după reactivarea opțiunii plus `systemctl restart postfix`.
Puncte:1
drapel in

Pentru a separa jurnalele de e-mail de jurnalele generale ale sistemului, am adăugat această linie la /etc/postfix/main.cf

Acesta nu este cel mai bun mod, așa cum a comentat @anx, vă recomandăm cu căldură să lăsați formatarea și deciziile de înregistrare în seama demonului dvs. de logare a sistemului.

Pentru informarea ta rsylogd adună deja jurnalele postfix din /var/spool/postfix/dev/log fișier socket (vezi interior /etc/rsyslog.d/postfix.conf) și aceasta rămâne cea mai curată cale.

Aruncă o privire la dvs /etc/rsyslog.conf și trebuie să existe o linie care arată astfel:

*.*;mail,auth,authpriv.none -/var/log/syslog

Pentru a spune rsyslogd să nu scrie în interior intrări de jurnal legate de e-mail /var/log/syslog, schimbați-l în (rețineți că .nici unul):

*.*;mail.none,auth,authpriv.none -/var/log/syslog

Există deja o linie care îi spune să înregistreze toate lucrurile legate de e-mail /var/log/mail.log (schimbați-l în orice fișier dacă doriți) mai jos, astfel încât să nu aveți nevoie să editați fișierul de configurare postfix:

mail.* -/var/log/mail.log

Pentru a răspunde la întrebările dvs.:

(1) De ce postfix (mail_version = 3.4.13) înregistrează informații diferite (nu mai sunt postfix/smtp) imediat ce specific un maillog_file?

Master.cf dvs. ne spune că utilizați postfix în modul chrootat. Dar al tău qmgr demonul nu este crootat, astfel încât practic poate scrie în orice fișier jurnal, spre deosebire de dvs smtp demonul.

(2) Aveți idei despre cum să spun postfix că vreau informațiile mele postfix/smtp înapoi?

Informațiile tale nu au dispărut, dar mulți dintre demonii tăi nu pot rupe chroot-ul, așa că nu pot scrie direct /var/log/postfix.log așa cum intenționați. O opțiune ar fi dezrootarea lor prin comutarea chroot coloana la n în master.cf dvs., dar din nou, niciun om sănătos nu ar recomanda asta.

CONCLUZIE: Opțiunea ta cea mai bună și cea mai sigură este să-ți modifici rsylogd configurația descrisă mai devreme.

anx avatar
drapel fr
anx
Aceasta explică cum să o faci cu rsyslog, dar nu cred că asta explică de ce abordarea originală nu funcționează. Verificați linia `postlog unix-dgram` din `master.cf`, care pare corectă și ar trebui să redirecționeze jurnalul pentru serviciile chrootate.
anx avatar
drapel fr
anx
Postfixul `3.4.13` sună ca o versiune pe care o folosește cineva care folosește un Debian (-derivat) (cineva care urmărește direct 3.4.x stabil în amonte ar folosi `3.4.24` până acum), așa că în timp ce jurnalele ar putea fi transmise la `rsyslogd` , ar mai exista stocare suplimentară de jurnal persistentă prin `systemd-journald`.
drapel gh
Raspuns foarte elaborat, multumesc! Pentru cei care caută același răspuns, aș dori să anunț că linia respectivă poate fi găsită în `/etc/rsyslog.d/50-default.conf` și că s-ar putea să nu existe un `mail` explicit, dar adăugând `mail .none` în linia cu `-/var/log/syslog` funcționează exact așa cum este specificat în răspuns.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.