Методи моніторингу та забезпечення безпеки для підтримки працездатності корпоративної мережі

забезпечення

Не можна покладатися лише увагу системного адміністратора; необхідні автоматичні та безперервно діючі засоби контролю стану мережі та своєчасного оповіщення про можливі проблеми.

Будь-яка корпоративна комп'ютерна мережа навіть невелика вимагає постійної уваги до себе. Як би добре вона не була налаштована, наскільки надійне ПЗ не було встановлено на серверах і клієнтських комп'ютерах - не можна покладатися лише на увагу системного адміністратора; необхідні автоматичні та безперервно діючі засоби контролю стану мережі та своєчасного оповіщення про можливі проблеми.

Навіть випадкові збої апаратного або програмного забезпечення можуть призвести до неприємних наслідків. Істотне уповільнення функціонування мережевих сервісів і служб – ще менш неприємне їх (хоча у гірших випадках може залишатися непоміченим протягом тривалих проміжків часу). Набагато гірше, коли критично важливі служби або програми повністю припиняють функціонування, і це залишається непоміченим протягом тривалого часу. Типи «критичних» служб можуть бути дуже різноманітні (і, відповідно, вимагати різних методів моніторингу). Від коректної роботи веб-серверів та серверів БД може залежати працездатність внутрішньокорпоративних програм та важливих зовнішніх сервісів для клієнтів; збої та порушення роботи маршрутизаторів можуть порушувати зв'язок між різними частинами корпорації та її філіями; сервери внутрішньої пошти та мережевих месенджерів, автоматичних оновлень та резервного копіювання, принт-сервери – будь-які з цих елементів можуть страждати від програмних та апаратних збоїв.

І все ж, ненавмисні відмови обладнання та ПЗ – в більшості випадків, разові та легко виправляютьсяситуації. Куди більше шкоди може завдати свідомих шкідливих дій зсередини або ззовні мережі. Зловмисники, які виявили «дірку» в безпеці системи, можуть зробити безліч деструктивних дій - починаючи від простого виведення з ладу серверів (що, як правило, легко виявляється і виправляється), і закінчуючи зараженням вірусами (наслідки непередбачувані) і крадіжкою конфіденційних даних (наслідки) ).

Практично всі з описаних вище сценаріїв (і безліч аналогічних), зрештою, ведуть до серйозних матеріальних збитків: порушення схем взаємодії між співробітниками, безповоротної втрати даних, втрати довіри клієнтів, розголошення секретних відомостей тощо. Оскільки повністю виключити можливість відмови або некоректної роботи техніки неможливо, рішення полягає в тому, щоб виявляти проблеми на ранніх стадіях, і отримувати про них найбільш докладну інформацію. Для цього, як правило, застосовується різне програмне забезпечення моніторингу та контролю мережі, яке здатне як своєчасно сповіщати технічних фахівців про виявлену проблему, так і накопичувати статистичні дані про стабільність та інші параметри роботи серверів, сервісів та служб, доступні для детального аналізу.

Нижче ми розглядаємо базові методи моніторингу роботи мережі та контролю її захищеності.

Методи моніторингу стану мережі

Вибір методів і об'єктів моніторингу мережі залежить від багатьох чинників – конфігурації мережі, які у ній сервісів і служб, конфігурації серверів і встановленого ними, можливостей ПЗ, що використовується моніторингу тощо. На загальному рівні можна говорити про такі елементи як:

  1. перевірка фізичної доступності устаткування;
  2. перевірка стану(працездатності) служб та сервісів, запущених у мережі;
  3. детальна перевірка не критичних, але важливих параметрів функціонування мережі: продуктивність, завантаження тощо;
  4. перевірка параметрів, специфічних сервісів і служб даного конкретного оточення (наявність деяких значень у таблицях БД, вміст лог-файлов).

