ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE

ืจื™ืฉื•ื ืฉืœ ื›ืœ ื”ืื™ืจื•ืขื™ื ื”ืžืชืจื—ืฉื™ื ื”ื•ื ืื—ืช ื”ืคื•ื ืงืฆื™ื•ืช ื”ื—ืฉื•ื‘ื•ืช ื‘ื™ื•ืชืจ ืฉืœ ื›ืœ ืžืขืจื›ืช ืืจื’ื•ื ื™ืช. ื™ื•ืžื ื™ื ืžืืคืฉืจื™ื ืœืš ืœืคืชื•ืจ ื‘ืขื™ื•ืช ืฆืฆื•ืช, ืœื‘ืงืจ ืืช ืคืขื•ืœืช ืžืขืจื›ื•ืช ื”ืžื™ื“ืข ื•ื’ื ืœื—ืงื•ืจ ืื™ืจื•ืขื™ ืื‘ื˜ื—ืช ืžื™ื“ืข. Zimbra OSE ื’ื ืฉื•ืžืจืช ื™ื•ืžื ื™ื ืžืคื•ืจื˜ื™ื ืฉืœ ืคืขื•ืœืชื•. ื”ื ื›ื•ืœืœื™ื ืืช ื›ืœ ื”ื ืชื•ื ื™ื ืžื‘ื™ืฆื•ืขื™ ื”ืฉืจืช ื•ืขื“ ืฉืœื™ื—ื” ื•ืงื‘ืœื” ืฉืœ ืžื™ื™ืœื™ื ืขืœ ื™ื“ื™ ืžืฉืชืžืฉื™ื. ืขื ื–ืืช, ืงืจื™ืืช ื”ื™ื•ืžื ื™ื ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ Zimbra OSE ื”ื™ื ืžืฉื™ืžื” ืœื ื˜ืจื™ื•ื•ื™ืืœื™ืช ืœืžื“ื™. ื‘ืžืืžืจ ื–ื”, ื‘ืขื–ืจืช ื“ื•ื’ืžื” ืกืคืฆื™ืคื™ืช, ื ืกืคืจ ืœื›ื ื›ื™ืฆื“ ืœืงืจื•ื ืืช ื™ื•ืžื ื™ Zimbra OSE, ื›ืžื• ื’ื ื›ื™ืฆื“ ืœื”ืคื•ืš ืื•ืชื ืœืจื™ื›ื•ื–ื™ื™ื.

ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE
Zimbra OSE ืžืื—ืกืŸ ืืช ื›ืœ ื”ื™ื•ืžื ื™ื ื”ืžืงื•ืžื™ื™ื ื‘ืชื™ืงื™ื™ื” /opt/zimbra/log, ื•ื ื™ืชืŸ ืœืžืฆื•ื ื™ื•ืžื ื™ื ื’ื ื‘ืงื•ื‘ืฅ /var/log/zimbra.log. ื”ื—ืฉื•ื‘ ืฉื‘ื”ื ื”ื•ื mailbox.log. ื”ื•ื ืžืชืขื“ ืืช ื›ืœ ื”ืคืขื•ืœื•ืช ื”ืžืชืจื—ืฉื•ืช ื‘ืฉืจืช ื”ื“ื•ืืจ. ืืœื” ื›ื•ืœืœื™ื ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ื“ื•ื"ืœ, ื ืชื•ื ื™ ืื™ืžื•ืช ืžืฉืชืžืฉื™ื, ื ื™ืกื™ื•ื ื•ืช ื”ืชื—ื‘ืจื•ืช ื›ื•ืฉืœื™ื ื•ืื—ืจื™ื. ืขืจื›ื™ื ื‘-mailbox.log ื”ื ืžื—ืจื•ื–ืช ื˜ืงืกื˜ ื”ืžื›ื™ืœื” ืืช ื”ืฉืขื” ืฉื‘ื” ื”ืชืจื—ืฉ ื”ืื™ืจื•ืข, ืจืžืช ื”ืื™ืจื•ืข, ืžืกืคืจ ื”ืฉืจืฉื•ืจ ืฉื‘ื• ื”ืชืจื—ืฉ ื”ืื™ืจื•ืข, ืฉื ื”ืžืฉืชืžืฉ ื•ื›ืชื•ื‘ืช ื”-IP, ื•ื›ืŸ ืชื™ืื•ืจ ื˜ืงืกื˜ ืฉืœ ื”ืื™ืจื•ืข. .

ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE

