Расширение защиты информационных систем защитой индивидуальных web-приложений в ОС Linux

Расширение возможностей класса QHttpServer, используемого для создания серверных web-приложений в системе Linux. Связь браузера и серверного WEB-приложения по защищенному кодированному TCP соединению. Реализация проекта в среде Qt Creator 3.3.0.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 06.09.2021
Размер файла 523,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Дальневосточный государственный университет путей сообщения

РАСШИРЕНИЕ ЗАЩИТЫ ИНФОРМАЦИОННЫХ СИСТЕМ ЗАЩИТОЙ ИНДИВИДУАЛЬНЫХ WEB-ПРИЛОЖЕНИЙ В ОС LINUX

В.Д. Епанешников, д-р физ.-мат. наук

И.В. Епанешникова, канд. техн. Наук

Хабаровск

Аннотация

linux приложение серверный соединение

Возможности класса QHttpServer, используемого для создания серверных web-приложений в операционной системе Linux, были расширены добавлением протокола SSL. Это позволило связывать браузер и серверное WEB-приложение по защищенному кодированному TCP соединению. Проект был реализован в среде Qt Creator 3.3.0 (основан на Qt 5.4.0) операционной системы Fedora-20 (32-битная версия) (коммерческой версией Fedora является Red Hat). Проект также был реализован в среде Qt Creator 4.2.1 (основан на Qt 5.8.0) операционной системы Fedora- 25 (64-битная версия) и в операционной системе AstraLinux.

Ключевые слова: защита информации, серверное web-приложение, протокол SSL.

Введение

Разработка WEB-приложений находит все большее применение для решения широкого круга технических и научных задач. Это позволяет использовать всю аппаратную и программную мощность сервера, и нет необходимости создавать специальную программу-клиента, так как в этом качестве можно задействовать любой браузер. Создавать такие приложения лучше в среде программирования, имеющей доступ к обширным библиотекам функций, реализующих решение множества прикладных задач. В операционной системе Windows такими средами WEB-программирования являются, например, MS Visual Studio, RAD Studio, позволяющие пользоваться языками C#, C++ и обширными библиотеками функций. В операционной системе Linux такую возможность предоставляет, например, пакет Qt [1] с использованием QT Creator. В стандартную поставку Qt не входит класс, реализующий функции WEB-сервера на языке C++. Однако существует его реализация с открытым кодом по адресу [2], которая хорошо включается в среду Qt и позволяет создавать web-приложения, удовлетворяющие практическим требованиям. Обмен информацией между браузером и серверным WEB-приложением осуществляется по TCP соединению, которое совершенно не защищено, что по нынешним временам является серьезным недостатком. В среде Internet существует несколько предложений, как защитить соединение QHttpServer и браузера по протоколу SSL, например, [3], однако полной реализации этих идей пока не опубликовано. В настоящей статье представлена практическая реализация использования протокола SSL для защиты информации TCP соединения браузера и QHttpServer.

Постановка задачи и реализация

Использование протокола SSL [4] для защиты TCP соединения предпочтительно потому, что его поддержка уже включена в браузере и остается организовать ее только на стороне QHttpServer. Используя идеи [3, 5], можно произвести замену взаимодействия классов следующим образом. Исходное взаимодействие классов QHttpServer HttpConnection (здесь используется незащищенное TCP соединение) представлено на рис. 1.

Рис. 1 Упрощенная диаграмма исходных классов

Эту последовательность классов следует заменить на другую последовательность QHttpServer QSslServer QHttpConnection (в классе QSslServer используется QSslSocket), которая представлена на рис. 2.

Рис. 2 Упрощенная диаграмма новой последовательности классов

Для этого необходимо произвести некоторые изменения в исходных файлах [2]. Ниже приведены фрагменты текстов изменяемых файлов (рис. 3 - 5). Все изменения и дополнения выделены жирным шрифтом.

Рис. 3 Изменения в файле qhttpserverfwd.h

Рис. 4 Изменения в файле qhttpserverfwd.h.

Рис. 5 Изменения в файле qhttpserver.cpp

Все изменения были осуществлены при создании серверного WEB-приложения, реализующего краткосрочное прогнозирование момента времени и магнитуды будущего землетрясения на основе волновых форм предшествующих землетрясений [6, 7]. Проект был реализован в среде Qt Creator 3.3.0 (основан на Qt 5.4.0) операционной системы Fedora - 20 (32-битная версия) (коммерческой версией Fedora является Red Hat). Были использованы внутренние сертификационные файлы Fedora-20 localhost.crt и localhost.key, которые были скопированы в другой рабочий каталог проекта.

Проект также был реализован в среде Qt Creator 4.2.1 (основан на Qt 5.8.0) операционной системы Fedora-25 (64-битная версия) и в операционной системе As- traLinux (64-битная версия).

На рис. 6 и 7 представлены входные формы проекта в различных браузерах.

Рис. 6 Входная форма проекта в браузере Yandex

Рис. 7 Входная форма проекта в браузере Firefox

