Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В

..pdf
Скачиваний:
112
Добавлен:
24.05.2014
Размер:
3.66 Mб
Скачать

Глава 30. Doctor Web – антивирусное программное обеспечение

441

Отредактируйте файл /etc/drweb/addresses.conf, руководствуясь выше приведенными рекомендациями и вашими потребностями. Авторы настоятельно рекомендуют не вносить в этот файл никаких почтовых адресов.

Шаг 2

Определите права доступа к файлу /etc/drweb/addresses.conf и назначьте его владельцем пользователя root:

[root@test /]# chmod 640 /etc/drweb/addresses.conf [root@test /]# chown 0.0 /etc/drweb/addresses.conf

Конфигурационный файл /etc/drweb/users.conf

Файл /etc/drweb/users.conf предназначен для блокировки проверок сообщений на содержание вирусов, отправляемых (или адресуемых) с определенных почтовых адресов. Первая строка файла должна содержать запись вида:

[version=NN]

которая означает, что записи содержатся в формате N-й версии файла. Если такой строки нет, то считается, что файл записан в формате 1-й версии.

Остальные строки файла имеют следующий формат (для второй версии файла):

OPERATION ROLE METHOD ADDRESS_EXPRESSION

где:

параметр OPERATION, принимая значения allow или deny, соответственно, разрешает или запрещает проверку на содержание вирусов.

Параметр ROLE – может принимать значения from, to или any – предназначен для определения контекста, в котором используется адрес, соответственно, отправителя, получателя или отправителя и получателя.

Параметр METHOD – может принимать значения exact, subst, regex – определяет способ обработки соответсвия адреса маске, определенной в ADDRESS_EXPRESSION. Значение exact требует точного совпадения ADDRESS_EXPRESSION с адресом. Значение subst требует, чтобы ADDRESS_EXPRESSION

содержался в адресе в качестве подстроки, regex требует, чтобы адрес соответствовал регулярному выражению, определенному в ADDRESS_EXPRESSION. При проверке письма содержащиеся в нем адреса отправителей и получателей последовательно сопоставляются с каждой из строк файла. Если найдено соответствие адресов условиям некоторой строки, то поиск прекращается и проверка на содержание вирусов выполняется или не выполняется в соответствии с установленным значением параметра OPERATION. Если не найдено ни одной строки, содержащей значение ADDRESS_EXPRESSION, соответствующего адресам в сообщении, то осуществляется проверка сообщения на содержание вирусов. Более подробно с вариантами и примерами настроек вы можете ознакомиться в файлах документации на русском и английском языках

/var/tmp/drweb-exim/opt/drweb/doc/exim/users_list.rus.txt и /var/tmp/drwebexim/opt/drweb/doc/exim/users_list.txt, соответственно.

Шаг 1 Руководствуясь выше приведенными рекомендациями и вашими потребностями, отредактируйте

файл /etc/drweb/users.conf. Авторы настоятельно рекомендуют не вносить в этот файл никаких почтовых адресов.

Шаг 2

Определите права доступа к файлу /etc/drweb/users.conf и назначьте его владельцем пользователя root:

[root@test /]# chmod 640 /etc/drweb/users.conf [root@test /]# chown 0.0 /etc/drweb/users.conf

Конфигурационный файл /etc/drweb/viruses.conf

Файл /etc/drweb/viruses.conf предназначен для блокировки отправки уведомлений администратору, отправителю или получателю сообщения при наличии в сообщении некоторых вирусов.

Первая строка файла должна содержать запись вида:

[version=NN]

которая означает, что записи содержатся в формате N-й версии файла. Если такой строки нет, то считается, что файл записан в формате 1-й версии.

Остальные строки файла имеют следующий формат:

TO_ADMIN TO_SENDER TO_RCPTS VIRUSNAME

/var/tmp/drweb-
/var/tmp/drweb-
/var/tmp/drweb-

442 Часть 7. Программное обеспечение для организации службы электронной почты