ืจืžืช ื”ื™ื•ืžืŸ ืžืฆื™ื™ื ืช ืืช ืžื™ื“ืช ื”ื”ืฉืคืขื” ืฉืœ ื”ืื™ืจื•ืข ืขืœ ืคืขื•ืœืช ื”ืฉืจืช. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื™ืฉื ืŸ 4 ืจืžื•ืช ืื™ืจื•ืขื™ื: INFO, WARN, ERROR ื•-FATAL. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื›ืœ ื”ืจืžื•ืช ื‘ืกื“ืจ ื’ื•ื‘ืจ ืฉืœ ื—ื•ืžืจื”.

  • INFO - ืื™ืจื•ืขื™ื ื‘ืจืžื” ื–ื• ื ื•ืขื“ื• ื‘ื“ืจืš ื›ืœืœ ืœื™ื™ื“ืข ืขืœ ื”ื”ืชืงื“ืžื•ืช ืฉืœ Zimbra OSE. ื”ื•ื“ืขื•ืช ื‘ืจืžื” ื–ื• ื›ื•ืœืœื•ืช ื“ื™ื•ื•ื—ื™ื ืขืœ ื™ืฆื™ืจื” ืื• ืžื—ื™ืงื” ืฉืœ ืชื™ื‘ืช ื“ื•ืืจ ื•ื›ืŸ ื”ืœืื”.
  • ืื–ื”ืจื” - ืื™ืจื•ืขื™ื ื‘ืจืžื” ื–ื• ืžื•ื“ื™ืขื™ื ืขืœ ืžืฆื‘ื™ื ืฉืขืœื•ืœื™ื ืœื”ื™ื•ืช ืžืกื•ื›ื ื™ื, ืืš ืื™ื ื ืžืฉืคื™ืขื™ื ืขืœ ืคืขื•ืœืช ื”ืฉืจืช. ืœื“ื•ื’ืžื”, ืจืžืช WARN ืžืกืžื ืช ื”ื•ื“ืขื” ืขืœ ื ื™ืกื™ื•ืŸ ื›ื ื™ืกื” ืฉืœ ืžืฉืชืžืฉ ืฉื ื›ืฉืœ.
  • ERROR - ืจืžืช ืื™ืจื•ืขื™ื ื–ื• ื‘ื™ื•ืžืŸ ืžื•ื“ื™ืขื” ืขืœ ื”ืชืจื—ืฉื•ืช ืฉื’ื™ืื” ื‘ืขืœืช ืื•ืคื™ ืžืงื•ืžื™ ื•ืื™ื ื” ืžืคืจื™ืขื” ืœืคืขื•ืœืช ื”ืฉืจืช. ืจืžื” ื–ื• ื™ื›ื•ืœื” ืœืกืžืŸ ืฉื’ื™ืื” ืฉื‘ื” ื ืชื•ื ื™ ื”ืื™ื ื“ืงืก ืฉืœ ืžืฉืชืžืฉ ื‘ื•ื“ื“ ื ืคื’ืžื•.
  • FATAL - ืจืžื” ื–ื• ืžืฆื‘ื™ืขื” ืขืœ ืฉื’ื™ืื•ืช ืฉื‘ื’ืœืœืŸ ื”ืฉืจืช ืœื ื™ื›ื•ืœ ืœื”ืžืฉื™ืš ืœืคืขื•ืœ ื›ืจื’ื™ืœ. ืœื“ื•ื’ืžื”, ืจืžืช ื”-FATAL ืชื”ื™ื” ืขื‘ื•ืจ ืจืฉื•ืžื” ื”ืžืฆื™ื™ื ืช ืืช ื—ื•ืกืจ ื”ื™ื›ื•ืœืช ืœื”ืชื—ื‘ืจ ืœ-DBMS.

ืงื•ื‘ืฅ ื”ื™ื•ืžืŸ ืฉืœ ืฉืจืช ื”ื“ื•ืืจ ืžืชืขื“ื›ืŸ ืžื“ื™ ื™ื•ื. ืœื’ืจืกื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ ืฉืœ ื”ืงื•ื‘ืฅ ื™ืฉ ืชืžื™ื“ ืืช ื”ืฉื Mailbox.log, ื‘ืขื•ื“ ืฉืœื™ื•ืžื ื™ื ืœืชืืจื™ืš ืžืกื•ื™ื ื™ืฉ ืชืืจื™ืš ื‘ืฉื ื•ื”ื ื›ืœื•ืœื™ื ื‘ืืจื›ื™ื•ืŸ. ืœืžืฉืœ mailbox.log.2020-09-29.tar.gz. ื–ื” ืžืงืœ ื”ืจื‘ื” ื™ื•ืชืจ ืขืœ ื’ื™ื‘ื•ื™ ื™ื•ืžื ื™ ืคืขื™ืœื•ืช ื•ื—ื™ืคื•ืฉ ื‘ื™ื•ืžื ื™ื.