Початковий рівень будь-якої перевірки – тестування фізичної доступності устаткування (яка може бути порушена внаслідок відключення самого устаткування чи відмові каналів зв'язку). Як мінімум, це означає перевірку доступності по ICMP-протоколу (ping), причому бажано перевіряти не тільки факт наявності відповіді, а й час проходження сигналу, і кількість втрачених запитів: аномальні значення цих величин зазвичай сигналізують про серйозні проблеми в конфігурації мережі . Деякі з цих проблем легко відстежити за допомогою трасування маршруту (traceroute) – його можна автоматизувати за наявності «еталонних маршрутів».

Наступний етап – перевірка принципової працездатності критичних служб. Як правило, це означає TCP-з'єднання до відповідного порту сервера, на якому має бути запущена служба, і, можливо, виконання тестового запиту (наприклад, автентифікації на поштовому сервері за протоколом SMTP або POP або запит тестової сторінки від веб-сервера).

У більшості випадків, бажано перевіряти не тільки факт відповіді служби/сервісу, але й затримки – втім, то належить до наступного за важливістю завдання: перевірки навантаження. Крім часу відгуків пристроїв і служб для різних типів серверів існують інші принципово важливі перевірки: пам'ять і завантаженість процесора (веб-сервер, сервер БД), місце на диску (файл-сервер), і більш специфічні - наприклад, статус принтерів усервера друку.

Способи перевірки цих величин варіюються, але один із основних, доступних майже завжди – перевірка за SNMP-протоколом. Крім цього, можна використовувати специфічні засоби, що надаються ОС обладнання, що перевіряється: наприклад, сучасні серверні версії ОС Windows на системному рівні надають так звані лічильники продуктивності (performance counters), з яких можна «рахувати» досить докладну інформацію про стан комп'ютера.

Нарешті, багато оточення вимагають специфічних перевірок – запитів до БД, які контролюють роботу якогось додатку; перевірка файлів звітів чи значень налаштувань; відстеження наявності деякого файлу (наприклад, створюваного під час «падіння» системи).

Контроль безпеки мережі

Безпека комп'ютерної мережі (у сенсі захищеності від шкідливих дій) забезпечується двома методами: аудитом і контролем. Аудит безпеки – перевірка налаштування мережі (відкритих портів, доступності «внутрішніх» програм ззовні, надійності автентифікації користувачів); методи та засоби аудиту виходять за рамки цієї статті.

  • навантаження на серверне ПЗ і залізо: аномально високі рівні завантаження процесора, раптове скорочення вільного місця на дисках, різке збільшення мережного трафіку найчастіше є ознаками мережевої атаки;
  • журнали та звіти на наявність помилок: окремі повідомлення про помилки в лог-файлах програм-серверів або журнал подій серверної ОС припустимі, але накопичення та аналіз таких повідомлень допомагає виявити несподівано часті або систематичні відмови;
  • стан потенційно вразливих об'єктів – наприклад, тих, «захищеність» яких важко проконтролювати безпосередньо (ненадійне стороннє ПЗ, зміна/неперевірена конфігурація мережі):небажані зміни прав доступу до певного ресурсу або вмісту файлу можуть свідчити про проникнення «ворога».

У багатьох випадках аномалії, помічені при моніторингу та контролі, вимагають негайної реакції технічних фахівців, відповідно засіб моніторингу мережі повинен мати широкі можливості для пересилання оповіщень (пересилання повідомлень у локальній мережі, електронною поштою, Інтернет-пейджером). Зміни інших контрольованих параметрів реакції не вимагають, але мають бути враховані для подальшого аналізу. Найчастіше необхідно і те, й інше – безперервний збір статистики плюс негайна реакцію «викиди»: наприклад, відзначати і накопичувати всі випадки завантаження процесора більше 80%, а завантаженні понад 95% – негайно інформувати фахівців. Повноцінний моніторинговий софт повинен дозволяти організовувати всі ці (і складніші) сценарії.

Використання Alchemy Eye для моніторингу стану мережі та контролю її безпеки

Alchemy Eye – засіб моніторингу стану серверів у мережі із багатими можливостями. Нижче показано, як реалізуються сценарії, описані в попередніх розділах за допомогою цієї програми.

Перш за все, щоб забезпечити безперервність моніторингу, потрібно запустити програму як NT-службу (встановити її у Файл>Налаштування>NT-служба, потім запустити з Панелі керування Windows). Після запуску служби з'явиться іконка в області сповіщень (системному треї), на кліку на ній відкриється головне вікно програми, де потрібно створити необхідні перевірки.

Alchemy Eye дозволяє створювати будь-яку кількість об'єктів моніторингу(«сервер» у термінах програми, але нехай це вас не бентежить: одному фізичному серверу може відповідати будь-яка кількість об'єктівмоніторингу). Кожному об'єкту моніторингу відповідає перевірка одного типу одного комп'ютера.

Щоб додати перевірку до програм, відкрийте діалог створення нового сервера (меню «Сервер&Додати сервер&Новий») – рис 1. На основній закладці цього діалогу потрібно задати логічне ім'я для об'єкта моніторингу, інтервал між перевірками, і тип перевірки.

