ከዚምብራ OSE ምዝግብ ማስታወሻዎች ጋር እንዴት እንደሚሰራ

የሁሉም የተከሰቱ ክስተቶች ምዝግብ ማስታወሻ ከማንኛውም የኮርፖሬት ስርዓት በጣም አስፈላጊ ተግባራት አንዱ ነው። ምዝግብ ማስታወሻዎች ብቅ ያሉ ችግሮችን እንዲፈቱ, የመረጃ ስርዓቶችን አሠራር ኦዲት ማድረግ እና የመረጃ ደህንነት አደጋዎችን ለመመርመር ያስችልዎታል. ዚምብራ OSE የስራውን ዝርዝር ምዝግብ ማስታወሻ ይይዛል። ሁሉንም መረጃዎች ከአገልጋይ አፈጻጸም ጀምሮ በተጠቃሚዎች ኢሜይሎችን መላክ እና መቀበል ድረስ ያካትታሉ። ሆኖም፣ በዚምብራ OSE የተፈጠሩትን ምዝግብ ማስታወሻዎች ማንበብ ቀላል ያልሆነ ተግባር ነው። በዚህ ጽሑፍ ውስጥ, አንድ የተወሰነ ምሳሌ በመጠቀም, የዚምብራ OSE ምዝግብ ማስታወሻዎችን እንዴት ማንበብ እንደሚችሉ እና እንዴት ማእከላዊ ማድረግ እንደሚችሉ እናነግርዎታለን.

ከዚምብራ OSE ምዝግብ ማስታወሻዎች ጋር እንዴት እንደሚሰራ
ሁሉም የዚምብራ OSE ምዝግብ ማስታወሻዎች በ /opt/zimbra/log አቃፊ ውስጥ ይቀመጣሉ፣ እና ምዝግብ ማስታወሻዎች በ/var/log/zimbra.log ፋይል ውስጥም ይገኛሉ። ከእነዚህ ውስጥ በጣም አስፈላጊው mailbox.log ነው. በፖስታ አገልጋይ ላይ የሚከሰቱትን ሁሉንም ድርጊቶች ይመዘግባል. ከነሱ መካከል ፊደላትን ማስተላለፍ, የተጠቃሚ ማረጋገጫ ውሂብ, ያልተሳኩ የመግባት ሙከራዎች እና ሌሎችም ይገኙበታል. በ mailbox.log ውስጥ ያሉ ግቤቶች ክስተቱ የተከሰተበትን ጊዜ፣ የዝግጅቱ ደረጃ፣ ክስተቱ የተከሰተበት የዥረት ብዛት፣ የተጠቃሚ ስም እና የአይ ፒ አድራሻውን እና የጽሁፍ መግለጫን የያዘ የጽሑፍ ሕብረቁምፊ ነው። ክስተት.

ከዚምብራ OSE ምዝግብ ማስታወሻዎች ጋር እንዴት እንደሚሰራ

የምዝግብ ማስታወሻው ደረጃ በአገልጋዩ አሠራር ላይ የዝግጅቱ ተፅእኖ ምን ያህል እንደሆነ ያሳያል። በነባሪ፣ 4 የክስተት ደረጃዎች ጥቅም ላይ ይውላሉ፡ INFO፣ WARN፣ ERROR እና FATAL። ሁሉንም ደረጃዎች እንደ ክብደታቸው ቅደም ተከተል እንመርምር።

  • መረጃ - በዚህ ደረጃ ያሉ ክስተቶች ብዙውን ጊዜ የተነደፉት ስለ ዚምብራ OSE ሂደት ለማሳወቅ ነው። በዚህ ደረጃ ካሉት መልእክቶች መካከል የመልእክት ሳጥን መፈጠር ወይም መሰረዝ እና የመሳሰሉት ዘገባዎች ይገኙበታል።
  • ማስጠንቀቂያ - የዚህ ደረጃ ክስተቶች አደገኛ ሊሆኑ ስለሚችሉ ሁኔታዎች ያሳውቃሉ, ነገር ግን የአገልጋዩን አሠራር አይነኩም. የWARN ደረጃ፣ ለምሳሌ ያልተሳካ የተጠቃሚ የመግባት ሙከራን በተመለከተ መልእክትን ያመለክታል።
  • ስህተት - በምዝግብ ማስታወሻው ውስጥ ያለው ይህ የክስተት ደረጃ በአካባቢያዊ ተፈጥሮ እና በአገልጋዩ አሠራር ውስጥ ጣልቃ የማይገባ ስህተት መከሰቱን ያሳውቃል። ይህ ደረጃ የግለሰብ ተጠቃሚ መረጃ ጠቋሚ የተበላሸበትን ስህተት ሊያመለክት ይችላል።
  • FATAL - አገልጋዩ በመደበኛነት መስራቱን እንዳይቀጥል የሚከለክሉት ስህተቶች በዚህ ደረጃ ምልክት ተደርጎባቸዋል። ለምሳሌ፣ የ FATAL ደረጃ ከዲቢኤምኤስ ጋር መገናኘት አለመቻልን በተመለከተ በመዝገብ ውስጥ ይሆናል።