ืœื ื•ื—ื™ื•ืช ืžื ื”ืœ ื”ืžืขืจื›ืช, ื”ืชื™ืงื™ื” /opt/zimbra/log/ ืžื›ื™ืœื” ื™ื•ืžื ื™ื ืื—ืจื™ื. ื”ื ื›ื•ืœืœื™ื ืจืง ืขืจื›ื™ื ื”ืงืฉื•ืจื™ื ืœืืœืžื ื˜ื™ื ืกืคืฆื™ืคื™ื™ื ืฉืœ Zimbra OSE. ืœื“ื•ื’ืžื”, audit.log ืžื›ื™ืœ ืจืง ืจืฉื•ืžื•ืช ืขืœ ืื™ืžื•ืช ืžืฉืชืžืฉื™ื, clamd.log ืžื›ื™ืœ ื ืชื•ื ื™ื ืขืœ ืคืขื•ืœืช ื”ืื ื˜ื™ ื•ื™ืจื•ืก ื•ื›ืŸ ื”ืœืื”. ื“ืจืš ืื’ื‘, ืฉื™ื˜ื” ืžืฆื•ื™ื ืช ืœื”ื’ื ื” ืขืœ ืฉืจืช Zimbra OSE ืžืคื ื™ ืคื•ืœืฉื™ื ื”ื™ื ื”ื’ื ืช ืฉืจืช ื‘ืืžืฆืขื•ืช Fail2Ban, ืฉืคืฉื•ื˜ ืขื•ื‘ื“ ืขืœ ืกืžืš audit.log. ื–ื” ื’ื ืชืจื’ื•ืœ ื˜ื•ื‘ ืœื”ื•ืกื™ืฃ ืžืฉื™ืžืช cron ืœื‘ื™ืฆื•ืข ื”ืคืงื•ื“ื” grep -ir "ืกื™ืกืžื” ืœื ื—ื•ืงื™ืช" /opt/zimbra/log/audit.logื›ื“ื™ ืœืงื‘ืœ ืžื™ื“ืข ื™ื•ืžื™ ืขืœ ื›ืฉืœ ื‘ื›ื ื™ืกื”.

ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE
ื“ื•ื’ืžื” ืœืื•ืคืŸ ืฉื‘ื• audit.log ืžืฆื™ื’ ืกื™ืกืžื” ืฉื”ื•ื–ื ื” ืคืขืžื™ื™ื ื‘ืฆื•ืจื” ืฉื’ื•ื™ื” ื•ื ื™ืกื™ื•ืŸ ื›ื ื™ืกื” ืžื•ืฆืœื—.

ื™ื•ืžื ื™ื ื‘-Zimbra OSE ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ื™ื ื‘ื™ื•ืชืจ ื‘ื–ื™ื”ื•ื™ ื”ื’ื•ืจืžื™ื ืœื›ืฉืœื™ื ืงืจื™ื˜ื™ื™ื ืฉื•ื ื™ื. ื‘ืจื’ืข ืฉืžืชืจื—ืฉืช ืฉื’ื™ืื” ืงืจื™ื˜ื™ืช, ืœืžื ื”ืœ ื‘ื“ืจืš ื›ืœืœ ืื™ืŸ ื–ืžืŸ ืœืงืจื•ื ืืช ื”ื™ื•ืžื ื™ื. ื™ืฉ ืฆื•ืจืš ืœืฉื—ื–ืจ ืืช ื”ืฉืจืช ื‘ื”ืงื“ื ื”ืืคืฉืจื™. ืขื ื–ืืช, ืžืื•ื—ืจ ื™ื•ืชืจ, ื›ืืฉืจ ื”ืฉืจืช ืžื’ื‘ื” ื•ืžื™ื™ืฆืจ ื”ืจื‘ื” ื™ื•ืžื ื™ื, ื™ื›ื•ืœ ืœื”ื™ื•ืช ืงืฉื” ืœืžืฆื•ื ืืช ื”ืขืจืš ื”ื ื“ืจืฉ ื‘ืงื•ื‘ืฅ ื’ื“ื•ืœ. ื›ื“ื™ ืœืžืฆื•ื ื‘ืžื”ื™ืจื•ืช ืจืฉื•ืžืช ืฉื’ื™ืื”, ืžืกืคื™ืง ืœื“ืขืช ืืช ื”ืฉืขื” ืฉื‘ื” ื”ืฉืจืช ื”ื•ืคืขืœ ืžื—ื“ืฉ ื•ืœืžืฆื•ื ืขืจืš ื‘ื™ื•ืžื ื™ื ื”ืžืชื•ืืจื›ื™ื ืœื–ืžืŸ ื–ื”. ื”ืขืจืš ื”ืงื•ื“ื ื™ื”ื™ื” ืชื™ืขื•ื“ ืฉืœ ื”ืฉื’ื™ืื” ืฉื”ืชืจื—ืฉื”. ืืชื” ื™ื›ื•ืœ ื’ื ืœืžืฆื•ื ืืช ื”ื•ื“ืขืช ื”ืฉื’ื™ืื” ืขืœ ื™ื“ื™ ื—ื™ืคื•ืฉ ืžื™ืœืช ื”ืžืคืชื— FATAL.

