Mar a dh’ obraicheas tu le logaichean Zimbra OSE

Is e clàradh de gach tachartas a tha a’ tachairt aon de na gnìomhan as cudromaiche aig siostam corporra sam bith. Leigidh logaichean leat fuasgladh fhaighinn air duilgheadasan a tha a’ tighinn am bàrr, sgrùdadh a dhèanamh air gnìomhachd shiostaman fiosrachaidh, agus cuideachd sgrùdadh a dhèanamh air tachartasan tèarainteachd fiosrachaidh. Bidh Zimbra OSE cuideachd a’ cumail chlàran mionaideach den obair aige. Bidh iad a’ toirt a-steach a h-uile dàta bho choileanadh an fhrithealaiche gu bhith a’ cur agus a’ faighinn puist-d bho luchd-cleachdaidh. Ach, is e obair caran neo-bheag a th’ ann a bhith a’ leughadh na logaichean a chruthaich Zimbra OSE. Anns an aiste seo, a 'cleachdadh eisimpleir shònraichte, bidh sinn ag innse dhuibh mar a leughas Zimbra OSE logaichean, a thuilleadh air mar a dhèanamh meadhanaichte iad.

Mar a dh’ obraicheas tu le logaichean Zimbra OSE
Bidh Zimbra OSE a’ stòradh a h-uile log ionadail anns a’ phasgan /opt/zimbra/log, agus gheibhear logaichean cuideachd anns an fhaidhle /var/log/zimbra.log. Is e mailbox.log am fear as cudromaiche dhiubh sin. Bidh e a’ clàradh a h-uile gnìomh a thachras air frithealaiche a’ phuist. Tha iad sin a’ toirt a-steach sgaoileadh puist-d, dàta dearbhaidh luchd-cleachdaidh, oidhirpean logadh a-steach air fàiligeadh, agus feadhainn eile. Is e sreang teacsa a th’ ann an inntrigidhean ann am mailbox.log anns a bheil an uair aig an do thachair an tachartas, ìre an tachartais, an àireamh snàithlean anns an do thachair an tachartas, an t-ainm neach-cleachdaidh agus an seòladh IP, a bharrachd air tuairisgeul teacsa air an tachartas .

Mar a dh’ obraicheas tu le logaichean Zimbra OSE

Tha an ìre log a’ comharrachadh ìre buaidh an tachartais air gnìomhachd an fhrithealaiche. Gu gnàthach tha 4 ìrean tachartais ann: INFO, WARN, ERROR agus FATAL. Bheir sinn sùil air a h-uile ìre ann an òrdugh àrdachadh de dhragh.

  • FIOSRACHADH - Mar as trice bidh tachartasan aig an ìre seo an dùil fiosrachadh a thoirt seachad mu adhartas Zimbra OSE. Tha teachdaireachdan aig an ìre seo a’ toirt a-steach aithisgean air cruthachadh no cuir às do bhogsa puist, agus mar sin air adhart.
  • RABHADH - bidh tachartasan den ìre seo ag innse mu shuidheachaidhean a dh'fhaodadh a bhith cunnartach, ach nach toir buaidh air obrachadh an fhrithealaiche. Mar eisimpleir, tha an ìre WARN a’ comharrachadh teachdaireachd mu oidhirp logadh a-steach cleachdaiche air fàiligeadh.
  • MEARACHD - tha an ìre tachartais seo sa loga ag innse mu thachair mearachd a tha ionadail ann an nàdar agus nach cuir e bacadh air gnìomhachd an fhrithealaiche. Faodaidh an ìre seo mearachd a chomharrachadh far a bheil dàta clàr-amais neach-cleachdaidh fa leth air a thruailleadh.
  • FATAL - tha an ìre seo a' comharrachadh mhearachdan air sgàth 's nach urrainn dhan fhrithealaiche cumail ag obair mar as àbhaist. Mar eisimpleir, bidh an ìre FATAL airson clàr a’ sealltainn nach eil e comasach ceangal a dhèanamh ris an DBMS.

Tha faidhle log an fhrithealaiche puist air ùrachadh gach latha. Tha an t-ainm Mailbox.log an-còmhnaidh air an dreach as ùire den fhaidhle, agus tha ceann-latha san ainm aig logaichean airson ceann-latha sònraichte agus tha iad san tasglann. Mar eisimpleir mailbox.log.2020-09-29.tar.gz. Tha seo ga dhèanamh fada nas fhasa cùl-taic a dhèanamh de logaichean gnìomhachd agus sgrùdadh tro logaichean.