የደብዳቤ አገልጋይ ምዝግብ ማስታወሻ ፋይል በየቀኑ ይዘምናል። የፋይሉ የቅርብ ጊዜ ስሪት ሁል ጊዜ Mailbox.log ይሰየማል ፣ ለተወሰነ ቀን ምዝግብ ማስታወሻዎች በርዕሱ ውስጥ ቀን አላቸው እና በማህደሩ ውስጥ ይገኛሉ። ለምሳሌ mailbox.log.2020-09-29.tar.gz. ይህ የእንቅስቃሴ ምዝግብ ማስታወሻዎችን መጠባበቂያ እና በምዝግብ ማስታወሻዎች ውስጥ መፈለግን በእጅጉ ያቃልላል።

ለስርዓት አስተዳዳሪው ምቾት /opt/zimbra/log/ ማህደር ሌሎች ምዝግብ ማስታወሻዎችን ይዟል። እነሱ የሚያካትቱት ከተወሰኑ የዚምብራ OSE አካላት ጋር የሚዛመዱትን ግቤቶችን ብቻ ነው። ለምሳሌ ኦዲት.ሎግ ስለ ተጠቃሚ ማረጋገጥ ግቤቶችን ብቻ ይዟል፣ clamd.log ስለ ፀረ-ቫይረስ አሠራር እና የመሳሰሉትን መረጃዎች ይዟል። በነገራችን ላይ የዚምብራ OSE አገልጋይን ከአጥቂዎች ለመጠበቅ በጣም ጥሩ ዘዴ ነው። የአገልጋይ ጥበቃ በ Fail2Banበኦዲት.ሎግ ላይ ብቻ የሚሰራ። እንዲሁም ትዕዛዙን ለማስፈጸም ክሮን ተግባርን ማከል ጥሩ ነው grep -ir "ልክ ያልሆነ የይለፍ ቃል" /opt/zimbra/log/audit.logስለ ያልተሳካ የመግባት ሙከራዎች ዕለታዊ መረጃን ለመቀበል።

ከዚምብራ OSE ምዝግብ ማስታወሻዎች ጋር እንዴት እንደሚሰራ
ኦዲት.ሎግ እንዴት ድርብ የማይሰራ የይለፍ ቃል እና የተሳካ የመግባት ሙከራ እንደሚያሳይ የሚያሳይ ምሳሌ

በዚምብራ OSE ውስጥ ያሉ ምዝግብ ማስታወሻዎች ለተለያዩ ወሳኝ ውድቀቶች መንስኤዎችን ለማወቅ እጅግ በጣም ጠቃሚ ሊሆኑ ይችላሉ። ወሳኝ ስህተት በሚፈጠርበት ጊዜ አስተዳዳሪው አብዛኛውን ጊዜ መዝገቦቹን ለማንበብ ጊዜ የለውም. አገልጋዩ በተቻለ ፍጥነት ወደነበረበት መመለስ አለበት። ነገር ግን፣ በኋላ፣ አገልጋዩ ተመልሶ ሲቀመጥ እና ብዙ ምዝግብ ማስታወሻዎችን ሲያመነጭ፣ በአንድ ትልቅ ፋይል ውስጥ ትክክለኛውን ግቤት ማግኘት አስቸጋሪ ሊሆን ይችላል። የስህተት ግቤት በፍጥነት ለማግኘት አገልጋዩ እንደገና የተጀመረበትን ጊዜ ማወቅ እና እስከዚህ ጊዜ ድረስ ባለው ምዝግብ ማስታወሻ ውስጥ ግቤት ማግኘት በቂ ነው። የቀደመው መዝገብ የስህተት መዝገብ ይሆናል። የ FATAL ቁልፍ ቃልን በመፈለግ የስህተት መልዕክቱን ማግኘት ይችላሉ።

እንዲሁም፣ የዚምብራ OSE ምዝግብ ማስታወሻዎች ወሳኝ ያልሆኑ ውድቀቶችን እንድታውቅ ያስችልሃል። ለምሳሌ፣ የተቆጣጣሪ ልዩ ሁኔታዎችን ለማግኘት፣ ልዩ የሚለውን ሀረግ መፈለግ ይችላሉ። ብዙውን ጊዜ፣ በአስተዳዳሪዎች የሚፈጠሩት ስህተቶች ልዩ ሁኔታ እንዲፈጠር ምክንያት የሆነውን ነገር የሚያብራራ የቁልል ፈለግ ጋር አብሮ ይመጣል። የደብዳቤ ማቅረቢያ ስህተቶች ሲኖሩ ፍለጋዎን በ LmtpServer ቁልፍ ቃል መጀመር አለብዎት እና ከ POP ወይም IMAP ፕሮቶኮሎች ጋር የተያያዙ ስህተቶችን ለመፈለግ ImapServer እና Pop3Server ቁልፍ ቃላትን መጠቀም ይችላሉ.