ื™ื•ืžื ื™ Zimbra OSE ืžืืคืฉืจื™ื ื’ื ืœื–ื”ื•ืช ื›ืฉืœื™ื ืœื ืงืจื™ื˜ื™ื™ื. ืœื“ื•ื’ืžื”, ื›ื“ื™ ืœืžืฆื•ื ื—ืจื™ื’ื™ื ืฉืœ ืžื˜ืคืœ, ืืชื” ื™ื›ื•ืœ ืœื—ืคืฉ ื—ืจื™ื’ ืžื˜ืคืœ. ืœืขืชื™ื ืงืจื•ื‘ื•ืช, ืฉื’ื™ืื•ืช ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ืžื˜ืคืœื™ื ืžืœื•ื•ืช ื‘ืžืขืงื‘ ืžื—ืกื ื™ืช ืฉืžืกื‘ื™ืจ ืžื” ื’ืจื ืœื—ืจื™ื’ื”. ื‘ืžืงืจื” ืฉืœ ืฉื’ื™ืื•ืช ื‘ืžืฉืœื•ื— ื“ื•ืืจ, ืขืœื™ืš ืœื”ืชื—ื™ืœ ืืช ื”ื—ื™ืคื•ืฉ ืขื ืžื™ืœืช ื”ืžืคืชื— LmtpServer, ื•ื›ื“ื™ ืœื—ืคืฉ ืฉื’ื™ืื•ืช ื”ืงืฉื•ืจื•ืช ืœืคืจื•ื˜ื•ืงื•ืœื™ POP ืื• IMAP, ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ืžื™ืœื•ืช ื”ืžืคืชื— ImapServer ื•-Pop3Server.

ื™ื•ืžื ื™ื ื™ื›ื•ืœื™ื ืœืขื–ื•ืจ ื’ื ื‘ืขืช ื—ืงื™ืจืช ืื™ืจื•ืขื™ ืื‘ื˜ื—ืช ืžื™ื“ืข. ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื“ื•ื’ืžื” ืกืคืฆื™ืคื™ืช. ื‘-20 ื‘ืกืคื˜ืžื‘ืจ ืฉืœื— ืื—ื“ ื”ืขื•ื‘ื“ื™ื ืžื›ืชื‘ ื ื’ื•ืข ื‘ื•ื•ื™ืจื•ืก ืœืœืงื•ื—. ื›ืชื•ืฆืื” ืžื›ืš, ื”ื ืชื•ื ื™ื ื‘ืžื—ืฉื‘ ื”ืœืงื•ื— ื”ื•ืฆืคื ื•. ืื•ืœื ื”ืขื•ื‘ื“ ื ืฉื‘ืข ืฉืœื ืฉืœื— ื“ื‘ืจ. ื‘ืžืกื’ืจืช ื—ืงื™ืจืช ื”ืื™ืจื•ืข, ืฉื™ืจื•ืช ื”ืื‘ื˜ื—ื” ื”ืืจื’ื•ื ื™ ืžื‘ืงืฉ ืžืžื ื”ืœ ื”ืžืขืจื›ืช ืืช ื™ื•ืžื ื™ ืฉืจืช ื”ื“ื•ืืจ ืœ-20 ื‘ืกืคื˜ืžื‘ืจ ื”ืงืฉื•ืจื™ื ืœืžืฉืชืžืฉ ื”ื ื—ืงืจ. ื”ื•ื“ื•ืช ืœื—ื•ืชืžืช ื”ื–ืžืŸ, ืžื ื”ืœ ื”ืžืขืจื›ืช ืžื•ืฆื ืืช ืงื•ื‘ืฅ ื”ื™ื•ืžืŸ ื”ื“ืจื•ืฉ, ืžื—ืœืฅ ืืช ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ ื•ืžืขื‘ื™ืจ ืื•ืชื• ืœืžื•ืžื—ื™ ืื‘ื˜ื—ื”. ืืœื”, ื‘ืชื•ืจื, ืžืกืชื›ืœื™ื ื‘ื• ื•ืžื’ืœื™ื ืฉื›ืชื•ื‘ืช ื”-IP ืžืžื ื” ื ืฉืœื— ืžื›ืชื‘ ื–ื” ืžืชืื™ืžื” ืœื›ืชื•ื‘ืช ื”-IP ืฉืœ ืžื—ืฉื‘ ื”ืžืฉืชืžืฉ. ืฆื™ืœื•ืžื™ ื˜ืœื•ื•ื™ื–ื™ื” ื‘ืžืขื’ืœ ืกื’ื•ืจ ืื™ืฉืจื• ื›ื™ ื”ืขื•ื‘ื“ ื”ื™ื” ื‘ืžืงื•ื ืขื‘ื•ื“ืชื• ื‘ืขืช ืฉืœื™ื—ืช ื”ืžื›ืชื‘. ื”ื ืชื•ื ื™ื ื”ืœืœื• ื”ืกืคื™ืงื• ื›ื“ื™ ืœื”ืืฉื™ื ืื•ืชื• ื‘ื”ืคืจืช ื›ืœืœื™ ืื‘ื˜ื—ืช ืžื™ื“ืข ื•ืœืคื˜ืจ ืื•ืชื•. 

ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE
ื“ื•ื’ืžื” ืœื—ื™ืœื•ืฅ ืจืฉื•ืžื•ืช ืขืœ ืื—ื“ ื”ื—ืฉื‘ื•ื ื•ืช ืžื”ื”ืชื—ื‘ืจื•ืช Mailbox.log ืœืงื•ื‘ืฅ ื ืคืจื“

