@дом≥вка ¬≥ктора „мел¤

 
 [√оловна / Ќотатки консультанта]

”становка DrWeb на поштовий сервер sendmail п≥д FreeBSD


@ «адача: ѕерев≥рка вх≥дноњ/вих≥дноњ пошти на в≥руси. Sendmail стоњть на FreeBSD-сервер≥.


¬ принцип≥ достатньо гарно весь процес установки описано в ориг≥нальн≥й документац≥њ, але певн≥ труднощ≥ все ж таки виникли. ѕро них ≥ буде написано. “реба у¤вл¤ти роботу Sendmail, структуру його конф≥гурац≥йних файл≥в, та схему роботи поштових ф≥льтр≥в (див. Milter), бо саме в так≥й ¤кост≥ "прикручуЇтьс¤" антив≥рус Dr. Web дл¤ Linux и FreeBSD. ’оча ц≥лком достатьно ≥нформац≥њ в FAQ та README файлах drwebd та drweb-smf.


ѕрограмн≥ компоненти:


  1. поштовий сервер Sendmail з п≥дтримкою MilterAPI. як перев≥рити цю п≥дтримку? Ќу, от щось таке маЇ бути:


    %grep filter /etc/mail/sendmail.cf
    # Input mail filters
    # O InputMailFilters=

    якщо цього немаЇ - дивись детальн≥ше Makefile за допомогою ¤кого збиравс¤ sendmail (в /usr/src/contrib/sendmail або /usr/ports/mail/sendmail) або його README/INSTALL. ¬ FreeBSD-stable на момент написанн¤ була верс≥¤ з необх≥дною п≥дтримкою.
  2. DrWeb-сканер.  ачаЇтьс¤ разом з демо-ключиком з р≥дного сайту. я ставив Dr. Web 4.31.2 дл¤ FreeBSD 4.x.

  3. DrWeb-ф≥льтр (drweb-sendmail-4.31-freebsd4). Ѕеретьс¤ в тому ж самому м≥сц≥.



≤нстал¤ц≥¤ демона-сканера (drwebd) так ≥ sendmail-ф≥льтра дл¤ нього (drweb-smf) особливих проблем не викликали. ѕереконайтесь, що п≥сл¤ ≥нстал¤ц≥њ сканер ловить тестовий "в≥рус" readme.eicar за допомгою локального скануванн¤ в≥дпов≥дноњ директор≥њ.


host# /usr/local/drweb/drweb -path=/usr/local/drweb/doc
-- skip --
/usr/local/drweb/doc/readme.eicar infected with EICAR Test File (NOT a Virus!)
-- skip --


¬иб≥р модел≥ взаЇмод≥њ 3-х програм: sendmail, drweb-smf, drwebd. ≤снуЇ два вар≥анти: TCP/IP сокети (дл¤ випадку, коли програми знаход¤тьс¤ на р≥зних машинах), та UNIX-сокети (м≥жпроцесова взаЇмод≥¤ через спец≥альн≥ локальн≥ файли). я вибрав другий вар≥ант, ¤к найб≥льш безпечний дл¤ перев≥рки пошти, що в≥дправл¤Їтьс¤ з/на дану машину. ¬се ж таки в≥дсутн≥сть зайвих д≥рочок в оборон≥ - одне з правил захисту. ќтже, дл¤ будь-¤кого вар≥анту потр≥бно визначити 2 зв"¤зки:


+----------+ +------------------------+ +--------+
| sendmail |<---->| milter-api | drweb-smf |<---->| drwebd |
+----------+ ^ +------------------------+ ^ +--------+
1 2

¬ моЇму випадку це локальн≥ файли-сокети:

1 - /var/drweb/run/drwebd.skt та

2 - /var/drweb/run/drweb-smf.skt

—творювати њх не потр≥бно њх потр≥бно описати в конф≥гах. ќтже, поњхали.



Ќастройка sendmail робилась трохи неканон≥чним чином: редагуванн¤м файл≥в /etc/mail/sendmail.cf та /etc/mail/submit.cf, зам≥сть редагуванн¤ в≥дпов≥дних *.mc-файл≥в та генерац≥њ *.cf за допомогою процесора m4(1), ¤к радить б≥льш≥сть пос≥бник≥в. јле радити - це одне, а жити за цими порадами - зовс≥м ≥нше. ќтже в секц≥њ "Input mail filter" пишемо наступне:


############################
# Input mail filters
############################
O InputMailFilters=drweb-filter

O Milter.LogLevel=6
O Milter.macros.envfrom=i
O Milter.macros.connect=_