ምዝግብ ማስታወሻዎች የመረጃ ደህንነት ጉዳዮችን ለመመርመርም ይረዳሉ። አንድ የተወሰነ ምሳሌ እንመልከት። በሴፕቴምበር 20, ከሰራተኞቹ አንዱ ለደንበኛው በቫይረስ የተበከለ ደብዳቤ ላከ. በዚህ ምክንያት በደንበኛው ኮምፒዩተር ላይ ያለው መረጃ ተመስጥሯል. ሆኖም ሰራተኛው ምንም እንዳልላከ ይምላል። እንደ ክስተቱ ምርመራ አካል የድርጅት ደህንነት አገልግሎት ከስርአቱ አስተዳዳሪ ለሴፕቴምበር 20 የፖስታ አገልጋይ ምዝግብ ማስታወሻዎችን ከተጠቃሚው ጋር በማያያዝ በምርመራ ላይ ይገኛል። ለጊዜ ማህተም ምስጋና ይግባውና የስርዓት አስተዳዳሪው ትክክለኛውን የምዝግብ ማስታወሻ ፋይል ያገኛል, አስፈላጊውን መረጃ አውጥቶ ለደህንነት ጠባቂዎች ያስተላልፋል. እነዚያ, በተራው, ያዩታል እና ይህ ደብዳቤ የተላከበት አይፒ አድራሻ ከተጠቃሚው ኮምፒዩተር አይፒ አድራሻ ጋር የሚዛመድ ሆኖ አግኝተውታል. ደብዳቤው ሲላክ ሰራተኛው በስራ ቦታው እንደነበረ የሲሲቲቪ ምስል አረጋግጧል። ይህ መረጃ የመረጃ ደህንነት ደንቦችን ጥሷል ብሎ ለመወንጀል እና እሱን ለማባረር በቂ ነበር። 

ከዚምብራ 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 imudp
$UDPSserverRun 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 የሚለውን ትዕዛዝ ማስገባት አለብህ።

በሁሉም ሌሎች የመሠረተ ልማት አገልጋዮች (ኤልዲኤፒ፣ ኤምቲኤ እና ሌሎች የመልዕክት ማከማቻዎች)፣ መዝገቦቹ የሚሄዱበትን የአስተናጋጅ ስም ለማየት የ 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

ከዚያ በኋላ ሁሉም ምዝግብ ማስታወሻዎች እርስዎ በገለጹት አገልጋይ ላይ ይመዘገባሉ፣ እዚያም በቀላሉ ሊታዩ ይችላሉ። እንዲሁም፣ በዚምብራ OSE አስተዳዳሪ ኮንሶል፣ በስክሪኑ ላይ ስለአገልጋዮቹ ሁኔታ መረጃ ያለው፣ የሎገር አገልግሎት የሚሰራው በmailstore01 አገልጋይ ላይ ብቻ ነው የሚታየው።

ከዚምብራ OSE ምዝግብ ማስታወሻዎች ጋር እንዴት እንደሚሰራ

አንድን የኢሜል መልእክት መከታተል ለአስተዳዳሪ ሌላ ራስ ምታት ሊሆን ይችላል። በዚምብራ OSE ውስጥ ያሉ ኢሜይሎች በአንድ ጊዜ የተለያዩ ክስተቶችን ስለሚያልፉ፡ በፀረ-ቫይረስ፣ ፀረ-አይፈለጌ መልዕክት እና የመሳሰሉትን በመፈተሽ፣ ከመቀበላቸው ወይም ከመላካቸው በፊት ለአስተዳዳሪው፣ ኢሜይሉ ካልደረሰ፣ በምን ደረጃ ላይ እንዳለ ለማወቅ አስቸጋሪ ሊሆን ይችላል። ጠፍቶ ነበር ።

ይህንን ችግር ለመፍታት በመረጃ ደህንነት ባለሙያ ቪክቶር ዱክሆቭኒ የተሰራውን እና በ Postfix ገንቢዎች እንዲጠቀሙ የሚመከር ልዩ ስክሪፕት መጠቀም ይችላሉ። ይህ ስክሪፕት ለአንድ የተወሰነ ሂደት መዝገቦችን ከምዝግብ ማስታወሻዎች ያገናኛል እና በዚህ ምክንያት መለያው ላይ ተመስርተው አንድ የተወሰነ ደብዳቤ ከመላክ ጋር የተያያዙ ሁሉንም መዝገቦች በፍጥነት እንዲያሳዩ ያስችልዎታል። ስራው ከ 8.7 ጀምሮ በሁሉም የዚምብራ OSE ስሪቶች ላይ ተፈትኗል። የስክሪፕቱ ጽሑፍ ይኸውና.

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

ስክሪፕቱ የተፃፈው በፐርል ነው እና እሱን ለማስኬድ በፋይል ውስጥ ማስቀመጥ ያስፈልግዎታል ይሰብስቡ.pl, executable ያድርጉ እና ከዚያ የሎግ ፋይሉን የሚገልጽ ፋይል ያሂዱ እና የሚፈልጉትን የኢሜል መለያ መረጃ ለማውጣት 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 ተወካይን በኢሜል ማግኘት ይችላሉ። [ኢሜል የተጠበቀ]

ምንጭ: hab.com