ื”ื›ืœ ื”ื•ืคืš ืœื”ืจื‘ื” ื™ื•ืชืจ ืžืกื•ื‘ืš ื›ืฉืžื“ื•ื‘ืจ ื‘ืชืฉืชื™ืช ืžืจื•ื‘ืช ืฉืจืชื™ื. ื”ื™ื•ืช ื•ื”ื™ื•ืžื ื™ื ื ืืกืคื™ื ื‘ืื•ืคืŸ ืžืงื•ืžื™, ื”ืขื‘ื•ื“ื” ืื™ืชื ื‘ืชืฉืชื™ืช ืžืจื•ื‘ืช ืฉืจืชื™ื ื”ื™ื ืžืื•ื“ ืœื ื ื•ื—ื” ื•ืœื›ืŸ ื™ืฉ ืฆื•ืจืš ืœืจื›ื– ืืช ืื™ืกื•ืฃ ื”ื™ื•ืžื ื™ื. ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ืขืœ ื™ื“ื™ ื”ื’ื“ืจืช ืžืืจื— ืœืื™ืกื•ืฃ ื™ื•ืžื ื™ื. ืื™ืŸ ืฆื•ืจืš ืžื™ื•ื—ื“ ืœื”ื•ืกื™ืฃ ืžืืจื— ื™ื™ืขื•ื“ื™ ืœืชืฉืชื™ืช. ื›ืœ ืฉืจืช ื“ื•ืืจ ื™ื›ื•ืœ ืœืฉืžืฉ ื›ืฆื•ืžืช ืœืื™ืกื•ืฃ ื™ื•ืžื ื™ื. ื‘ืžืงืจื” ืฉืœื ื•, ื–ื” ื™ื”ื™ื” ื”ืฆื•ืžืช Mailstore01.

ื‘ืฉืจืช ื–ื” ืขืœื™ื ื• ืœื”ื–ื™ืŸ ืืช ื”ืคืงื•ื“ื•ืช ื”ื‘ืื•ืช:

sudo su โ€“ zimbra 
zmcontrol stop
exit
sudo /opt/zimbra/libexec/zmfixperms -e -v

ืขืจื•ืš ืืช ื”ืงื•ื‘ืฅ /etc/sysconfig/rsyslog, ื•ื”ื’ื“ืจ ืืช SYSLOGD_OPTIONS=โ€-r -c 2โ€ณ

ืขืจื•ืš ืืช /etc/rsyslog.conf ื•ื‘ื˜ืœ ืืช ื”ื”ืขืจื” ืœืฉื•ืจื•ืช ื”ื‘ืื•ืช:
$ModLoad iudp
$UDPServerRun 514

ื”ื–ืŸ ืืช ื”ืคืงื•ื“ื•ืช ื”ื‘ืื•ืช:

sudo /etc/init.d/rsyslog stop
sudo /etc/init.d/rsyslog start
sudo su โ€“ zimbra
zmcontrol start
exit
sudo /opt/zimbra/libexec/zmloggerinit
sudo /opt/zimbra/bin/zmsshkeygen
sudo /opt/zimbra/bin/zmupdateauthkeys