в секц≥њ "Xfilters":

############################
# Xfilters
############################
Xdrweb-filter, S=local:/var/drweb/run/drweb-smf.skt, F=T, T=C:1m;S:5m;R:5m;E:1h

ƒокладн≥ше див. /usr/local/drweb/doc/sendmail/readme.rus.



Ќастройка drwebd-демона робитсь¤ через файл /usr/local/etc/drweb32.ini. –≥зноман≥тн≥ налаштуванн¤ того що ≥ ¤к перев≥р¤ти, ≥ що з ним пот≥м робити - до ваших послуг, хоча з демо-ключиком виб≥р невеликий ;) (докладн≥ше див. /usr/local/drweb/doc/readme.daemon.rus). Ќас ц≥кавить взаЇмод≥¤ плюс робота демона з правами юзера drweb, а саме:


;--- Communication settings: ---
Socket = /var/drweb/run/drwebd.skt 666

-- skip --

;--- User settings: ---
User = drweb



Ќалаштуванн¤ ф≥льтру - файл /usr/local/etc/drweb_smf.conf в ¤кому на в≥дм≥ну в≥д попередн≥х файл≥в вказуютьс¤ дв≥ адреси, бо власне ф≥льтр виступаЇ зв"¤зуючою ланкою м≥ж двома ≥ншими програмами:


#########################
# Communication section #
#########################
[DaemonCommunication]
Address = local:/var/drweb/run/drwebd.skt


########################
# Scan options section #
########################
[Scanning]
-- skip --
# User account used by filter
FilterAccount = drweb


################################
# Mail system settings section #
################################
[Mailer]
-- skip --
MilterAddress = local:/var/drweb/run/drweb-smf.skt

Ѕ≥льш докладно див. /usr/local/drweb/doc/sendmail/readme.rus.



—творюЇмо користувача drweb з такими параметрами:


host# grep drweb /etc/passwd /etc/group
/etc/passwd:drweb:*:1005:1005:DrWeb antivirus:/nonexistent:/sbin/nologin
/etc/group:drweb:*:1005:

≥ надаЇмо йому доступ до директор≥њ /var/drweb:

chown -R drweb /var/drweb



ƒл¤ правильного запуску ф≥льтра при завантаженн≥ системи за допомогою bash-скрипта /usr/local/drweb/doc/sendmail/configure генеруЇтьс¤ скрипт /usr/local/etc/rc.d/01drweb-sendmail.sh. “реба акуратно в≥дпов≥сти на його запитанн¤ ≥ правильний запуск вам гарантовано. —крипт дл¤ демона drwebd /usr/local/etc/rc.d/00drwebd.sh кладетьс¤ туди ще при його(демона) ≥нстал¤ц≥њ.


host# cd /usr/local/drweb/doc/sendmail/
host# bash ./configure



ѕерев≥рка роботи була проста:


%>mail admin < eincar.com

јле ¤к ви¤вилос¤ це шл¤х не в≥рний !!!. ¬≥дправл¤ти листа з в≥русом треба не ¤к plain-text, а ¤к д≥йсно ¤к вкладенн¤. ≤накше антив≥рус вважаЇ це просто т≥лом листа, а код в≥руса - звичайним текстом ≥ не спрацьовуЇ. як це зробити з командного р¤дка - ¤ чесно кажучи не хот≥в копати, лише знаю, що це можливо.


ћ≥й вар≥ант перев≥рки хтось буде вважати стр≥л¤ниною з гармати по горобц¤х, але тестова машина на ¤к≥й робилос¤ все, що тут описано, було оточена реле¤ми на ¤ких вже сто¤ли антив≥руси, ≥ просто прислати листа з будь-¤кого публ≥чного мейл-сервера було не можливо - в≥н виловлювавс¤ по дороз≥. я зробив так: встановив X-Window, ≥ п≥д нењ з порт≥в поштового кл≥Їнта Sylpheed-Claws, ¤кий працюЇ з локальною поштовою скринькою. ¬≥д≥слав сам соб≥ листа з вкладеним в≥русом ≥ логи показали


%>tail /var/drweb/log/drwebd.log

що система нарешт≥ працюЇ!



ѕодальша настройка ф≥льтра вже маЇ п≥дган¤тис¤ п≥д конкретну ситуац≥ю вашу чи ваших кл≥Їнт≥в.


Viktor V. Chmel, 3/09/2004 08:42:00 PM.

 

[√оловна / Ќотатки консультанта] Last update:

Copyright © „мель ¬≥ктор, , 2001-2004

Hosted by uCoz