00-tech-book
.pdf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
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. |
|
|
|