ืืชื” ื™ื›ื•ืœ ืœื‘ื“ื•ืง ืฉื”ื›ืœ ืขื•ื‘ื“ ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” zmprov gacf | grep zimbraLogHostname. ืœืื—ืจ ื‘ื™ืฆื•ืข ื”ืคืงื•ื“ื”, ื™ืฉ ืœื”ืฆื™ื’ ืืช ืฉื ื”ืžืืจื— ืฉืื•ืกืฃ ื™ื•ืžื ื™ื. ื›ื“ื™ ืœืฉื ื•ืช ืื•ืชื•, ืขืœื™ืš ืœื”ื–ื™ืŸ ืืช ื”ืคืงื•ื“ื” zmprov mcf zimbraLogHostname mailstore01.company.ru.

ื‘ื›ืœ ืฉืจืชื™ ื”ืชืฉืชื™ืช ื”ืื—ืจื™ื (LDAP, MTA ื•ื—ื ื•ื™ื•ืช ื“ื•ืืจ ืื—ืจื•ืช), ื”ืคืขืœ ืืช ื”ืคืงื•ื“ื” zmprov gacf |grep zimbraLogHostname ื›ื“ื™ ืœืจืื•ืช ืืช ืฉื ื”ืžืืจื— ืฉืืœื™ื• ื ืฉืœื—ื™ื ื”ื™ื•ืžื ื™ื. ื›ื“ื™ ืœืฉื ื•ืช ืื•ืชื•, ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ื–ื™ืŸ ืืช ื”ืคืงื•ื“ื” zmprov mcf zimbraLogHostname mailstore01.company.ru

ืขืœื™ืš ืœื”ื–ื™ืŸ ื’ื ืืช ื”ืคืงื•ื“ื•ืช ื”ื‘ืื•ืช ื‘ื›ืœ ืฉืจืช:

sudo su - zimbra
/opt/zimbra/bin/zmsshkeygen
/opt/zimbra/bin/zmupdateauthkeys
exit
sudo /opt/zimbra/libexec/zmsyslogsetup
sudo service rsyslog restart
sudo su - zimbra
zmcontrol restart

ืœืื—ืจ ืžื›ืŸ, ื›ืœ ื”ื™ื•ืžื ื™ื ื™ืชื•ืขื“ื• ื‘ืฉืจืช ืฉืฆื™ื™ื ืช, ืฉื ื ื™ืชืŸ ืœืฆืคื•ืช ื‘ื”ื ื‘ืฆื•ืจื” ื ื•ื—ื”. ื›ืžื• ื›ืŸ, ื‘ืงื•ื ืกื•ืœืช ื”ืžื ื”ืœื™ื ืฉืœ Zimbra OSE, ืขืœ ื”ืžืกืš ืขื ืžื™ื“ืข ืขืœ ืžืฆื‘ ื”ืฉืจืชื™ื, ืฉื™ืจื•ืช Logger ื”ืคื•ืขืœ ื™ื•ืฆื’ ืจืง ืขื‘ื•ืจ ืฉืจืช mailstore01.

ื›ื™ืฆื“ ืœืขื‘ื•ื“ ืขื ื™ื•ืžื ื™ Zimbra OSE

ื›ืื‘ ืจืืฉ ื ื•ืกืฃ ืœืžื ื”ืœ ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืขืงื‘ ืื—ืจ ืื™ืžื™ื™ืœ ืกืคืฆื™ืคื™. ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื“ืขื•ืช ื“ื•ื"ืœ ื‘-Zimbra OSE ืขื•ื‘ืจื•ืช ืžืกืคืจ ืื™ืจื•ืขื™ื ืฉื•ื ื™ื ื‘ื‘ืช ืื—ืช: ืกืจื™ืงื” ื‘ืืžืฆืขื•ืช ืื ื˜ื™ ื•ื™ืจื•ืก, ืื ื˜ื™ ืกืคืื ื•ื›ื“ื•ืžื”, ืœืคื ื™ ืงื‘ืœืชืŸ ืื• ืฉืœื™ื—ืชืŸ, ืขื‘ื•ืจ ื”ืžื ื”ืœ, ืื ื”ืžื™ื™ืœ ืœื ืžื’ื™ืข, ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื“ื™ ื‘ืขื™ื™ืชื™ ืœื”ืชื—ืงื•ืช ื‘ืื™ื–ื” ืฉืœื‘ ื–ื” ื”ื™ื” ืื‘ื•ื“.

