Створення корпоративного шлюзу на базі OS FreeBSD системою фільтрації http-трафіку від шкідливого
нотатки на туалетному папері
Створення корпоративного шлюзу на базі OS FreeBSD системою фільтрації http-трафіку від шкідливого коду.
Припустимо, що ми маємо робочий сервер на базіOS FreeBSD з двома мережевими інтерфейсами, які виконують роль шлюзу в Інтернет.
LAN інтерфейс IP192.168.0.254 WAN інтерфейс IP195.140.178.83
Завдання: залишити для користувачів з локальної мережі прозорий вихід в Інтернет, а також захистити їх від шкідливих програм, якими переповнена публічна мережа. Це завдання вирішуватимемо за допомогою зв'язкиHAVP+ClamAV+DrWeb
* Перш ніж приступати до встановлення, рекомендується оновити дерево портів.
Приступаємо до встановлення.
*Оскільки HAVP не вміє перевіряти SSL трафік, а може тільки перенаправляти, прибираємо пункт SSL.
Збираємо та встановлюємо.
Після закінчення встановлення дозволяємо запуск havp при старті OS.
Дозволяється запуск clamav_freshclam.
*clamav_freshclam автоматично оновлює антивірусні бази для ClamAV, які використовуватиме система HAVP для перевірки http запитів на наявність шкідливого коду.
Перевіряємо статус запуску.
*templates необхідні системі для сповіщення користувача про виникнення події, пов'язаної з перевіркою трафіку або блокування ресурсу.
Створюємо списки винятківblack&white.
whitelist – у цьому файлі зберігатимуться правила на web-ресурси, яким ми довіряємо, і які система не перевірятиме на наявність шкідливого ПЗ.blacklist – у цьому файлі зберігатимуться правила на web-ресурси, яким ми не довіряємо, і які система блокуватиме автоматично без перевірки.
Призначаємо власника файлів та права
Далі намнеобхідно налаштувати HAVP Правим /usr/local/etc/havp/havp.conf
У цьому прикладі наведено найпростіше налаштування системи.
Як видно зі змісту config-файлу, система HAVP дозволяє підключити й інші відомі антивірусні системи, але через відсутність ліцензій до інших антивірусних систем у цьому прикладі не розглядаються приклади їх підключення.
З метою зниження зносу дискового пристрою HDD під час перевірки http запитів ми створимо та змонтуємо віртуальний диск з оперативної пам'яті сервера.
Для того, щоб щоразу при перезавантаженні сервера не виконувати повторно вручну процедуру створення та монтування віртуального диска з оперативної пам'яті, можна додати у файл /etc/fstab такий рядок:
Правимо конфіг /usr/local/etc/drweb/drweb32.ini
Наводжу лише параметри, які були змінені в конфігураційному файлі за замовчуванням:
Розміщуємо файл ліцензії для Drweb сюди “/usr/local/drweb/drweb32.key”.
Файл ліцензії можна придбати або скористатися демо:
Змінюємо права власника на HAVP та стартуємо DrWeb
Для регулярного оновлення антивірусних баз для DrWeb-a необхідно додати рядок /etc/crontab
Правимо стартовий скрипт HAVP.
* При перезапуску ОС система HAVP повинна стартувати тільки після того, як drweb запуститься першим, інакше HAVP не запуститися.
Далі нам потрібно налаштувати IPNAT.
Додаємо параметри IPNAT в rc.conf і керуємо /etc/ipnat.rules
1. redirect-ім всі http пакети на transparent proxy - HAVP 2. map-ім (NAT-им) TCP/UDP пакети до Інтернету. 3. map-ним (NAT-ім) все інше.
Перевіряємо доступність Internet з будь-якого ПК у локальній мережі та дивимося в IPNAT.
Перевіряємо систему та дивимося, що вийшло.
Заходимо на сайт http://www.eicar.org/download/eicar_com.zip та перевіряємо як працює наш фільтр.
Архівні файли
Текстові файли
Виконані файли
Подібні події записуються до журналу для подальшого аналізу адміністратором.
Журнал знаходиться тут /var/log/havp/access.log
Можна оцінити результат роботи системи за цим журналом – access.log
Ось, власне, і все…
У цій статті запропоновано один із найпростіших і найскладніших у налаштуванні варіантів застосування системи фільтрації http-трафіку. Також у статті свідомо “не розжовані” багато речей, щоб дати можливість кінцевому читачеві самостійно розібратися більш детально та отримати додатковий досвід.