Airson goireasachd rianadair an t-siostaim, tha logaichean eile anns a’ phasgan / opt/zimbra/log/. Chan eil iad a’ toirt a-steach ach inntrigidhean a tha co-cheangailte ri eileamaidean sònraichte Zimbra OSE. Mar eisimpleir, chan eil ann an audit.log ach clàran mu dhearbhadh luchd-cleachdaidh, tha clamd.log a’ toirt a-steach dàta mu obrachadh an antivirus, agus mar sin air adhart. Co-dhiù, is e deagh dhòigh air frithealaiche Zimbra OSE a dhìon bho luchd-ionnsaigh dìon frithealaiche a’ cleachdadh Fail2Ban, a tha dìreach ag obair stèidhichte air audit.log. Tha e cuideachd na chleachdadh math gnìomh cron a chuir ris gus an àithne a chuir an gnìomh grep -ir “facal-faire neo-dhligheach” /opt/zimbra/log/audit.loggus fiosrachadh fàilligeadh logadh a-steach làitheil fhaighinn.

Mar a dh’ obraicheas tu le logaichean Zimbra OSE
Eisimpleir de mar a sheallas audit.log facal-faire a chaidh a chuir a-steach dà uair ceàrr agus oidhirp logadh a-steach soirbheachail.

Faodaidh logaichean ann an Zimbra OSE a bhith air leth feumail ann a bhith ag aithneachadh adhbharan diofar fàilligidhean èiginneach. Aig an àm nuair a thachras mearachd èiginneach, mar as trice chan eil ùine aig an rianaire na logaichean a leughadh. Tha e riatanach am frithealaiche a thoirt air ais cho luath 'sa ghabhas. Ach, nas fhaide air adhart, nuair a bhios an frithealaiche air ais suas agus a’ gineadh tòrr logaichean, faodaidh e a bhith duilich an inntrigeadh riatanach a lorg ann am faidhle mòr. Gus clàr mearachd a lorg gu sgiobalta, tha e gu leòr fios a bhith agad air an àm aig an deach an frithealaiche ath-thòiseachadh agus faighinn a-steach anns na logaichean bhon àm seo. Bidh an inntrigeadh roimhe na chlàr den mhearachd a thachair. Gheibh thu cuideachd an teachdaireachd mearachd le bhith a’ lorg am prìomh fhacal FATAL.

Leigidh logaichean Zimbra OSE leat cuideachd fàilligidhean neo-èiginneach a chomharrachadh. Mar eisimpleir, gus eisgeachdan làimhseachaidh a lorg, faodaidh tu eisgeachd neach-làimhseachaidh a lorg. Gu tric, bidh lorg stac an cois mhearachdan a thig bho luchd-làimhseachaidh a tha a’ mìneachadh dè a dh’ adhbhraich an eisgeachd. Ma tha mearachdan ann le lìbhrigeadh puist, bu chòir dhut do rannsachadh a thòiseachadh leis a’ phrìomh fhacal LmtpServer, agus gus mearachdan co-cheangailte ri protocolaidhean POP no IMAP a lorg, faodaidh tu na prìomh fhaclan ImapServer agus Pop3Server a chleachdadh.

Faodaidh logaichean cuideachd cuideachadh nuair a thathar a’ sgrùdadh thachartasan tèarainteachd fiosrachaidh. Bheir sinn sùil air eisimpleir sònraichte. Air 20 Sultain, chuir aon den luchd-obrach litir gu neach-dèiligidh le galar bhìoras. Mar thoradh air an sin, chaidh an dàta air coimpiutair an neach-dèiligidh a chrioptachadh. Ach, tha an neach-obrach a 'mionnachadh nach do chuir e dad. Mar phàirt den sgrùdadh air an tachartas, tha an t-seirbheis tèarainteachd iomairt ag iarraidh bho rianadair an t-siostaim na logaichean frithealaiche puist airson Sultain 20 co-cheangailte ris an neach-cleachdaidh a thathar a’ sgrùdadh. Taing don stampa ùine, bidh rianadair an t-siostaim a ’lorg am faidhle log riatanach, a’ toirt a-mach am fiosrachadh riatanach agus ga ghluasad gu eòlaichean tèarainteachd. Bidh iad sin, an uair sin, a’ coimhead troimhe agus a’ faighinn a-mach gu bheil an seòladh IP bhon deach an litir seo a chuir a-steach a rèir seòladh IP coimpiutair an neach-cleachdaidh. Dhearbh dealbhan CCTV gun robh an neach-obrach san àite-obrach aige nuair a chaidh an litir a chuir. Bha an dàta seo gu leòr airson a chur às a leth gun do bhris e riaghailtean tèarainteachd fiosrachaidh agus a chuir às dha. 

Mar a dh’ obraicheas tu le logaichean Zimbra OSE
Eisimpleir de bhith a 'toirt a-mach clàran mu aon de na cunntasan bhon log Mailbox.log a-steach do fhaidhle air leth