ืขืœ ืžื ืช ืœืคืชื•ืจ ื‘ืขื™ื” ื–ื•, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืกืงืจื™ืคื˜ ืžื™ื•ื—ื“, ืืฉืจ ืคื•ืชื— ืขืœ ื™ื“ื™ ืžื•ืžื—ื” ืื‘ื˜ื—ืช ื”ืžื™ื“ืข Viktor Dukhovny ื•ื”ื•ืžืœืฅ ืœืฉื™ืžื•ืฉ ืขืœ ื™ื“ื™ ืžืคืชื—ื™ Postfix. ืกืงืจื™ืคื˜ ื–ื” ืžืฉืจืฉืจ ืขืจื›ื™ื ืžื™ื•ืžื ื™ื ืขื‘ื•ืจ ืชื”ืœื™ืš ืกืคืฆื™ืคื™, ื•ื‘ืฉืœ ื›ืš, ืžืืคืฉืจ ืœืš ืœื”ืฆื™ื’ ื‘ืžื”ื™ืจื•ืช ืืช ื›ืœ ื”ืขืจื›ื™ื ื”ืงืฉื•ืจื™ื ืœืฉืœื™ื—ืช ืžื›ืชื‘ ืžืกื•ื™ื ืขืœ ืกืžืš ื”ืžื–ื”ื” ืฉืœื•. ืขื‘ื•ื“ืชื• ื ื‘ื“ืงื” ื‘ื›ืœ ื”ื’ืจืกืื•ืช ืฉืœ Zimbra OSE, ื”ื—ืœ ืž-8.7. ื”ื ื” ื”ื˜ืงืกื˜ ืฉืœ ื”ืชืกืจื™ื˜.

#! /usr/bin/perl

use strict;
use warnings;

# Postfix delivery agents
my @agents = qw(discard error lmtp local pipe smtp virtual);

my $instre = qr{(?x)
	A			# Absolute line start
	(?:S+ s+){3} 		# Timestamp, adjust for other time formats
	S+ s+ 		# Hostname
	(postfix(?:-[^/s]+)?)	# Capture instance name stopping before first '/'
	(?:/S+)*		# Optional non-captured '/'-delimited qualifiers
	/			# Final '/' before the daemon program name
	};

my $cmdpidre = qr{(?x)
	G			# Continue from previous match
	(S+)[(d+)]:s+	# command[pid]:
};

my %smtpd;
my %smtp;
my %transaction;
my $i = 0;
my %seqno;

my %isagent = map { ($_, 1) } @agents;

while (<>) {
	next unless m{$instre}ogc; my $inst = $1;
	next unless m{$cmdpidre}ogc; my $command = $1; my $pid = $2;

	if ($command eq "smtpd") {
		if (m{Gconnect from }gc) {
			# Start new log
			$smtpd{$pid}->{"log"} = $_; next;
		}

		$smtpd{$pid}->{"log"} .= $_;

		if (m{G(w+): client=}gc) {
			# Fresh transaction 
			my $qid = "$inst/$1";
			$smtpd{$pid}->{"qid"} = $qid;
			$transaction{$qid} = $smtpd{$pid}->{"log"};
			$seqno{$qid} = ++$i;
			next;
		}

		my $qid = $smtpd{$pid}->{"qid"};
		$transaction{$qid} .= $_
			if (defined($qid) && exists $transaction{$qid});
		delete $smtpd{$pid} if (m{Gdisconnect from}gc);
		next;
	}

	if ($command eq "pickup") {
		if (m{G(w+): uid=}gc) {
			my $qid = "$inst/$1";
			$transaction{$qid} = $_;
			$seqno{$qid} = ++$i;
		}
		next;
	}

	# bounce(8) logs transaction start after cleanup(8) already logged
	# the message-id, so the cleanup log entry may be first
	#
	if ($command eq "cleanup") {
		next unless (m{G(w+): }gc);
		my $qid = "$inst/$1";
		$transaction{$qid} .= $_;
		$seqno{$qid} = ++$i if (! exists $seqno{$qid});
		next;
	}

	if ($command eq "qmgr") {
		next unless (m{G(w+): }gc);
		my $qid = "$inst/$1";
		if (defined($transaction{$qid})) {
			$transaction{$qid} .= $_;
			if (m{Gremoved$}gc) {
				print delete $transaction{$qid}, "n";
			}
		}
		next;
	}

	# Save pre-delivery messages for smtp(8) and lmtp(8)
	#
	if ($command eq "smtp" || $command eq "lmtp") {
		$smtp{$pid} .= $_;

		if (m{G(w+): to=}gc) {
			my $qid = "$inst/$1";
			if (defined($transaction{$qid})) {
				$transaction{$qid} .= $smtp{$pid};
			}
			delete $smtp{$pid};
		}
		next;
	}

	if ($command eq "bounce") {
		if (m{G(w+): .*? notification: (w+)$}gc) {
			my $qid = "$inst/$1";
			my $newid = "$inst/$2";
			if (defined($transaction{$qid})) {
				$transaction{$qid} .= $_;
			}
			$transaction{$newid} =
				$_ . $transaction{$newid};
			$seqno{$newid} = ++$i if (! exists $seqno{$newid});
		}
		next;
	}

	if ($isagent{$command}) {
		if (m{G(w+): to=}gc) {
			my $qid = "$inst/$1";
			if (defined($transaction{$qid})) {
				$transaction{$qid} .= $_;
			}
		}
		next;
	}
}

