Чӣ тавр бо гузоришҳои 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, Огоҳӣ, 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 imudp
$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 якбора аз якчанд рӯйдодҳои гуногун мегузаранд: скан кардани антивирус, антиспам ва ғайра, пеш аз қабул ё фиристодан, барои мудир, агар почтаи электронӣ наояд, пайгирӣ дар кадом марҳила метавонад хеле мушкил бошад. гум шуд.

Барои ҳалли ин мушкилот шумо метавонед скрипти махсусеро истифода баред, ки онро мутахассиси амнияти иттилоотӣ Виктор Духовный таҳия кардааст ва аз ҷониби таҳиягарони 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 Екатерина Триандафилиди тавассути почтаи электронӣ тамос гиред. [почтаи электронӣ ҳифз карда шудааст]

Манбаъ: will.com