Параметры TO_ADMIN, TO_SENDER, TO_RCPTS могут принимать значения allow или deny, разрешая или запрещая отправку уведомлений об обнаружении вируса, название которого указано в параметре VIRUSNAME, соответственно, администратору, отправителю и получателю сообщения.

Более подробно с вариантами и примерами настроек вы можете ознакомиться в файлах документации на русском и английском языках

exim/opt/drweb/doc/exim/viruses_list.rus.txt и /var/tmp/drwebexim/opt/drweb/doc/exim/viruses_list.txt, соответственно.

Шаг 1

Отредактируйте файл /etc/drweb/viruses.conf, руководствуясь выше приведенными рекомендациями и вашими потребностями. Авторы настоятельно рекомендуют не вносить в этот файл никаких записей.

Шаг 2

Определите права доступа к файлу и назначьте его владельцем пользователя root:

[root@test /]# chmod 640 /etc/drweb/viruses.conf [root@test /]# chown 0.0 /etc/drweb/viruses.conf

Конфигурационные файлы шаблонов /etc/drweb/templates/en-ru/*.msg

Файлы шаблонов /etc/drweb/templates/en-ru/*.msg предназначены для редактирования уведомлений – отправляемых администратору, получателю и отправителю – о получении сообщения, содержащего вирус. Шаблон может содержать макросы (ограниченные знаками $), которые заменяются реальными данными в момент создания уведомления.

Более подробно с описанием макросов и примерами их использования вы можете ознакомиться, прочитав документацию на русском и английском языках в файлах

exim/opt/drweb/doc/exim/notify.rus.txt и exim/opt/drweb/doc/exim/notify.txt, соответственно.

Шаг 1

Отредактируйте файлы /etc/drweb/templates/en-ru/*.msg, руководствуясь выше приведенными рекомендациями и вашими потребностями. Авторы рекомендуют сократить текст уведомлений, удалив текст на английском языке и лишние подробности в сообщениях, адресуемых отправителю и получателю сообщения.

Шаг 2

Определите права доступа к файлам и назначьте их владельцем пользователя root:

[root@test /]# chmod 550 /etc/drweb/templates/en-ru/*.msg [root@test /]# chown root.mail /etc/drweb/templates/en-ru/*.msg

Тестирование Doctor Web

Для тестирования Doctor Web в варианте интеграции его с почтовым транспортным агентом Exim необходимо выполнить следующие операции.

Шаг 1

Запустите Dr. Web daemon:

[root@test /]# /etc/init.d/drwebd start

Если вы увидите сообщение, подобное этому:

Starting Dr. Web daemon...Демон Dr.Web (R) для Linux, версия 4.29.2 (5

Ноябрь 2002)

Copyright (c) Игорь Данилов, 1992-2002 "Лаборатория Данилова" и «ДиалогНаука"

http://www.drweb.ru, support@drweb.ru: +7 (812) 387-64-08

http://www.dials.ru, antivir@dials.ru: +7 (095) 137-01-50

Ключевой файл: /opt/drweb/drwebd.key

Регистрационные данные: 0100005168

Evaluation Key (ID Anti-Virus Lab. Ltd, St.Petersburg)

ОЗНАКОМИТЕЛЬНАЯ версия! Имеет функциональные ограничения! Для регистрации обращайтесь к региональному дилеру.

Глава 30. Doctor Web – антивирусное программное обеспечение

443

Загрузка /var/drweb/bases/drwebase.vdb - Ok, вирусных записей: 31578

Демон загружен, TCP-сокет создан на порту 3000

то запуск Dr. Web daemon прошел удачно.

Шаг 2

Для проверки работоспособности демона создайте файл, содержащий тестовый вирус EICAR. Для этого удалите из файла /install/opt/drweb/doc/readme.eicar лишние строки, оставив только одну:

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

и сохраните его в файле ~/virus.com.

Файл ~/virus.com не является вирусом, а содержит строку, используемую большинством антивирусных продуктов для тестирования.

Проверьте файл ~/virus.com на наличие вируса:

[root@test /]# /opt/drweb/clients/drwebdc -nlocalhost -p3000 -fvirus.com

Если вы получите сообщение, подобное следующему:

Results: daemon return code 0x10020 (known virus is found)

то Dr. Web daemon функционирует нормально.

Шаг 3 Некоторые ошибки в конфигурационных файлах могут быть обнаружены с помощью запуска из ко-

мандной строки drweb-exim. Протестируйте конфигурационные файлы на предмет наличия ошибок:

[root@test /]# /opt/drweb-exim --check_only --check_user=mail

Ниже приведен пример сообщения об ошибке в 185 строке конфигурационного файла

/etc/drweb/drweb_exim.conf:

dwlib: conf: filter would use mail account (uid=8, gid=12) dwlib: conf: configuration will been loaded from /etc/drweb/drweb_exim.conf

dwlib: read_section(Actions): illegal line 185

dwlib: read_conf(/etc/drweb/drweb_exim.conf): error in section [Actions] dwlib: conf: configuration loading has been failed

cannot load configuration file

This report created automatically by antivirus software. Problem: cannot load configuration file

Шаг 4 Отравьте письмо, содержащее вирус, какому-нибудь пользователю:

[drwalbr@test drwalbr /]$ cat virus.com | mail –s "Вирус" karlnext

и через некоторое время проверьте почту отправителя, получателя и администратора. В рассматриваемом примере получатель – karlnext@test.bruy.info – должен получить следующее сообщение:

From: "DrWeb-DAEMON" <DrWEB-DAEMON@test.bruy.info> To: "Recipients of original message" <#@[]>

Date: Fri, 27 Jun 2003 21:49:47 +0400 Subject: Undelivered mail: Вирус Dear User,

the message sent to you by drwalbr@test.bruy.info (may be forged) with following

attributes has not been delivered, because contains an infected object.

--- Dr.Web report ---

Following virus(es) has been found: инфицирован EICAR Test File (NOT a Virus!)

Dr.Web detailed report:

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Virus!)

Dr.Web scanning statistic: Evaluation key used !Infected : 1

--- Dr.Web report ---

The original message was stored in archive record named:

444

Часть 7. Программное обеспечение для организации службы электронной почты

drweb.quarantined_8dPLFf

In order to receive the original message, please send request to <postmaster@bruy.info>, referring to the archive record name given above.

Antivirus service provided by Dr.Web(R) Daemon for Unix (http://www.drweb.ru, http://www.dials.ru/english)

Content-Type: text/plain; charset=koi8-r

Content-Transfer-Encoding: 8bit

Уважаемый Получатель !

Сообщение, посланное Вам с адреса drwalbr@test.bruy.info (возможно подделан)

инфицировано и не было доставлено.

--- Dr.Web report ---

Найден(ы) следующий(е) вирус(ы):

инфицирован EICAR Test File (NOT a Virus!)

Детализированный отчет Dr.Web:

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Vi-

rus!)

Статистика сканирования Dr.Web:

Evaluation key used !Infected : 1

--- Dr.Web report ---

Сообщение сохранено в карантине под именем:

drweb.quarantined_8dPLFf

Чтобы получить это сообщение, обратитесь к администратору по адресу <postmaster@bruy.info>, указав имя, под

которым сохранено сообщение для Вас. Антивирусная защита почтовых серверов

Dr.Web(R) Daemon for Unix (разработан в Daniloff's Labs) (http://www.drweb.ru, http://www.DialogNauka.ru)

Отправитель – drwalbr@test.bruy.info – должен получить следующее сообщение:

From: "DrWeb-DAEMON" <DrWEB-DAEMON@test.bruy.info> Subject: Undelivered mail: Вирус

Date: Fri, 27 Jun 2003 21:49:48 +0400 To: drwalbr@test.bruy.info

Dear User,

the message with following attributes has not been delivered, because contains an infected object.

Sender = drwalbr@test.bruy.info (may be forged)

Recipients = karlnext@test.bruy.info Subject = Вирус

Message-ID = <E19VxLc-0005Mq-Hi@test.bruy.info> Antivirus filter report:

--- Dr.Web report ---

Following virus(es) has been found: инфицирован EICAR Test File (NOT a Virus!)

Dr.Web detailed report:

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Virus!)

Dr.Web scanning statistic: Evaluation key used !Infected : 1

--- Dr.Web report

---

 

 

Antivirus service provided by

Dr.Web(R) Daemon for Unix

(http://www.drweb.ru, http://www.dials.ru/english)

Уважаемый Отправитель

drwalbr@test.bruy.info !

Сообщение, отправленное с Вашего

адреса (возможно вирусом

с другого компьютера)

по адресу(ам) karlnext@test.bruy.info

инфицировано и не

было

доставлено.

--- Dr.Web report

---

вирус(ы):

 

Найден(ы) следующий(е)

 

инфицирован EICAR

Test

File (NOT

a Virus!)

Детализированный отчет

Dr.Web:

 

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Virus!)

Глава 30. Doctor Web – антивирусное программное обеспечение

445

Статистика сканирования Dr.Web:

Evaluation key used !Infected : 1

--- Dr.Web report ---

Ваше сообщение сохранено в карантине под именем:

drweb.quarantined_8dPLFf

Чтобы получить это сообщение, обратитесь к администратору по адресу <postmaster@bruy.info>, указав имя, под которым Ваше сообщение сохранено в карантине.

---

Антивирусная защита почтовых серверов

Dr.Web(R) Daemon for Unix (разработан в Daniloff's Labs) (http://www.drweb.ru, http://www.DialogNauka.ru)

Администратор – postmaster@bruy.info – должен получить сообщение следующего вида:

From: "DrWeb-DAEMON" <DrWEB-DAEMON@test.bruy.info> Subject: A VIRUS HAS BEEN DETECTED !!!

Date: Fri, 27 Jun 2003 21:49:47 +0400

To: "AV-Administrator" <postmaster@bruy.info>

Dear Postmaster,

the message with following attributes has not been delivered, because contains an infected object.

Sender = drwalbr@test.bruy.info (may be forged)

Recipients = karlnext@test.bruy.info

Subject = Вирус

Message-ID = <E19VxLc-0005Mq-Hi@test.bruy.info>

--- Dr.Web report ---

Following virus(es) has been found:

инфицирован EICAR Test File (NOT a Virus!)

Dr.Web detailed report:

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Virus!)

Dr.Web scanning statistic: Evaluation key used !Infected : 1

--- Dr.Web report ---

The original message was stored in archive record named:

drweb.quarantined_8dPLFf

Уважаемый Администратор !

Следующее сообщение инфицировано и не было доставлено. Оправитель = drwalbr@test.bruy.info (возможно подделан)

Получатели = karlnext@test.bruy.info

Тема = Вирус

Идентификатор = <E19VxLc-0005Mq-Hi@test.bruy.info>

--- Dr.Web report ---

Найден(ы) следующий(е) вирус(ы):

инфицирован EICAR Test File (NOT a Virus!)

Детализированный отчет Dr.Web:

drweb.tmp_X3gj3M/[message body] инфицирован EICAR Test File (NOT a Vi-

rus!)

Статистика сканирования Dr.Web: Evaluation key used !Infected : 1

--- Dr.Web report ---

Сообщение сохранено в карантине под именем: drweb.quarantined_8dPLFf

В каталоге /var/drweb/infected должен находиться файл drweb.quarantined_8dPLFf, со-

держащий исходное сообщение, отправленое пользователем drwalbr пользователю karlnext:

From drwalbr@test.bruy.info Fri Jun 27 21:49:47 2003

Received: from drwalbr by test.bruy.info with local (Exim 4.20 #1 ) id 19VxLc-0005Mq-Hi

for <karlnext@test.bruy.info>; Fri, 27 Jun 2003 21:49:20 +0400

To: karlnext@test.bruy.info Subject: Вирус

Message-Id: <E19VxLc-0005Mq-Hi@test.bruy.info>

446

Часть 7. Программное обеспечение для организации службы электронной почты

From: drwalbr@test.bruy.info

Date: Fri, 27 Jun 2003 21:49:20 +0400 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

Обновление антивирусных баз Doctor Web

Для обновления антивирусных баз данных необходимо запустить скрипт

[root@test /]# /opt/drweb/update/update.pl

Глава 31. MySQL – сервер баз данных

447

Часть 8

Программное обеспечение для серверов баз данных

448

Часть 8. Программное обеспечение для сервера баз данных

Глава 31

MySQL – сервер баз данных

В этой главе:

1. Ограничения и допущения

2.Пакеты

3.Инсталляция MySQL из rpm-пакетов

4.Компиляция, оптимизация и инсталляция MySQL из исходных кодов

5.Конфигурирование MySQL

6.Конфигурационный файл /etc/my.cnf

7.Конфигурационный файл /etc/logrotate.d/mysqld

8.Файл инициализации /etc/init.d/mysqld

9.Установка пароля пользователя root и удаление демонстрационной базы данных test

10.Монтирование раздела баз данных с атрибутом noatime

11.Пример использования MySQL

Глава 31. MySQL – сервер баз данных

449

В настоящее время базы данных находят широкое применение в практически любых информационных системах, начиная с простейшего любительского сайта и заканчивая корпоративными базами данных. Для организации интерфейса между конечными пользователями (клиентскими программами) и базами данных, а также администрирования баз данных используется определенный класс программного обеспечения, называемый серверами баз данных. MySQL – многопользовательский, многопоточный SQL-сервер баз данных, разработанный компанией MySQL AB. К числу достоинств этого сервера следует отнести высокую производительность, устойчивость к ошибкам и простоту в использовании.

Ограничения и допущения

Исходные коды находятся в каталоге /var/tmp.

Все операции по инсталляции программного обеспечения выполняются пользователем с учетной записью root.

Используется дистрибутив ASPLinux 7.3 (Vostok). Перекомпиляция ядра не требуется.

Процедуры, описанные в этой главе, могут оказаться применимыми для других версий ядра и дистрибутивов Linux, но авторы этого не проверяли.

Пакеты

Последующие рекомендации основаны на информации, полученной с домашней страницы проекта MySQL по состоянию на 01.07.2003. Регулярно посещайте домашнюю страницу проекта http://www.mysql.com и отслеживайте обновления.

MySQL-сервер содержится в пакете MySQL-server-version.rpm (последняя доступная на момент написания главы стабильная версия MySQL-server-4.0.13-0.i386.rpm), клиентское программное обеспечение – в rpm-пакете MySQL-client-version.rpm (последняя доступная на момент написания главы стабильная версия MySQL-client-4.0.13-0.i386.rpm). Этих двух пакетов достаточно для стандартной установки сервера и клиентского программного обеспечения. Кроме того, на сервере разработчиков имеются следующие rpm-пакеты:

пакет MySQL-bench-VERSION.i386.rpm, содержащий тесты и контрольные задачи;

пакет MySQL-devel-VERSION.i386.rpm, содержащий библиотеки и другие файлы, необходимые для компиляции некоторых клиентов MySQL, например, модулей Perl.

пакет MySQL-shared-VERSION.i386.rpm, содержащий динамические библиотеки (libmysqlclient.so*), используемые в некоторых языках программирования для взаимодействия с

MySQL.

пакет MySQL-VERSION.src.rpm, содержащий исходные коды для всех приведенных выше rpm-

пакетов.

Исходные коды MySQL содержатся в архиве mysql-version.tar.gz (последняя доступная на момент написания главы стабильная версия mysql-4.0.13.tar.gz).

ЗАМЕЧАНИЕ В соответствии с рекомендациями разработчиков на Linux-системах с процессором архитектуры x86 и версией компилятора gcc 2.96 рекомендуется устанавливать MySQL из rpm-пакетов или откомпилированных разработчиками исполняемых файлов. Использование сервера баз данных, скомпилированного из исходных кодов с помощью компилятора gcc 2.96, может привести к потере данных. Разработчики также сообщают, что компиляция исходных кодов с помощью компиляторов версий 2.95, 2.91 и 3.2 позволяет получить надежно работающие исполняемые файлы MySQL.

Инсталляция MySQL из rpm-пакетов

Для инсталляция MySQL из rpm-пакетов необходимо выполнить некоторые операции. Следует подчеркнуть, что в состав дистрибутива ASPLinux 7.3 (Vostok) включены лишь часть пакетов из перечисленных выше:

mysql-3.23.49-3.asp.i386.rpm;

mysqlclient9-3.23.22-6.i386.rpm;

mysql-server-3.23.49-3.asp.i386.rpm;

mysql-devel-3.23.49-3.asp.i386.rpm.

Шаг 1

450

Часть 8. Программное обеспечение для сервера баз данных

В случае установки MySQL из дистрибутива, перейдите в каталог, где находятся требуемые пакеты. Если вы в соответствии с рекомендациями главы 2 скопировали все исходные rpm-пакеты в каталог /home/distrib, то выполните команду:

[root@drwalbr /]# cd /home/distrib

и установите:

[root@drwalbr distrib]# rpm -ihv mysqlclient9-3.23.22-6.i386.rpm\ mysql-server-3.23.49-3.asp.i386.rpm

Шаг 2

В случае установки MySQL из более свежих пакетов, загруженных с сервера разработчика, осуществите проверку подлинности имеющихся в вашем распоряжении rpm-пакетов с использованием процедур, описанных в шаге 1 радела «Компиляция, оптимизация и инсталляция OpenSSL» главы 12.

Шаг 3 Установите и запустите сервер баз данных:

[root@drwalbr /]# cd /var/tmp

[root@drwalbr tmp]# rpm -ihv MySQL-client-4.0.13-0.i386.rpm MySQL- server-4.0.13-0.i386.rpm

Подготовка... ########################################### [100%] 1:MySQL-client ########################################### [ 50%] 2:MySQL-server ########################################### [100%]

Preparing db table Preparing host table Preparing user table Preparing func table Preparing tables_priv table

Preparing columns_priv table Installing all prepared tables

030702 11:15:29 /usr/sbin/mysqld: Shutdown Complete

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

This is done with:

/usr/bin/mysqladmin -u root password 'new-password' /usr/bin/mysqladmin -u root -h drwalbr.und password 'new-password'

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at http://www.mysql.com

Support MySQL by buying support/licenses at https://order.mysql.com

Starting mysqld daemon with databases from /var/lib/mysql

ЗАМЕЧАНИЕ Обратите внимание на предупреждающее сообщение о необходимости установки пароля для пользователя root. До установки пароля каждый пользователь локальной системы – в рассматриваемом примере drwalbr.und – может совершать любые, по своему усмотрению, действия с вашим сервером баз данных. Установить пароль можно с помощью утилиты mysqladmin, используемой для администрирования сервера, c помощью команд, приведенных выше или с помощью клиента mysql в соответствии с рекомендациями раздела «Конфигурирование MySQL".

Компиляция, оптимизация и инсталляция MySQL из исходных кодов

Напоминаем, использование сервера баз данных, скомпилированного из исходных кодов с помощью компилятора gcc 2.96, может привести к потере данных. Для реализации ниже приведенных инструкций необходимо наличие компилятора версии, отличной от 2.96. Установка MySQL из исходных кодов целесообразна лишь в случае предъявления к серверу нестандартных требований по производительности и функциональным возможностям.

Инсталляция MySQL из исходных кодов осуществляется следующим образом.

Шаг 1

Соседние файлы в предмете Информатика