Bidh a h-uile dad tòrr nas iom-fhillte nuair a thig e gu bun-structar ioma-fhrithealaiche. Leis gu bheil logaichean air an cruinneachadh gu h-ionadail, tha e glè ghoireasach obrachadh còmhla riutha ann am bun-structar ioma-fhrithealaiche agus mar sin feumar cruinneachadh nan logaichean a mheadhanachadh. Faodar seo a dhèanamh le bhith a’ stèidheachadh aoigheachd gus logaichean a chruinneachadh. Chan eil feum sònraichte air aoigheachd sònraichte a chuir ris a’ bhun-structar. Faodaidh frithealaiche puist sam bith a bhith na nód airson logaichean a chruinneachadh. Anns a’ chùis againn, is e seo an nód Mailstore01.

Air an fhrithealaiche seo feumaidh sinn na h-òrdughan gu h-ìosal a chuir a-steach:

sudo su – zimbra 
zmcontrol stop
exit
sudo /opt/zimbra/libexec/zmfixperms -e -v

Deasaich am faidhle /etc/sysconfig/rsyslog, agus suidhich an SYSLOGD_OPTIONS=” -r -c 2 ″

Deasaich /etc/rsyslog.conf agus cuir às do na loidhnichean a leanas:
$ModLoad iudp
$UDPSserverRun 514

Cuir a-steach na h-òrdughan a leanas:

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

Faodaidh tu dèanamh cinnteach gu bheil a h-uile càil ag obair a’ cleachdadh an àithne zmprov gacf | grep zimbraLoghostname. Às deidh an àithne a chuir an gnìomh, bu chòir ainm an aoigh a chruinnicheas logaichean a thaisbeanadh. Gus atharrachadh, feumaidh tu a dhol a-steach don àithne zmprov mcf zimbraLogHostname mailstore01.company.ru.

Air a h-uile seirbheisiche bun-structair eile (LDAP, MTA agus stòran puist eile), ruith an àithne zmprov gacf | grep zimbraLogHostname gus ainm an aoigh chun an tèid na logaichean a chuir. Gus atharrachadh, faodaidh tu cuideachd an àithne a chuir a-steach zmprov mcf zimbraLogHostname mailstore01.company.ru

Feumaidh tu cuideachd na h-òrdughan a leanas a chuir a-steach air gach frithealaiche:

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

Às deidh seo, thèid a h-uile log a chlàradh air an fhrithealaiche a shònraich thu, far am faicear iad gu goireasach. Cuideachd, ann an consol rianadair Zimbra OSE, air an sgrion le fiosrachadh mu inbhe luchd-frithealaidh, cha tèid an t-seirbheis ruith Logger a thaisbeanadh ach airson an fhrithealaiche mailstore01.

Mar a dh’ obraicheas tu le logaichean Zimbra OSE

Faodaidh ceann goirt eile airson rianaire a bhith a’ cumail sùil air post-d sònraichte. Leis gu bheil puist-d ann an Zimbra OSE a’ dol tro ghrunn thachartasan eadar-dhealaichte aig an aon àm: sganadh le antivirus, antispam, agus mar sin air adhart, mus tèid gabhail riutha no a chuir, airson an rianadair, mura ruig am post-d, faodaidh e a bhith gu math duilich lorg aig an ìre bha e air chall.

Gus an duilgheadas seo fhuasgladh, faodaidh tu sgriobt sònraichte a chleachdadh, a chaidh a leasachadh leis an eòlaiche tèarainteachd fiosrachaidh Viktor Dukhovny agus a chaidh a mholadh airson a chleachdadh le luchd-leasachaidh Postfix. Bidh an sgriobt seo a’ co-chumadh inntrigidhean bho logaichean airson pròiseas sònraichte agus, air sgàth seo, leigidh e leat na h-inntrigidhean uile co-cheangailte ri bhith a’ cur litir shònraichte a thaisbeanadh stèidhichte air an aithnichear aice. Chaidh an obair aige a dhearbhadh air a h-uile dreach de Zimbra OSE, a’ tòiseachadh bho 8.7. Seo teacsa an sgriobt.

#! /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";
}

Tha an sgriobt sgrìobhte ann am Perl agus airson a ruith feumaidh tu a shàbhaladh gu faidhle cruinnich.pl, dèan e so-ghnìomhaichte, agus an uairsin ruith am faidhle a’ sònrachadh am faidhle log agus a’ cleachdadh pgrep gus fiosrachadh aithneachaidh na litreach a tha thu a’ lorg a thoirt a-mach collate.pl /var/log/zimbra.log | pgrep'[post-d fo dhìon]> '. Bidh an toradh mar thoradh sreathach de loidhnichean anns a bheil fiosrachadh mu ghluasad na litreach air an fhrithealaiche.

# 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

Airson a h-uile ceist co-cheangailte ri Zextras Suite, faodaidh tu fios a chuir gu Riochdaire Zextras Ekaterina Triandafilidi air post-d [post-d fo dhìon]

Source: www.habr.com