Статья опубликована в рамках: Научного журнала «Студенческий» № 41(211)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7
РАЗРАБОТКА МЕТОДОВ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ВЕБ-ПРИЛОЖЕНИЙ
АННОТАЦИЯ
Статья посвящена разработке программного комплекса системы, которая позволит обезопасить данные пользователей в web-приложениях, путем анализа логов веб-сервера, а также рассмотрению варианта ее реализации.
Ключевые слова: веб-приложение, логирование, база данных, веб-сервер, клиент-серверное приложение.
Разработка веб-приложений (интернет-банкинг, различные платежные системы, ресурсы, обрабатываемые персональные данные и др.) является наиболее перспективным направлением развития информационных и телекоммуникационных технологий. Информационные технологии с каждым днём все больше входят в ответственные сферы жизнедеятельности человека. Люди совершают покупки в интернет-магазинах, свои деньги мы сохраняем в банках в электронном виде, все больше документов заполняется с помощью компьютера, огромное количество личных данных сохраняется на разнообразных веб-ресурсах и в удалённых источниках. Чрезвычайно важным становится вопрос защиты такой информации от вредоносного влияния. Поэтому задача разработчиков и любого веб-ресурса - уберечь конфиденциальную информацию от хищения, последствия которого выражаются в изменении или уничтожении контента ресурса.
Одно из направлений по обеспечению защиты информационной безопасности заключается в анализе логов веб-сервера на наличие уязвимостей и злоумышленного воздействия на структуру программного комплекса.
Лог (с англ. Log file, лог-файл) – это журнал автоматической регистрации событий, которые фиксируются в рамках какой-либо программы или сервера. Обычно каждому событию соответствует одна запись в логе, которая вносится сразу же после события. Эти записи складываются в назначенный файл самой программой или сервера либо пересылаются ею другой, специализированной программе, предназначенной для ведения и хранения логов. Формат лога может быть машинно-ориентированным, а может быть приспособлен для чтения человеком.
Логированием называют запись логов, позволяющее отследить источники многих проблем, выявить конфликты в конфигурационных файлах, а также отследить события, связанные с информационной безопасностью (ИБ).
Таким образом хотелось бы поднять проблему защищенности веб-приложений, а также выделить основную цель - анализ аспектов повышения уровня безопасности веб-приложений, а также их применение на практике путем разработки модуля анализа логов уязвимостей веб-сервера.
Для каждого программного обеспечения, установленного на сервере, будет свой журнал, в который производится запись о событии. Исходя из этого можно выделить наиболее распространенные логи:
- Access.log (логи доступа) — логи посещений пользователей и ботов. Позволяет составить более точную и подробную статистику, нежели сторонние ресурсы, выполняющие внешнее сканирование сайта и отправляющие ряд ненужных запросов серверу. Благодаря данному логу можно получить информацию об используемом браузере и IP-адрес посетителя, данные о местонахождении клиента (страна и город) и многое другое. Стоит обратить внимание, если сайт имеет высокую посещаемость, то анализ логов сервера потребует больше времени. Поэтому для составления статистики стоит использовать специализированные программы (анализаторы).
- Error.log (логи ошибок) — программные ошибки сервера. Стоит внимательно отнестись к анализу данного лога, ведь боты поисковиков, сканируя, получают все данные о работе сайта. При обнаружении большого количества ошибок, сайт может попасть под санкции поисковых систем. В свою очередь из записей данного журнала можно узнать точную дату и время ошибки, IP-адрес получателя, тип и описание ошибки.
Структура журнала зависит от типа используемого сервера и конфигураций. Но есть несколько общих атрибутов, которые содержатся в файле:
- IP-адрес запроса;
- Дата и время посещения;
- География;
- Метод (тип) запроса:
• GET – получение содержимого страницы;
•POST – обработка и отправка чего-либо, например, комментирование или ввод других данных;
- URL-адрес (объект), к которому был совершен запрос;
- Тип браузера;
- Протокол;
- Код ответа:
• 1xx – различные информационные сообщения, к примеру, 102 – страница в процессе обработки;
• 2xx – успешная загрузка страницы;
• 3xx – произошло перенаправление (редирект);
• 4xx – ошибка загрузки содержимого;
• 5xx – ошибка на стороне сервера
Пример записи лога выглядит следующим образом:
194.61.0.6 – alex [10/Oct/2019:15:32:22 -0700] "GET /apache_pb.gif HTTP/1.0" 200 5396 "http://www.mysite/myserver.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
Архитектура модели информационно-аналитической системы анализа логов веб-приложений представлена на рисунке 1.
Рисунок 1 – Архитектура модели системы анализа логов веб-приложения.
На этой схеме мы видим, что информационно-аналитическая система состоит из трех частей:
- пользовательский интерфейс;
- серверная часть;
- база данных.
Интерфейс пользователя - интерфейс, обеспечивающий передачу информации между пользователем-человеком и программно-аппаратными компонентами компьютерной системы.
Интерфейс пользователя в разработанной системе содержит модуль визуализации. Модуль визуализации отвечает за работу всех элементов интерфейса: кнопки, таблицы представлений, уведомления и т.д.
Серверная часть разработанной информационно-аналитической системы отвечает за получение и отправку запросов с клиентской части, обработку полученных данных, и добавление или отчистку базы данных.
Серверная часть состоит из следующих модулей:
- модуль загрузки лог-файлов
- модуль парсинга данных в бд
- модуль группировки логов
- модуль фильтрации
- модуль выгрузки данных
- модуль удаления данных
Модуль загрузки выполняет загрузку лог файлов через пользовательский интерфейс на сервер.
Модуль парсинга данных переносит данные из загруженного файла логов в базу данных.
Модуль группировки логов группирует данные из базы данных по частоте вхождения параметра: тип устройства, код ответа, метод HTTP, путь страницы запроса, ip-адрес, имя бота (если есть), user-agent.
Модуль фильтрации осуществляет поиск по конкретным значениям параметров логов, выбранные пользователем.
Модуль выгрузки позволяет выгрузить отфильтрованные данные в xlsx-формат.
Модуль удаления данных отчищает данные логов из базы данных.
База данных содержит полученные из серверной части данные лог-файла.
В заключении всему выше написанному можно добавить, что это лишь модель которой требуется доработка и внесения ряда аспектов и улучшений. И конечный вариант может сильно отличаться от представленного в данной статье. Так же вариативность модернизаций связанных с изменением некоторых аспектов в теории сможет позволить изменить этот проект до неузнаваемости, превратив его в нечто иное.
Список литературы:
- Э. Хоффман. Безопасность веб-приложений. Разведка, защита, нападение / Питер, 2021. 127 с
- А. Е. Сулавко, Е. В. Шалина. Биометрическая аутентификация пользователей информационных систем по клавиатурному почерку на основе иммунных сетевых алгоритмов / Синергия, 2019. 16 с.
- ФСТЭК России [Электронный ресурс]. – Режим доступа: https://fstec.ru/ – Дата доступа: 17.11.2022.
- И. Ефишов Таинственные страницы: занимательная криптография — М.: Манн, Иванов и Фербер, 2017. — 235с.
- Обласов А. А. – Форензика: Методическое пособие для студентов / А. А. Обласов. – Издательство Ridero – 2020 – 140 c.
Оставить комментарий