
LINUX-сервер пошаговые инструкции инсталляции и настройки - Бруй В. В. , Карлов С. В
..pdfГлава 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

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