# Dump logs of incomplete transactions.
foreach my $qid (sort {$seqno{$a} <=> $seqno{$b}} keys %transaction) {
    print $transaction{$qid}, "n";
}

ื”ืกืงืจื™ืคื˜ ื›ืชื•ื‘ ื‘-Perl ื•ื›ื“ื™ ืœื”ืคืขื™ืœ ืื•ืชื• ืฆืจื™ืš ืœืฉืžื•ืจ ืื•ืชื• ื‘ืงื•ื‘ืฅ collate.pl, ื”ืคื•ืš ืื•ืชื• ืœื ื™ืชืŸ ืœื”ืคืขืœื” ื•ืœืื—ืจ ืžื›ืŸ ื”ืจืฅ ืืช ื”ืงื•ื‘ืฅ ื”ืžืฆื™ื™ืŸ ืืช ืงื•ื‘ืฅ ื”ื™ื•ืžืŸ ื•ืฉื™ืžื•ืฉ ื‘-pgrep ื›ื“ื™ ืœื—ืœืฅ ืืช ืคืจื˜ื™ ื”ื–ื™ื”ื•ื™ ืฉืœ ื”ืื•ืช ืฉืืชื” ืžื—ืคืฉ collate.pl /var/log/zimbra.log | pgrep '[ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]>'. ื”ืชื•ืฆืื” ืชื”ื™ื” ืคืœื˜ ืจืฆื™ืฃ ืฉืœ ืฉื•ืจื•ืช ื”ืžื›ื™ืœื•ืช ืžื™ื“ืข ืขืœ ืชื ื•ืขืช ื”ืื•ืช ื‘ืฉืจืช.

# collate.pl /var/log/zimbra.log | pgrep '<[email protected]>'
Oct 13 10:17:00 mail postfix/pickup[4089]: 4FF14284F45: uid=1034 from=********
Oct 13 10:17:00 mail postfix/cleanup[26776]: 4FF14284F45: message-id=*******
Oct 13 10:17:00 mail postfix/qmgr[9946]: 4FF14284F45: from=********, size=1387, nrcpt=1 (queue active)
Oct 13 10:17:00 mail postfix/smtp[7516]: Anonymous TLS connection established to mail.*******[168.*.*.4]:25: TLSv1 with cipher ADH-AES256-SHA (256/256 bits)
Oct 13 10:17:00 mail postfix/smtp[7516]: 4FF14284F45: to=*********, relay=mail.*******[168.*.*.4]:25, delay=0.25, delays=0.02/0.02/0.16/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 878833424CF)
Oct 13 10:17:00 mail postfix/qmgr[9946]: 4FF14284F45: removed
Oct 13 10:17:07 mail postfix/smtpd[21777]: connect from zimbra.******[168.*.*.4]
Oct 13 10:17:07 mail postfix/smtpd[21777]: Anonymous TLS connection established from zimbra.******[168.*.*.4]: TLSv1 with cipher ADH-AES256-SHA (256/256 bits)
Oct 13 10:17:08 mail postfix/smtpd[21777]: 0CB69282F4E: client=zimbra.******[168.*.*.4]
Oct 13 10:17:08 mail postfix/cleanup[26776]: 0CB69282F4E: message-id=zimbra.******
Oct 13 10:17:08 mail postfix/qmgr[9946]: 0CB69282F4E: from=zimbra.******, size=3606, nrcpt=1 (queue active)
Oct 13 10:17:08 mail postfix/virtual[5291]: 0CB69282F4E: to=zimbra.******, orig_to=zimbra.******, relay=virtual, delay=0.03, delays=0.02/0/0/0.01, dsn=2.0.0, status=sent (delivered to maildir)
Oct 13 10:17:08 mail postfix/qmgr[9946]: 0CB69282F4E: removed

ืœื›ืœ ื”ืฉืืœื•ืช ื”ืงืฉื•ืจื•ืช ืœ-Zextras Suite, ื ื™ืชืŸ ืœื™ืฆื•ืจ ืงืฉืจ ืขื ื ืฆื™ื’ืช Zextras Ekaterina Triandafilidi ื‘ื“ื•ืืจ ืืœืงื˜ืจื•ื ื™ [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]

ืžืงื•ืจ: www.habr.com