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

00-tech-book

.pdf
Скачиваний:
42
Добавлен:
10.02.2016
Размер:
7.86 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LogSyslog

Использовать Syslog (можно одновременно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

использовать с LogFile);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PidFile

Сохранять PID главного процесса Clamd в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

этот файл;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TemporaryDirectory

Временная директория;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DatabaseDirectory

 

 

 

 

 

 

 

 

 

 

 

Путь к директории содержащей файлы БД;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LocalSocket

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Путь к UNIX-сокету;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FixStaleSocket

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Удалять

 

сокет

 

 

 

после

некорректного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

завершения работы;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCPSocket

 

 

 

 

 

 

 

 

Номер TCP-порта на котором будет работать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервис;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TCPAddr

 

 

 

 

 

 

 

 

 

 

 

IP-адрес на котором будет работать сервис;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MaxConnectionQueueLength

 

 

 

 

 

Максимальная

очередь

подключений

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ожидающих обработки;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MaxThreads

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Максимальное число потоков в единицу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

времени;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ReadTimeout

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таймаут соединения;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

User

 

 

 

 

 

 

 

 

 

 

 

Запуск Clamd от этого пользователя;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AllowSupplementaryGroups

 

 

 

 

Инициализациядополнительногогруппового

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

доступа;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanPE

 

 

 

 

 

 

 

 

 

Сканировать .exe файлы или нет;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanELF

 

 

 

 

 

 

 

 

Сканировать файлы бинарного формата ELF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или нет;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DetectBrokenExecutables

 

С этой опцией Clamd попытается обнаружить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“сломанные” PE/ELF файлы и отметить их

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

соответствующим флагом;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanOLE2

 

Опция позволяет задать сканирование OLE-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объектов, таких как документы Microsoft

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Office и .msi файлы;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanMail

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Опция

позволяет

 

 

задать

сканирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

почтовых файлов;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanHTML

 

Сканирование HTML;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ScanArchive

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сканировать содержимое архивов или нет;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ArchiveBlockEncrypted

 

 

 

 

 

 

 

 

 

 

Маркировать зашифрованные архивы.

Clamsmtp

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

 

 

 

 

 

 

 

 

 

OutAddress

 

Порт через который возвращается письмо, после того как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

оно будет проверено на вирусы;

Модуль 15. Postfix.

 

231

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TimeOut

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Количество секунд, в течение которых ожидаются данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

от сетевых подключений;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

KeepAlives

 

 

 

 

 

 

Опция может помочь на медленных каналах связи, когда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

timeout наступает быстрее чем ClamAV успевает проверить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файл на вирусы;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XClient

Отправка команды Xclient принимающему серверу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Может быть полезно при перенаправление информации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о соединение серверам, которые поддерживают эту

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возможность;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Listen

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

соединений;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ClamAddress

 

 

 

Здесь указывается адрес для подключения к Clamd

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Antivirus Daemon);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Header

 

 

 

 

 

 

Здесь указывается, что будет дописано в заголовок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

письма;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TempDirectory

 

Директория для временных файлов;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Action

 

 

 

 

 

Это действие будет выполнено в случае нахождения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вируса, drop – удалить e-mail, bounce – отклонить письмо,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

pass – пропустить письмо в почтовый ящик пользователя;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Quarantine

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TempDirectory);

 

 

 

 

 

 

 

 

 

User

 

 

От какого пользователя запускать clamsmtpd, сначала

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сервис стартует с правами root, далее сервис начинает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работать с правами указанного пользователя в этой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опции.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Spamassassin

Конфигурационный файл /etc/mail/spamassassin/local.cf

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

required_hits

 

 

 

 

 

Необходимое количество очков чтобы письмо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

было опознано как спам;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

rewrite_header

 

 

 

 

 

 

 

 

Переписываем заголовок если письмо опознано

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как спам;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

report_safe

 

 

 

 

 

 

 

 

 

 

Если опция включена входящие письма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опознанныекакспамнебудутмодифицироваться,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вместо этого будет сгенерированно новое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

письмо с уведомлением о спаме и к нему будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

добавлено оригинальное сообщение;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

use_bayes

 

 

 

 

Использовать ли Bayes классификатор, база

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bayes создается командой sa-learn --sync;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

232

 

Модуль 15. Postfix.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bayes_path

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Путь к базам Bayes;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bayes_file_mode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Права доступа на файлы;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bayes_learn_to_journal

 

 

