Сьогодні вебсайт є невід’ємною частиною іміджу практично будь-якої компанії, а також необхідним інструментом ведення бізнесу для різноманітних інтернет-компаній. Для успішного функціонування вебсайту необхідне чітке розуміння його можливостей, щоб звести до мінімуму ймовірність відмови в роботі та обслуговуванні сайту. Тому для сайту як системи, розрахованої на постійну безперебійну роботу, надійність відіграє важливу роль.
Проблема надійності вебсайтів має принаймні два аспекти: забезпечення та оцінювання (вимірювання) надійності. Переважно існуюча література присвячена першому аспектові, а питання оцінювання надійності вебсайтів недостатньо опрацьоване.
Надійний вебсайт характеризується мінімальним часом простою, хорошою цілісністю даних і відсутністю помилок, які безпосередньо впливають на користувачів.
На наш погляд, існує широке (dependability) і вузьке (reliability) трактування надійності програмних систем, до яких належать і вебсайти. Вузька надійність вважається одним із декількох вимірів широкої надійності, поряд з доступністю, безпекою, цілісністю тощо. Тому критерії для оцінювання «широкої» надійності вебсайтів мають охоплювати критерії «вузької» надійності та безпекові критерії.
Для оцінювання надійності вебсайту насамперед необхідно сформулювати критерії такого оцінювання. Аналізуючи моделі якості, набір метрик і показників для оцінювання безпеки і надійності програмних продуктів, нами відібрано 5 ключових критеріїв для побудови моделі оцінювання надійності вебсайту (табл.1).
Зазвичай, метрики значною мірою є суб’єктивними та залежать від знань експертів, які проводять кількісне оцінювання атрибутів вебсайту, використаних моделей та шкали оцінок, мети та контексту оцінювання тощо. Тому дамо коротку характеристику відібраних критеріїв.
Готовність. У сучасному цифровому світі люди очікують, що вебресурси безперебійно працюватимуть у реальному часі та постійно. Однак базова технологія, яка підтримує цифрові послуги, неймовірно складна для управління, тому збої неодмінно трапляються.
Готовність вебсайту (або час його безвідмовної роботи) означає здатність користувачів отримати доступ до вебсайту чи вебресурсу та використовувати їх. Говорячи про готовність, часто мають на увазі співвідношення доступного часу до загального часу. Доступність вебсайту зазвичай показують у відсотках за певний проміжок часу (наприклад доступність 99,9%).
Часто постачальники послуг укладають угоду про рівень доступності (Service Level Agreement, SLA) на основі таблиці відсотка доступності, зобов’язуючись гарантувати, що функціональні можливості працюють згідно з очікуваннями власників сайту і користувачів.
Готовність охоплює не лише можливість отримати доступ до вебсторінки, а й здатність користувача виконати завдання. Коли власне вебсайт несправний, то з точки зору провайдера хостингу сайт доступний, а з позиції користувача – неготовий. Отже, якщо користувач не може отримати потрібну інформацію чи виконати завдання, вебсайт потрібно вважати неактивним. Для виявлення цього типу збою можна скористатися моніторингом транзакцій [1]. Комплексна стратегія моніторингу – найкращий вибір для підтримки високої готовності вебсайту. У процесі моніторингу перевіряється відповідь вебсайту з допомогою зовнішніх серверів. Використовуючи зовнішні сервери, можна виявити проблеми безвідмовної роботи та затримки на основі розташування користувачів.
Стійкість до відмов. Під відмовою розуміють втрату здатності вебсайту виконувати потрібну функцію або нездатність виконувати її за визначених умов. Стійкість до відмов – це здатність вебсайту залишатися доступним користувачеві при виникненні технічних проблем та перевантажень. Щоб зробити його максимально стійким до відмов, необхідно заздалегідь оцінити потенційне навантаження і забезпечити продуктивність вебсервера. Повністю убезпечити вебсайт від збоїв неможливо. Однак звести кількість помилок до мінімуму і забезпечити безперебійний доступ до нього цілком реально.
Відмовостійкість безпосередньо пов’язана з навантаженням на вебсайт і здатністю сервера впоратися з обсягом завдань. До основних причин зниження відмовостійкості вебсайту належать: зростання трафіку; DDoS-атаки; активне сканування сайту роботом; некоректна робота скриптів.
Стійкість до відмов допомагає зрозуміти, як і коли вебсайт функціонуватиме за реальних сценаріїв, знаючи частоту та вплив збоїв. Найзагальніші показники для вимірювання відмовостійкості:
Середній час напрацювання на відмову (Mean time between failures, MTBF) = загальний час роботи / кількість відмов.
Частота відмов (frequency of failures) = кількість відмов / загальний час роботи.
Іншими класичними показниками для вимірювання стійкості до відмов є: MTTF: Mean time to failure (середній час до відмови); PFD: Probability of failure on demand (ймовірність відмови при запиті); DC: Diagnostic coverage (діагностичне покриття) – відношення кількості виявлених відмов до загальної кількості відмов.
Здатність до відновлення. Стратегія стійкості вебсайту також має містити цілі аварійного відновлення, базовані на відновленні працездатного стану у випадку відмов. Таке відновлення необхідне у відповідь на стихійні лиха, масштабні технічні збої чи людські загрози, такі як атака чи помилка. З цим критерієм пов’язані два поняття, котрі визначаються власником вебсайту:
- цільовий час відновлення (Recovery Time Objective, RTO) – максимально прийнятна затримка між перериванням обслуговування та його відновленням, тобто прийнятне часове вікно, коли вебсайт недоступний;
- цільова точка відновлення (Recovery Point Objective, RPO) – максимально прийнятний проміжок часу з останньої точки відновлення даних. Вона показує точку часу, на яку можна відновити дані.
Для полегшення обчислень цих показників можна скористатися он-лайн калькуляторами часу відновлення, наприклад [2].
Резервне копіювання (бекап) захистить дані та дасть змогу швидко повернути працюючу версію вебсайту. Без щоденного резервного копіювання є ризик втратити вебсайт зі всіма його напрацюваннями, даними та відвідувачами. Тому надійність вебсайту значною мірою залежить від частоти і засобів резервування.
Цілісність. Цілісність означає ступінь запобігання несанкціонованому доступу або модифікації комп’ютерних програм чи даних. Вона безпосередньо пов’язана з його захищеністю. Ця категорія вимог до якості вебсайту описує, що потрібно для блокування несанкціонованого доступу до певних функцій, як запобігти втраті інформації, як забезпечити захист системи від вірусної інфекції та як захистити конфіденційність і безпеку даних, що вводяться в систему.
Метриками атрибуту цілісності вебсайту можна розглядати: 1) рівень цілісності обчислювальних ресурсів – можливість виключати непередбачені структурні зміни та послуги; 2) рівень цілісності програмних ресурсів – можливість виключати непередбачені зміни програмних ресурсів; 3) рівень цілісності інформації – здатність системи забезпечувати незмінність інформації в умовах випадкового та (або) навмисного спотворення (руйнування).
Конфіденційність. Конфіденційність означає, що дані та ресурси вебсайту захищені від несанкціонованого перегляду та іншого доступу. Захист конфіденційності може починатися з визначення та контролю рівнів доступу до інформації всередині та ззовні. Коли доступність даних обмежена, значно знижується ймовірність випадкового чи навмисного витоку інформації.
Зазвичай вебсайти містять інформацію з певним ступенем конфіденційності. Це може бути конфіденційна бізнес-інформація, яку конкуренти можуть використати у своїх інтересах, або особиста інформація про працівників або клієнтів. Конфіденційна інформація має певну цінність, тому вебсайти часто піддаються атакам, оскільки зловмисники шукають уразливості, щоб використати їх. Діапазон загроз – від прямих атак, таких як викрадення паролів і захоплення мережевого трафіку, і до багатошарових атак (соціальна інженерія та фішинг). Зрештою, не всі порушення конфіденційності є навмисними. Причиною також може бути людська помилка чи недостатній контроль безпеки.
Для боротьби з порушеннями конфіденційності можна класифікувати та маркувати обмежені дані, увімкнути політики контролю доступу, шифрувати дані та використовувати системи багатофакторної автентифікації (MFA).
Якщо цілісність можна трактувати як критерій зовнішньої безпеки вебсайту, як його властивість бути незмінним при функціонуванні за умов випадкових або навмисних спотворень чи руйнівних впливів ззовні (зовнішнім агентом), то конфіденційність можна вважати критерієм його внутрішньої безпеки, тобто властивістю забезпечувати захист від несанкціонованого використання інформації, її заміни чи пошкодження зсередини (внутрішнім агентом).
Відібрані критерії лягли в основу багатокритеріальної моделі оцінювання надійності вебсайту.
Література
1. What is website availability? URL: https://www.uptrends.com/what-is/website-availability. (дата звернення: 14.10.2022).
2. Recovery Time Calculator. URL: https://www.iuvotech.com/recovery-time-calculator. (дата звернення: 14.10.2022).