Створення корпоративного шлюзу на базі 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-трафіку. Також у статті свідомо “не розжовані” багато речей, щоб дати можливість кінцевому читачеві самостійно розібратися більш детально та отримати додатковий досвід.