В процессе обучения, Bayes будет записывать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

информацию в журнал а не напрямую в базу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bayes_min_ham_num

Сколько ham (non-spam) и spam писем должно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

накопиться в базе данных Bayes, прежде чем она

bayes_min_spam_num

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

score

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назначение определенного количества

 

очков

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

какой либо тесту, это может быть положительное

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или отрицательное число (целое или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

десятичное);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ok_locales

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Какие локали считать корректными для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приходящих писем, письма не попадающие в этот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

список будут помечены как возможный спам;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

whitelist_from

 

 

 

 

 

 

 

 

 

Белый список адресов. Письма с этих адресов не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будут помечены как спам;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

blacklist_from

 

 

 

 

 

 

 

 

 

 

 

 

 

Черный список адресов. Письма с этих адресов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

будут помечены как спам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

auto_whitelist_path

Путь к файлу auto_whitelist, auto whitelisting

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вычисляет средний уровень оценки для

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

каждого отправителя и прибавляет его к оценке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

очередногописьма.Этопозволяетнеблокировать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

“благонадежных” отправителей если

оценка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

отдельного письма вдруг превысит предел.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

auto_whitelist_file_mode

 

 

 

 

 

 

 

 

Права доступа на файл;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

trusted_networks

 

 

 

 

 

 

 

Список надежных сетей, проверки на наличие в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

черных списках никогда не будет выполняться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для хостов в этих сетях.

 

 

 

 

 

 

Резюме

Мы сделали полнофункциональный почтовый сервер. Построение почтовых систем по праву считается одним из самых сложных моментов в системном

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

Домашнее задание

Сделать почтовый сервер по данному руководству и проверить работоспособность.

Модуль 15. Postfix.

 

233

 

 

 

OpenVPN

OpenVPN – бесплатное программное обеспечение для построения Virtual Private Network, защищенной частной сети. VPN-сеть – это логическая сеть создаваемая поверх другой сети.

Для обеспечения шифрования передаваемых данных используется библиотека OpenSSL. Пользователю предоставлен выбор способов шифрования, по умолчанию используется Blowfish.

В работе OpenVPN используется два псевдоустройства – tap (ethernet tunnel software network interface, L2 ) который эмулирует ethernet интерфейс и tun (tunnel software network interface, L3 ) который работает как point-to-point интерфейс. Драйвера этих устройств присутствуют в ядре Linux и нечего дополнительно настраивать не требуется.

Основные возможности OpenVPN:

1.Аутентификацияпользователейишифрованиетрафикасиспользованием библиотеки OpenSSL;

2.Возможность работы VPN-туннеля через NAT (Network Address Translation);

3. Сжатие трафика с использованием LZO real-time compression library.

Установка Linux VPN-сервера

В базовых репозиториях CentOS пакет OpenVPN отсутствует, поэтому мы подключим дополнительный репозиторий – EPEL, откуда его и поставим.

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release- 5-3.noarch.rpm

Устанавливаем OpenVPN

# yum -y install openvpn

Добавляем в автозагрузку при старте сервера

# chkconfig openvpn on

234

 

Модуль 16. OpenVPN.

 

 

 

Настройка Linux VPN-сервера

Расположение директорий и файлов OpenVPN.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/sbin/openvpn

 

 

 

 

 

 

 

 

 

 

 

 

 

Расположение бинарного файла OpenVPN;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/etc/openvpn/

 

 

 

 

 

 

Расположение конфигурационного файла и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ключей/сертификатов;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/share/doc/openvpn-2.1/

 

 

 

Масса примеров конфигурационных файлов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OpenVPN на все случаи жизни;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/share/openvpn/easy-rsa/

 

Расположение набора скриптов генерации

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

необходимых файлов для работы OpenVPN;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/var/run/openvpn/

 

 

 

Расположение PID-файла OpenVPN;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/usr/lib/openvpn/plugin/lib/

 

Несколько динамических библиотек;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/var/log/openvpn.log

 

 

 

 

 

По умолчанию журналирование происходит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в файл /var/log/messages, для OpenVPN мы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

заведем отдельный log-файл и расположен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

он будет в /var/log/

В данном модуле мы рассмотрим настройку VPN-сервера и нескольких клиентов, которые будут через него работать.

Сеть 192.168.146.0/24 является обычной незащищенной сетью. В это сети расположен наш будущий VPN-сервер с IP-адресом 192.168.146.150 (на нем

есть DNS-сервер) и два клиента, один Linux-клиент другой Windows-клиент (Windows XP).