При вызове проекта необходимо соглашаться на использование ненадежного сертификата. Факт передачи по сети кодированных сообщений проверялся сниффером WireShark [8].

Заключение

Web-приложение, созданное на основе класса QHttpServer, является мини - WEB-сервером, у которого оставлены только методы, необходимые для обслуживания самого web-приложения. Это снижает риск успешных атак на такой мини- WEB-сервер по сравнению с полновесными WEB-серверами.

Расширение возможностей класса QHttpServer включением протокола SSL повышает надежность и защищенность разработанных на его основе серверных WEB-приложений в операционной системе Linux, исключая возможность перехвата логинов и паролей, а также шифрованием всего трафика при взаимодействии браузера и серверного WEB-приложения.

Литература

1. URL: https://www.qt.io/ru/ (время обращения - ноябрь 2019 г.)

2. URL: https://github.com/nikhilm/qhttpserver/ (время обращения - ноябрь 2019 г.)

3. URL: https://github.com/nikhilm/qhttpserver/issues/33 (время обращения - ноябрь 2019 г.)

4. Фороузан Б.А. Криптография и безопасность сетей. М.: Интернет-Университет информационных технологий: Бином. Лаборатория знаний. 2010.

5. URL: https://doc-snapshots.qt.io/qt5-5.9/qsslsocket.html (время обращения - ноябрь 2019 г.)

6. Пат. 2558277 РФ. Способ краткосрочного прогнозирования локальной магнитуды землетрясения / В.Д. Епанешников, И.В. Епанешникова // Официальный бюл. «Изобретения. Полезные модели». 2015. № 21. С. 1-9.

7. Епанешникова И.В. Защищенное ПО SSL серверное WEB-приложение мониторинга краткосрочных предвестников землетрясений В ОС LINUX. № 2019613705, 21.03.2019 Бюл. № 4. URL:http://www1.fips.ru/wps/PA_FipsPub/res/BULLETIN/PrEVM/2019/04/20/ INDEX.HTM.

8. URL: https://www.wireshark.org (время обращения - ноябрь 2019 г.)

Размещено на Allbest.ru


Подобные документы

  • Анализ принципа создания приложений для Linux. Состав стандартного проекта CLX, его иерархия классов, свойства, методы, отличия от VCL. Особенности кроссплатформенного программирования, а также дополнительные возможности кроссплатформенных приложений.

    курсовая работа [107,2 K], добавлен 25.12.2009

  • Linux – одна из наиболее популярных распространяемых бесплатно операционных систем. Работа с базовым ограниченным набором программ по умолчанию. Характеристика основных программ, которые расширяют возможности операционной системы Linux для пользователя.

    презентация [486,5 K], добавлен 09.10.2013

  • Знакомство с этапами разработки трёх приложений для системы семейства Linux с использованием языка программирования С++. Анализ особенностей операционной системы Ubuntu 12.10. Характеристика способов тестирования команд с помощью стандартных средств.

    контрольная работа [732,1 K], добавлен 06.08.2013

  • Назначение серверных операционных систем. Сравнительный анализ серверных операционных систем Windows и Linux и сравнение их по важным показателям таким как: пользовательский графический интерфейс, безопасность, стабильность работы, возможность и цена.

    курсовая работа [50,1 K], добавлен 03.07.2012

  • Преимущество построения Web-приложений для поддержки стандартных функций браузера. Настройка проекта Web-приложения. Создание и изменение исходных файлов. Изменение файла JavaServer Pages по умолчанию. Основные проблемы при выполнении Web-приложений.

    контрольная работа [362,8 K], добавлен 10.11.2013

  • Принципы написания оконных приложений, представляющих данные в табличном виде и осуществляющих взаимодействие с символьными и байтовыми потоками ввода-вывода в среде Eclipse. Особенности построения приложений с расширенным графическим интерфейсом.

    методичка [1,0 M], добавлен 01.05.2014

  • История создания и общая характеристика операционных систем Windows Server 2003 и Red Hat Linux Enterprise 4. Особенности установки, файловых систем и сетевых инфраструктур данных операционных систем. Использование протокола Kerberos в Windows и Linux.

    дипломная работа [142,7 K], добавлен 23.06.2012

  • Основные вехи на пути развития систем программирования. Microsoft Access - первая СУБД для персональных компьютеров, созданная для работы в среде Windows. Перенос файл-серверных приложений в среду клиент-сервер. Использование ActiveX Data Objects.

    презентация [662,2 K], добавлен 11.04.2013

  • Анализ технических возможностей операционной системы Mandriva Linux - дистрибутива GNU/Linux, разрабатываемого французской компанией Mandriva, выпускающей свободные, коммерческие и корпоративные версии своего дистрибутива. Этапы установки оболочки Linux.

    презентация [26,2 M], добавлен 23.05.2010

  • Пример окна входа в систему Linux (графический режим). Простейшие команды Linux. Основные задачи при управлении пользователями. Сведения, которые нужно указать для вновь создаваемого пользователя. Содержимое файла/etc/shadow (в котором содержатся пароли).

    лекция [603,7 K], добавлен 20.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.