Мал.1. Вибір типу перевірки сервера.

Скріншот на рис.1 може продемонструвати лише невелику кількість типів перевірок, доступних у програмі (повний список ви можете переглянути самостійно). Для орієнтування можна навести відповідність між завданнями, описаними вище, та деякими перевірками, доступними в Alchemy Eye:

  • Перевірка фізичної доступності обладнання : ICMP, UDP, трасування маршруту (traceroute).
  • Перевірка працездатності служб та сервісів, запущених у мережі: всі стандартні протоколи (POP/SMTP, DNS, DHCP, HTTP /FTP), підключення до баз даних (Oracle, MySQL, MS SQL Server, або будь-яка база даних, доступна через джерела даних (ODBC). Крім того, Alchemy Eye надає потужний засіб для перевірки нестандартних серверів – TCP-скрипт. У цій перевірці можна описати досить складну логіку підключення до порту сервера, надсилання йому будь-яких рядків-команд та тестування відповідей.
  • Перевірка навантаження мережі та окремих служб : можна використовувати перевірку стандартних змінних SNMP MIB (Management Information Base) – програма не тільки дозволяє контролювати їх, але й надає дерево-список усіх доступних у MIB змінних (рис. 2). Лічильники продуктивності для Windows-машин доступні «з коробки» (рис. 3), а подібна функціональність дляnix-серверів – у вигляді безкоштовного плагіна на сайті виробника.
  • Перевірка специфічних параметрів* для цього оточення: список перевірок включає і SQL-запити з перевіркою результату, і аналіз лог-файлів (у тому числі на віддалених комп'ютерах), і ще більш специфічні перевірки (наприклад, аналіз значень ключів реєстру або журналу подій Windows) .
  • Перевірка стану вразливих об'єктів: сюди можна віднести підключення TCP/IP до будь-якого порту віддаленого комп'ютера, перевірка прав доступу до різних файлів і папок (права можуть бути змінені зловмисником або неякісним ПЗ), перевірка кількості файлів у певній папці та порівняння файлу за вмістом з зразком.

Мал.2. Браузер дереваMIB – вибір змінної дляSNMP-моніторингу.

Мал.3. Браузер лічильників продуктивностіWindows – вибір параметра для моніторингу.

Коли об'єкти моніторингу створені, головне вікно Alchemy Eye стає інструментом аналізу поточної ситуації, наочно відображаючи стани серверів (рис.5). Якщо заданих перевірок більше ніж 4-5 (і до того ж, вони мають різний ступінь критичності), краще розбити їх по папках (згодом це дасть додаткові «приємності», на зразок можливості згенерувати звіти тільки для перевірок з конкретної папки).

Мал.5. Головне вікноAlchemyEye - моніторинг серверів (3 успішні перевірки, 1 збій).

Всі перевірки Alchemy Eye «бінарні» (перевірка або пройшла, або ні), але кількість однотипних перевірок ніяких обмежень не накладається. Таким чином, вбудованих засобів програми цілком достатньо для реалізації складних сценаріїв: наприклад, дві незалежні перевірки завантаження процесора одного і того ж сервера - одна буде "ловити" завантаження вище 95% і негайно повідомляти про проблемутехнічним фахівцям, а інша – завантаження понад 80% для статистичного обліку та подальшого аналізу.

Завдання цього (облік і аналіз) в Alchemy Eye вирішуються з допомогою вбудованих звітів (меню Звіти). Варто врахувати, що вся статистика виконаних програмою перевірок та їх результатів записується у стандартній формі у файл stat.csv у папці програми, дані з нього можна використовувати для подальшого аналізу (Alchemy Eye дозволяє підключати сторонні програми-аналізатори як генератори звітів – докладна інструкція є у довідці програми).

Насамкінець хотілося б помітити, що навіть за наявності якісного програмного засобу розробка системи моніторингу великої мережі та контролю її безпеки (читай – вибір необхідної кількості та типів перевірок) є серйозним інженерним завданням, що вимагає вдумливого підходу. Дві основні цілі, про які не слід забувати при конфігурації системи моніторингу:

  1. створити достатню кількість перевірок для забезпечення високого ступеня надійності;
  2. не надто захопитися кількістю та частотою перевірок, щоб уникнути перевантажень обладнання, але в першу чергу – фахівців, до обов'язків яких входить аналіз результатів моніторингу.