Сеть 10.10.10.0/24 будет нашей VPN-сетью, весь трафик в этой сети будет шифроваться. Это может быть сеть из частного набора сетей (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16, определенных в документах RFC 1918 и RFC 4193 найти которые можно на ietf.org) и которую вы еще не используете. Когда в настройках OpenVPN сервера мы определяем VPN-сеть то первый IP-адрес из этой сети будет назначен VPN-серверу. Мы сделаем чтобы весь

трафик клиентов ходил через VPN-сервер.

При настройке VPN-сети мы сгенерируем несколько ключей и сертификатов, которые будут использоваться для аутентификации. OpenVPN обладает большим функционалом, но вполне распространенная конфигурация может занимать 15-20 строчек для сервера и 10 строчек для клиента и вы это немного позже увидите.

В каталог /etc/openvpn/ скопируем набор скриптов для быстрой и легкой генерации всех необходимых ключей и сертификатов.

# cp -R /usr/share/openvpn/easy-rsa/2.0/ /etc/openvpn/

Модуль 16. OpenVPN.

 

235

 

 

 

Переходим в каталог

# cd /etc/openvpn/2.0/

Открываем на редактирование файл vars и в самом его конце приводим переменные к такому виду:

export KEY_COUNTRY=»RU» export KEY_PROVINCE=»RU» export KEY_CITY=»Moscow» export KEY_ORG=»company.ru»

export KEY_EMAIL=»support@company.ru»

Инициализируем переменные

# source ./vars

Очищаем директорию keys от старых файлов

# ./clean-all

Создаем ROOT CERTIFICATE AUTHORITY (CA) сертификат/ключ (в директории /etc/openvpn/2.0/keys/ будут созданы файлы ca.crt и ca.key)

# ./build-ca

Создаем ключ и сертификат для сервера (в директории /etc/openvpn/2.0/ keys/ будут созданы файлы server.crt, server.key и server.csr).

Формат команды: ./build-key-server ServerName – где ServerName это название сервера.

# ./build-key-server server

Генерируем Diffie Hellman parameters для сервера. Суть алгоритма Diffie Hellman в том, чтобы наладить защищенное соединение по незащищенным каналам связи. По умолчанию длина файла 1024 бита, что очень даже достаточно. После выполнения этой команды будет создан файл /etc/ openvpn/2.0/keys/dh1024.pem

# ./build-dh

С генерацией файлов для сервера закончено, теперь можно добавлять клиентов вот такой командой (будут созданы файлы client1.crt, client1.key и client1.csr). Благодаря тому, что мы уже отредактировали файл vars и указали значения переменных по умолчанию, нам в большинстве запросов на ввод

236

 

Модуль 16. OpenVPN.

 

 

 

данных достаточно будет просто нажать Enter.

# ./build-key client1

Generating a 1024 bit RSA private key

......++++++

.................++++++

writing new private key to 'client1.key'

-----

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [RU]: [Enter] State or Province Name (full name) [RU]: [Enter] Locality Name (eg, city) [Moscow]: [Enter]

Organization Name (eg, company) [company.ru]: [Enter]

Organizational Unit Name (eg, section) []:IT Dept

Common Name (eg, your name or your server’s hostname) [client1]: [Enter] Name []:[Enter]

Email Address [support@company.ru]: [Enter]

Please enter the following ‘extra’ attributes to be sent with your certificate request

A challenge password []: [Enter]

An optional company name []: [Enter]

Using configuration from /etc/openvpn/2.0/openssl.cnf

Check that the request matches the signature

Signature ok

The Subject’s Distinguished Name is as follows countryName :PRINTABLE:’RU’ stateOrProvinceName :PRINTABLE:’RU’ localityName :PRINTABLE:’Moscow’ organizationName :PRINTABLE:’company.ru’ organizationalUnitName :PRINTABLE:’IT Dept’ commonName :PRINTABLE:’client1’

emailAddress :IA5STRING:’support@company.ru’ Certificate is to be certified until Apr 21 11:16:28 2019 GMT (3650 days) Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries

Data Base Updated

Common Name должно быть уникальным для всех.

Модуль 16. OpenVPN.

 

237

 

 

 

Все необходимые файлы для VPN-сервера будут расположены в /etc/ openvpn/ поэтому скопируем их туда из директории /etc/openvpn/2.0/keys/

