На даний момент проблема безпеки в офісах білоруських компаній різних рівнів залишається досить гострою. І якщо атак з боку хакерів чекати не доводиться, а якщо такі й бувають, то дуже рідко, то шкідливе програмне забезпечення - справжнісінька неприємність, яка присутня практично скрізь.
Звичайно, досить часто виною локальних епідемій в периметрі компанії є її співробітники, які працюють з flash-накопичувачами і часто приносять "заразу" ззовні. Проте, робота в мережі Інтернет також є однією з причин епідемій, нехай і не першою. Варто зауважити, що актуальний стан антивірусних програм на машинах співробітників офісу частково вирішує проблему, але разом з тим робить її індивідуальної в деякому роді і розосереджених. Для більшої надійності необхідно застосовувати і глобальні рішення щодо захисту.
Багато хто подумав, що я маю на увазі корпоративний антивірус з контрольним центром у системного адміністратора мережі, але це не так. Насправді додатковим бар'єром на шляху шкідливого програмного забезпечення є proxy-сервер, який служить шлюзом між глобальною мережею і внутрішньої локальної.
Наше завдання сьогодні - модифікувати proxy-сервер на Squid, під керуванням Ubuntu Server 10.10. Використання unix-based системи в якості операційної - класичний варіант для проксі-шлюзів, тому що це не тільки економить ресурси, але і дозволяє зробити більш тонке налаштування.
архітектура
Оскільки у нас не планується проксі для Пентагону :), кількість інцидентів, пов'язаних з безпекою, в цілому буде невелике, однак це не привід залишити саму безпеку без уваги. Тому ми зробимо раціонально і вибудуємо периметр захисту, здатний протистояти актуальним проблемам, не вдаючись у нетрі, призначені для інженерів по ІБ.
Схема роботи досить проста і її можна простежити на малюнку.
При підключенні до зовнішніх ресурсів хост офісної локальної мережі відправлятиме запит на проксі. На самому проксі-сервері буде наступний ланцюжок пакетів: Squid + ClamAV + DansGuardian.
Squid - власне, сам проксі-сервер, який і буде взятий за основу при побудові периметра захисту від шкідливого ПО .
ClamAV - антивірусний пакет, який виступить в ролі сканера трафіку, при цьому буде підтримуватися в постійному актуальному стані.
DansGuardian - система фільтрації контенту, буде стояти між проксі-сервером і користувачем, тим самим забезпечуючи контроль над розширеннями файлів в трафіку і контроль за користувачами, крім іншого.
Отже, тепер можна приступити до реалізації периметра. Як я вже говорив, за основу береться чистий проксі Squid на Ubuntu Server.
установка ClamAV
Всі операції ми будемо виробляти від користувача з правами sudo:
$ Sudo apt-get install clamav-daemon clamav-freshclam
Цією командою ми встановили сканер ClamAV і його доповнення freshclam, про призначення якого можна здогадатися з назви. Дефолтних налаштувань антивіруса нам вистачить цілком, враховуючи, як я вже говорив вище, то, що наш офіс - не гарячкувати точка. Однак, якщо комусь необхідна особлива конфігурація і він знає, що робить - прошу в / etc / clamav /, тут у нас розташовані конфігураційні файли.
Далі переходимо до доповнення freshclam, яке покликане утримувати бази вірусних сигнатур сканера в актуальному стані. По дефолту оновлення відбуваються щогодини, якщо треба їх зробити частішим, то необхідно поправити конфиг. Відкриваємо конфігураційний файл командою:
$ Sudo nano /etc/clamav/freshclam.conf
У ньому знаходимо рядки:
# Check for new database 24 times a day Checks 24
Вони нам говорять, що протягом кожних 24 годин бази оновлюються 24 рази, тобто 1 раз на годину. Змінимо checks на 48 і отримаємо поновлення кожні 30 хвилин.
Тепер все, залишаємо ClamAV в спокої на деякий час.
установка DansGuardian
Отже, переходимо до пакету, який буде займатися фільтрацією трафіку. встановлюємо:
$ Sudo apt-get install dansguardian
Готово, тепер переходимо до налаштування системи в цілому. Оскільки тепер з користувачами буде контактувати НЕ Squid, а DansGuardian, нам необхідно налаштувати сторінки помилок і попереджень. Для цього проводимо деякі настройки в файлі конфігурації пакета:
$ Sudo nano /etc/dansguardian/dansguardian.conf
Знаходимо наступний рядок:
language = 'russian'
Вона визначає мову відображаються шаблонів. Якщо він не russian, то робимо його таким. Після цього нам необхідно правити шаблони сторінок в відповідному каталозі. Переглядаємо його вміст:
$ Sudo ls / etc / dansguardian / languages / russian /
Тепер бачимо кількість шаблонів. Наступний крок - їх редагування. Робиться це командою:
$ Sudo nano /etc/dansguardian/languages/russian/template.html
Назва файлу шаблону міняємо відповідно.
Тепер повертаємося до конфігурації і знову йдемо в:
$ Sudo nano /etc/dansguardian/dansguardian.conf
Знаходимо в тексті файлу наступні рядки:
filterip = xxxx filterport = 8080
Це налаштування доступу до DansGuardian. Пункту filterip присвоюємо IP-адреса нашого проксі-сервера. Порт залишаємо як є - дефолтний значення підійде.
Далі переходимо до рядків:
proxyip = 127.0.0.1 proxyport = 3128 #contentscanner = '/etc/dansguardian/contentscanners/clamav.conf'
У proxyip вказуємо, знову ж таки, IP-адреса нашого проксі, тут потрібна адреса, на якому працює Squid. У proxyport вказуємо значення порту Squid, якщо при установці squid ви не міняли порт, то залишаємо його 3128 - це дефолтний значення. Останній рядок вказує, що в якості сканера для трафіку буде використовуватися ClamAV - прибираємо #, тобто раскомментіруем рядок.
На завершення варто прибрати рядок "UNCONFIGURED - Please remove this line after configuration" в кінці файлу, це дозволить додатком зрозуміти, що файл конфігурації відрізняється від стандартного.
Рестарт демон:
$ Sudo /etc/init.d/dansguardian restart
Готово. Тепер все працює, однак можна ще більш тонко налаштувати всі. Каталог / etc / dansguardian / lists містить всі файли конфігурації, які відносяться до фільтрації трафіку. А каталог / etc / dansguardian / lists / contentscanners містить виключення з розширенням для антивірусного сканера - також вкрай важливий елемент для тонкої настройки.
Налаштування системи
На завершення хочу дати пару рекомендацій по налаштуванню системи для роботи з такою зв'язкою. Розглянемо два варіанти:
- Система чиста і на ній був встановлений тільки Squid, більше нічого не змінювалося (до того, як ми втрутилися).
- Система повноцінно функціонувала тільки з Squid, є певні настройки.
Варіант перший - найпростіший. Ми маємо "голу" систему, без настройки фільтра пакетів (мережевого екрану). Щоб прикрити "дірки" і не дозволяти "вольностей" користувачам проксі, треба активувати пакетний фільтр, закрити всі порти, крім 8080, через який здійснюється взаємодія користувачів з DansGuardian. Виконуємо наступні команди:
$ Sudo ufw default DENY
все закрили
$ Sudo ufw ALLOW 8080
Відкрили порт 8080
$ Sudo ufw enable
Активували пакетний фільтр. Усе.
Другий варіант. Користувачі вже працюють в мережі через порт 3128, безпосередньо через Squid. Однак, щоб трафік сканувався антивірусом і фільтрувався DansGuardian, треба, щоб порт 3128 був закритий для всіх (щоб уникнути обходу фільтрів трафіку) і відкрити порт 8080.
Виконуємо дві відповідні команди:
$ Sudo ufw ALLOW 8080 $ sudo ufw DENY 3128
Все готово.
висновок
Отже, тепер ми маємо периметр захисту від шкідливого ПО , Який відповідає вимогам звичайного офісу в Білорусі. Ми налаштували антивірусний сканер трафіку, встановили правила щодо завантаження контенту і, крім того, налаштували мережевий екран, що трохи підвищило безпеку в області портів проксі-сервера.
Євген КУЧУК,
www.sa-sec.org