# cp keys/{ca.crt,ca.key,server.crt,server.key,dh1024.pem} ../

Копируем шаблон конфигурационного файла VPN-сервера в /etc/openvpn/ и приводим его к конфигурации указанной ниже.

# cp /usr/share/doc/openvpn-2.1/sample-config-files/server.conf /etc/openvpn/ openvpn.conf

Содержание конфигурационного файла VPN-сервера (/etc/openvpn/ openvpn.conf):

local 192.168.146.150 port 1194

proto tcp

dev tun ca ca.crt

cert server.crt key server.key dh dh1024.pem

server 10.10.10.0 255.255.255.0 ifconfig-pool-persist ipp.txt

push «route 0.0.0.0 255.255.255.0»

push «dhcp-option DNS 192.168.146.150» push «redirect-gateway»

client-to-client keepalive 10 120 comp-lzo

user nobody group nobody persist-key persist-tun

status openvpn-status.log log /var/log/openvpn.log

verb 3 mute 10

Маршрут по умолчанию я переписываю удаляя старый, для этого я использовал “redirect-gateway”, если захотите чтобы старый тоже остался то

строчка

push «redirect-gateway»

должна быть такой:

push «redirect-gateway def1»

238

 

Модуль 16. OpenVPN.

 

 

 

На VPN-сервере необходимо включить IP Forwarding, так как наш сервер

будет маршрутизировать трафик.

# echo ‘1’ > /proc/sys/net/ipv4/ip_forward

Команда выше позволит сразу же начать маршрутизировать трафик, но состояние опции в момент перезагрузки сервера не сохраняется. Для того чтобы IP forwarding включить на постоянной основе необходимо отредактировать файл /etc/sysctl.conf

В файле /etc/sysctl.conf находим такую строку:

net.ipv4.ip_forward = 0

и меняем ее на:

net.ipv4.ip_forward = 1

Для того чтобы трафик VPN-клиентов достигший нашего сервера мог попадать в другие сети и успешно возвращаться нам нужно включить трансляцию сетевых адресов (NAT). Мы это сделаем с помощью iptables вот такой командой:

# iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

В ключе -o указан наш сетевой интерфейс во внешние сети, в ключе -s указываем нашу VPN-сеть, у вас она может быть и другой. Также интересный момент – для моих Linux-клиентов NAT не понадобился, а вот если у вас есть Windows-клиенты то команда iptables необходима.

Настройка VPN-сервера закончена и мы можем его запустить.

# service openvpn start

Теперь сгенерированные файлы необходимо перенести на клиентскую машину. Крайне желательно это делать безопасным способом, чтобы файлы не были перехвачены злоумышленниками. На Linux-клиент файлы можно

перенести с помощью команды scp, в этом случае весь передаваемые трафик будет зашифрован. Находясь в директории /etc/openvpn/ выполните такую команду:

# scp ca.crt 2.0/keys/client1.key 2.0/keys/client1.crt client1@192.168.146.134:~

где client1 – ваш логин на удаленной машине а 192.168.146.134 – ее IPадрес. В результате выполнения этой команды на удаленный компьютер мы

Модуль 16. OpenVPN.

 

239

 

 

 

скопируем файл ca.crt – сертификат CA и сертификат/ключ клиента, они ему понадобятся чтобы подключаться к VPN-серверу.

Далее эти файлы нужно переместить в /etc/openvpn/ из под пользователя root или другого имеющего право на запись в этом каталоге.

Linux VPN-клиент

Подключаем репозиторий EPEL откуда мы поставим OpenVPN.

# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release- 5-3.noarch.rpm

Устанавливаем OpenVPN

# yum -y install openvpn

Добавляем OpenVPN в автозагрузку при старте компьютера

#chkconfig openvpn on

В каталог /etc/openvpn/ копируем шаблон файла конфигурации OpenVPN-клиента

#cp /usr/share/doc/openvpn-2.1/sample-config-files/client.conf /etc/openvpn/ client.conf

И приводим его к следующему виду

Конфигурационный файл client.conf на Linux VPN-клиенте.

client

dev tun proto tcp

remote 192.168.146.150 1194 resolv-retry infinite

user nobody group nobody persist-key persist-tun

ca ca.crt

cert client1.crt key client1.key

ns-cert-type server

log-append /var/log/openvpn.log

comp-lzo verb 3

240

 

Модуль 16. OpenVPN.