Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Особенности обеспечения безопасности ОС Linux (ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ БЕЗОПАСНОСТИ ОС LINUX, И ЕЕ ОСОБЕННОСТЕЙ)

Содержание:

Введение

Каждый разработчик по своему представляет безопасность ОС и предлагает защитные продукты с разной степенью уязвимости. У одних получаются полностью безопасные системы, у других же они поддаются даже самому неопытному взломщику. Подбирая систему безопасности для сети, важно в полной мере осознавать различие таких понятий как атака, уязвимость и угроза ОС. И если с атакой все более или менее понятно, то с угрозой и уязвимостью нужно разобраться более подробно. Под угрозой подразумевается потенциально вероятное событие, способное негативно отразиться на самой системе (в виде перезагрузки или зависания), а также на данных, находящихся в таковой (проявляется в виде порчи или удаления файлов, к примеру). Под уязвимостью подразумевается не совсем удачная или не полностью корректная характеристика ОС, из-за которой может возникнуть угроза.

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

Linux, как нельзя, способен обеспечить достаточную защиту и бесперебойный функционал, ведь у этой ОС есть целый ряд преимуществ перед самой популярной ОС Windows.

Актуальность темы: Современный мир значительно зависит от различных информационных систем, и такая проблема, как безопасность данных, хранящихся и обрабатываемых в этих системах, является крайне важной и первостепенной. Linux (Линукс) - название целого семейства UNIX-подобных операционных систем, основанных на ядре Linux. Наличие такого мощного и в то же время «открытого ядра», а также большой выбор бесплатного программного обеспечения делают Linux объектом интересов не только крупных компаний, но и целых государств. По этим причинам ОС Linux является объектом исследования данной курсовой.

Цель работы: Исследовать проблемы, а затем, особенности обеспечения безопасности ОС Linux;

Задачи работы:

- Раскрыть: Основы межбанковских расчетов;

- Рассмотреть: Проблемы межбанковских расчетов в современной банковской системе;

- Изучить: Развитие международных систем межбанковских расчетов;

- Обозначить: Системы автоматизации межбанковских платежей в различных странах;

- Выявить: Организацию межбанковских расчетов в России и странах СНГ;

Объект исследования: ОС Linux;

Предмет исследования: безопасность ОС Linux;

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ БЕЗОПАСНОСТИ ОС LINUX, И ЕЕ ОСОБЕННОСТЕЙ

1.1. Исследование качества обеспечения безопасности в ОС LINUX и в ОС WINDOWS методом сравнительного анализа

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

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

Операционную систему (ОС) можно связывающим звеном между пользователем и аппаратным обеспечением. ОС скрывает от пользователя сложные ненужные подробности взаимодействия с аппаратурой, образуя прослойку между ними [1].

Две самые распространенные в России и конкурирующих между собой ОС -это ОС Linux и ОС Windows. Они обе используются рядовыми пользователями, в частном бизнесе и даже в государственных учреждениях, поэтому объектом исследования в данной статье стали именно эти ОС.

Изучая новости на информационных порталах антивирусного продукта Dr.WEB [2] и Лаборатории Касперского [3], можно заметить, что с конца 2019 года новые вредоносные программы появляются как для ОС Linux, так и для ОС Windows. Однако, мнения среди экспертов расходятся. Некоторые считают, что на ОС Windows совершается больше информационных атак вследствие того, что приходится инсталлировать большое число программ. Другие утверждают, что ОС Linux более уязвима к вредоносным атакам вследствие своего открытого кода.

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

Особенности ОС Windows:

• В прошлом ОС Windows - это однопользоваьельская система. ОС Windows совсем недавно стала многопользовательской. Раньше ОС не изолировала пользователей и приложения от критически значимых объектов, что запросто могло привести к компрометации информации с помощью вредоносных программ.

• ОС Window's монолитна по своей архитектуре. В Windows многие программы, например, такие как Internet Explorer, Outlook, интегрированы в саму операционную систему. В следствии этого возникает неприятный каскадный эффект: если существует брешь в Internet Explorer, то она так же возникает во множестве других приложений, которые неявно для пользователя используют Internet Explorer.

• В ОС Windows слишком широко используется RPC-механизм. Аббревиатура RPC означает "удаленный вызов процедуры" (Remote Procedure Call). RPC-механизмы — это потенциальная угроза безопасности, поскольку их предназначение — позволить компьютерам, находящимся где-то в сети, давать данному компьютеру указания выполнить те или иные действия.

Особенности ОС Linux:

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

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

• ОС Linux не зависит от RPC-механизма. В большинстве дистрибутивов ОС Linux программы инсталлируются так, что по умолчанию доступ в сеть отключен. Даже если некоторые Linux-приложения по умолчанию используют сеть, они чаще всего сконфигурированы так, что могут отвечать только локальному компьютеру, и игнорируют любые запросы других компьютеров в сети [10].

Для реализации сравнительного анализа необходимо выбрать наиболее значимые критерии, обеспечивающие безопасность в обеих изучаемых ОС. В данной курсовой выбраны следующие критерии:

• Контроль учетных записей пользователя;

• Поддержка со стороны разработчиков;

• Шифрование жестких дисков;

• Контроль используемого ПО;

• Аудит событий;

• Блокирование сетевых угроз;

• Браузер.

В Таблице 1 представлены критерии, по которым происходит сравнение ОС, утилиты и механизмы, обеспечивающие выполнение данных критериев в каждой из ОС, а так же лидирующая по данному критерию ОС.

Таблица 1 - Сравнение обеспечения безопасности ОС Windows и ОС Linux

Критерий

ОС Windows

ОС Linux

Преимущество

Контроль учетных записей пользователя

User Account Control выдает сообщение на подтверждение действий

Разграничение пользователей на группы с различными полномочиями

ОС Linux

Поддержка со

стороны

разработчиков

Центр поддержки Windows: информирует о проблемах в безопасности и других значимых событиях

Центр справки и поддержки; доступен только при наличии приобретенной версии

ОС Windows

Шифрование жестких дисков

• BitLocker: встроенная программа;

• TrueCrypt дополнительна утилита

• Loop-AES

• TrueCrypt

Одинаково

Контроль

используемого

ПО

Технология AppLocker: возможность вести аудит запускаемых программ, разграничивать доступ

При установке приложения указываются группы, уполномоченные работать с данным приложением

Одинаково

Аудит событий

Необходима настройка политики аудита

System Log (системный журнал), вызываемый с помощью комбинации клавиш Ctrl+F12. Регистрируются любые события

ОС Linux

Блокирование сетевых угроз

Наличие Брандмауэра, фильтрующего и входящий, и исходящий трафик. Легко отключается в настройках

Iptables - брандмауэр, являющийся частью ядра системы. Сложен для конфигурации

ОС Linux

Браузер

Internet Explorer 8 характеризуется развитыми средствами обеспечения безопасности

В большинстве версий - Mozilla Firefox, содержит встроенную функцию усиленной безопасности

ОС Linux

Как видно из Таблицы 1, ОС Linux содержит лучшие механизмы по обеспечению безопасности. Многие из них являются стандартными приложениями и функциями в ОС, что говорит о том, что разработчики ОС Linux лучше понимают природу вредоносных программ.

Подводя итог, важно заметить, что выбор ОС во многом зависит от личных предпочтений. Хотя ОС Linux и является более защищенной ОС, переход на данную ОС может оказаться довольно трудным из-за непривычного интерфейса. Многие проблемы в безопасности ОС Windows решаются с помощью дополнительных утилит, таких как антивирусные программы, программы против шпионства, межсетевые экраны и т.д. Однако для предприятия это может оказаться не дешево, а среднестатистическому пользователю может не хватить опыта в установке и настройке программ. Поэтому выбор ОС остается лично за пользователем.

1.2. Сравнительный анализ российский платформ ос linux

Linux - это операционная система, которая на сегодняшний день является фактически единственной альтернативной заменой ОС Windows от Microsoft.

Свое начало Linux берет с 1991 года, когда молодой программист с Финляндии Линус Торвальдс взялся за работу над самой первой версией системы, которая и была названа в честь его имени. Рассвет популярности Linux начался с самого его возникновения. Это связано, в первую очередь, с тем, что ядро этой ОС, как и большинство программ, написанных под нее, обладают очень важными качествами.

Особенности и достоинства ОС Линукс.

Бесплатность. Возможно, несколько лет назад этот вопрос был нс столь актуальным, но сейчас к интеллектуальной собственности отношение другое. Все больше людей понимают, что пиратская копия Windows может принести крупные неприятности. А на платную лицензионную версию Windows раскошелится мало кто готов. Так же как и на покупку программ, работающих под данной ОС. Установив Linux, вы получите набор из тысяч бесплатных программ. Хоть они и не столь привычны как Windows-программы, но абсолютно функциональны.

Надежность. Корректная работа аппаратной части вашего ПК, позволит Linux’y работать годы без перезагрузки и зависаний. А кнопка Reset вообще никогда не понадобится.

Безопасность. Само построение операционной системы исключает работу вредоносных программ. И поэтому вы можете обойтись без антивирусных программ, тормозящих компьютер и мешающих работать. Не нужно все время обновлять антивирусные базы и проверять жесткий диск на вирусы, теряя бесценное время.

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

Обзор отечественных платформ Linux.

О необходимости форсированного развития отечественного рынка ПО, обеспечения максимальной независимости от иностранных разработок в сфере высоких технологий и сохранения информационного суверенитета впервые на высшем уровне заговорили в 2014 году, когда санкции США и Евросоюза резко повысили риски, связанные с применением зарубежного софта в бизнесе и государственных организациях. Именно тогда в Министерстве связи и массовых коммуникаций РФ всерьёз озадачились решением этого стратегически значимого, по мнению чиновников, вопроса вместе со стимулированием спроса на национальные продукты и проработкой соответствующих мер поддержки отечественных разработчиков.

Как результат — в кратчайшие сроки на законодательном уровне были утверждены ограничения на допуск иностранного ПО при осуществлении государственных и муниципальных закупок, а также правила формирования и ведения единого реестра российских программ. Всё это положительным образом отразилось на рынке программного обеспечения в России, который за последнее время пополнился множеством интересных проектов и разработок. В том числе и в области операционных систем.

«Альт Линукс СПТ». Разработчики: ООО «Свободные программы и технологии», «Базальт СПО». Сайт продукта: svtlinux.ru

«Альт Линукс СПТ» представляет собой унифицированный дистрибутив на базе Linux для серверов, рабочих станций и тонких клиентов со встроенными программными средствами защиты информации, который может быть использован для построения автоматизированных систем по класс 1В включительно и информационных систем персональных данных (ИСПДн) по класс 1К включительно. ОС позволяет одновременно хранить и обрабатывать на одном персональном компьютере или сервере конфиденциальные данные, обеспечивать многопользовательскую работу с разграничением доступа к информации, работать с виртуальными машинами, а также использовать средства централизованной авторизации. Выданный ФСТЭК России сертификат подтверждает соответствие продукта требованиям безопасности.

Astra Linux. Разработчик: НПО «Русские базовые информационные технологии» (РусБИТех). Сайт продукта: astra-linux.ru

Разработка научно-производственного объединения «РусБИТех», представленная в двух вариантах: Astra Linux Common Edition (общего назначения) и Astra Linux Special Edition (специального назначения). Особенности последней версии ОС: развитые средства обеспечения информационной безопасности обрабатываемых данных, механизм мандатного разграничения доступа и контроля замкнутости программной среды, встроенные инструменты маркировки документов, регистрации событий, контроля целостности данных, а также прочие обеспечивающие защиту информации компоненты. По заверениям разработчиков, Astra Linux Special Edition — единственная программная платформа, сертифицированная одновременно в системах сертификации средств защиты информации ФСТЭК России, ФСБ, Минобороны РФ и позволяющая обрабатывать в автоматизированных средствах всех министерств, ведомств и других учреждений России информацию ограниченного доступа, содержащую составляющие государственную тайну сведения с грифом не выше «совершенно секретно».

ROSA Linux. Разработчик: ООО «НТЦ ИТ РОСА». Сайт продукта: rosalinux.ru

Семейство операционных систем ROSA Linux включает внушительный набор решений, предназначенных для домашнего использования (версия ROSA Fresh) и применения в корпоративной среде (ROSA Enterprise Desktop), развёртывания инфраструктурных IT-служб организации (ROSA Enterprise Linux Server), обработки конфиденциальной информации и персональных данных (РОСА «Кобальт»), а также составляющих государственную тайну сведений (РОСА «Хром» и «Никель»). В основу перечисленных продуктов положены наработки Red Hat Enterprise Linux, Mandriva и CentOS с включением большого количества дополнительных компонентов — в том числе оригинальных, созданных программистами научно-технического центра информационных технологий «РОСА». В частности, в составе дистрибутивов ОС для корпоративного сегмента рынка представлены средства виртуализации, ПО для организации резервного копирования, инструменты для построения частных облаков, а также централизованного управления сетевыми ресурсами и системами хранения данных.

Таблица 2. Рассмотрим сравнительную таблицу характеристик платформ ОС LINUX:

Название

плюсы

минусы

Альт Линукс СПТ

-He требуется отключение SecureBoot при загрузке ОС. -Средства управления операционной системой через веб-интерфейс (Alterator).

- После настройки не печатает принтер

-Текст выглядит недостаточно чётким.

Astra Linux

-Совершенно даром доступна следующая версия -чистый Debian

-Не обновляются важные

библиотеки, как glibc

-много не нужных приложений

ROSA Linux

-Хорошо русифицированный дистрибутив.

- Возможность установки на флешку.

- Стабильность.

Старые версии пакетов. -Описание пакетов на английском языке.

-Некоторых программ нет в репозиториях.

Мы рассмотрели ситуацию на отечественном рынке системного ПО и

выделили три платформы ОС Linux, каждая из которых имеет свои достоинства и недостатки.

ГЛАВА 2. АНАЛИЗ ПРОБЛЕМ ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ ОС LINUX И НЕКОТОРЫЕ ПУТИ РЕШЕНИЙ

2.1. Уязвимость парольной защиты ОС LINUX

ОС Linux на сегодняшний день является довольно популярной среди пользователей и системных администраторов. Считается, что она имеет меньше уязвимостей, чем, например, Windows. Однако при неправильной настройке Linux злоумышленник может легко получить пароль учетной записи администратора (root). Такого невозможно сделать в последних версиях ОС Windows 10. При этом в большинстве случаев, нельзя установить ОС Linux без защиты паролем учетной записи суперпользователя. В последних версиях ОС Windows 10 не представляется возможным обойти пароль администратора, хотя еще несколько лет назад такая возможность существовала.

Необходимо сбросить пароль учетной записи администратора ОС Linux посредством редактирования GRUB (GRand Unified Bootloader) — программы-загрузчика операционной системы, затем поставить свой пароль и создать скрытую учетную запись пользователя.

Описание атаки.

Для проведения атаки необходимо при загрузке ОС зайти в меню и изменить параметры загрузки ядра, как показано на рисунке 1. Это нужно для того, чтобы иметь возможность работы из терминала.

Рисунок 1 Изменение параметров файла инициализации

На данном этапе злоумышленник может работать с файлами в режиме чтения, но не имеет прав для запуска и редактирования, хотя проверка статуса пользователя выдает «root», то есть режим суперпользователя (рисунок 2).

Рисунок 2 Проверка статуса пользователя

Для изменения прав пользователя, необходимо вручную задать параметры доступа и смонтировать заново раздел командой mount -о remount -rw /dev/sdal (рисунок 3)

Рисунок 3 Изменение прав пользователя для папки sdal

Для проверки наличия прав «root» можно попытаться создать каталог или файл. Если это удалось, то есть смысл продолжать дальше. Введя passwd root изменить пароль администратора. (Рисунок 4)

Рисунок 4 Изменение пароля администратора после получения прав «root»

После этого необходимо перезагрузить ОС и осуществить вход под новым паролем. Для защиты от подобного рода атак, рекомендуется запретить изменение параметров файла инициализации.

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

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

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

В стандартную поставку Qt не входит класс, реализующий 109 функции WEB-сервера на языке C++. Однако существует его реализация с открытым кодом по адресу [8], которая хорошо включается в среду Qt и позволяет создавать web-приложения, удовлетворяющие практическим требованиям. Обмен информацией между браузером и серверным WEB-нриложением осуществляется но TCP соединению, которое совершенно не защищено, что но нынешним временам является серьезным недостатком.

В среде Internet существует несколько предложений, как защитить соединение QHttpServer и браузера по протоколу SSL, например, [3], однако полной реализации этих идей пока не опубликовано. В настоящей статье представлена практическая реализация использования протокола SSL для защиты информации TCP соединения браузера и QHttpServer.

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

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

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

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

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

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

#ifndef Q_HTTP_SERVER_FWD

#define Q_HTTP_SERVER_FWD

#include <QHash>

#include <QString>

typedef QHash<QString, QString> HeaderHash;

// QHttpServer

class QHttpServer;

class QHttpConnection;

class QHttpRequest;

class QHttpResponse;

class QSsIServer;

// Qt

class QTcpServer;

class QTcpSocket;

// http_parser

struct http_parser_settings;

struct http_parser;

#endif

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

#ifndef Q_HTTP_SERVER

#define Q_HTTP_SERVER

#define QHTTPSERVER_VERSION_MAJOR 0

#define QHTTPSERVER_VERSION_MINOR 1

#define QHTTPSERVER_VERSION_PATCH 0 #include "qhttpserverapi.h"

#include "qhttpserverfwd.h"

#include <QObject>

#include <QHostAddress>

#include <QTcpServer>

#include <QSsl>

#include <QSslSocket>

#include <QSslKey>

#include <qsslsocket.h>

class QSsIServer : public QTcpServer

{

QOBJECT

public:

QSslServer(QObject *parent=0);

QSsISocket *serverSocket;

virtual ~QSslServer();

public slots:

void ready();

private:

QSsICertificate signedSelfCert;

QSsIKey privateKey;

void incomingConnection(qintptr socketDescriptor);

};

extern QHash<int, QString> STATUS_CODES;

class QHTTPSERVER_API QHttpServer: public QSsIServer

{

Q_OBJECT

public:

QHttpServer(QObject *parent=0);

QSsIServer *m_tcpServer;

virtual ~QHttpServer();

bool listen(const QHostAddress &address = QHostAddress::Any, quintl 6 port = 80);

bool Iisten(quint16 port);

void close();

signals:

void newRequest(QHttpRequest 'request, QHttpResponse 'response);

public slots:

private slots:

void newConnection();

private:

void incomingConnection(qintptr socketDescriptor);

};

#endif

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

#include "qhttpserver.h"

#include <QTcpServer>

#include <QTcpSocket>

#include <QVariant>

#include <QDebug>

#include <QSslSocket>

#include "qhttpconnection.h"

#include "bodydata.h"

QHash<int, QString> STATUS_CODES;

QSslServer::QSslServer(QObject ‘parent)

{

}

QSslServer::~QSslServer()

{

}

………………………..

bool QHttpServer::listen(const QHostAddress &address, quint16 port)

{

Q_ASSERT(!m_tcpServer);

m_tcpServer = new QSslServer(this);

bool couldBindToPort = m_tcpServer->listen(address, port); if (couldBindToPort)

{

connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection()));

}

else

{

delete m_tcpServer;

m_tcpServer = NULL;

}

return couldBindToPort;

}

void QSslServer::incomingConnection(qintptr socketDescriptor)

{

serverSocket = new QSsISocket;

QFilecertFile("/home/evd/crl/localhost.crt"); certFile.open(QIODevice::ReadOnly);

signedSelfCert = QSsICertificate (&certFile);

certFile.close();

QFileprivateFile("/home/evd/crl/localhost.key"); privateFile.open(QIODevice::ReadOnly);

privateKey = QSslKey(&privateFile, QSsl::Rsa);

privateFile.close();

serverSocket->setPrivateKey(privateKey);

serverSocket->setLocalCertificate(signedSelfCert);

if (serverSocket->setSocketDescriptor(socketDescriptor))

{

addPendingConnection(serverSocket);

connect(serverSocket, &QSslSocket::encrypted, this, &QSslServer::ready); serverSocket->startServerEncryption();

}

else

{

delete serverSocket;

}

}

void QSslServer::ready()

{

}

Все изменения были осуществлены при создании серверного 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 представлены входные формы проекта в различных браузерах.

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

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

Заключение

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

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

Глава 3. ОБЕСПЕЧЕНИЕ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ ОС LINUX ПОСРЕДСТВОМ ПОДГРУЖАЕМЫХ МОДУЛЕЙ АУТЕНТИФИКАЦИИ РАМ

PAM (Pluggable Authentication Modules) - подгружаемые модули аутентификации. РАМ является набором динамически подключаемых модулей, с помощью которых привилегированный пользователь может выбирать, как приложение должно осуществлять процесс аутентификации. Данная технология полезна, в случаях появления различных способов аутентификации пользователя в системе.

Эта технология имеет два основных преимущества:

1) модульность приложений, поддерживающих РАМ. Это означает, что для приложения, поддерживающего РАМ, появляется возможность изменить механизм аутентификации пользователей без перекомпиляции программы, достаточно изменить конфигурационный файл РАМ.

2) использования РАМ дает возможность администратору системы получает полную свободу в выборе схемы аутентификации для каждого отдельного приложения, данная схема может состоять из нескольких этапов. Единственным требование для использования РАМ является наличие встроенных в приложение функций работы с библиотекой РАМ.

Приложение взаимодействует с библиотекой РАМ, причем приложению неизвестно, какие алгоритмы аугентификации используюгся при проверке подлинности пользователя. Все операции по аутентификации, то есть шифрование пароля и его проверку, производит библиотека РАМ. Библиотека Linux-РАМ производит чтение параметров аутентификации приложения А из конфигурационного файла и загружает необходимые модули в память. Затем загруженные модули попадают в одну из четырех управляющих групп и помещаются гуда в порядке появления их в конфигурационном файле. Эти модули при вызове библиотекой Linux-PAM выполняют различные задачи аутентификации для приложения А. Для передачи текстовой информации, запрашиваемой у пользователя, может быть использована встроенная функция обмена [1].

Рис. 8. Структурная схема взаимодействия приложения и библиотеки РАМ

Все модули РАМ по умолчанию располагаются в каталоге /lib/security, а конфигурационные файлы РАМ - в каталоге /etc/pam.d. Имя каждого конфигурационного файла, расположенного в каталоге /etc/pamd, совпадает с именем приложения, использующего его.

Все модули библиотеки РАМ по функциональному признаку делятся на четыре типа:

auth - этот тип модулей позволяет осуществлять два аспекта аутентификации. Во-первых, он выполняет саму аутентификацию, то есть устанавливает факт того, что пользователь действительно тот, за кого себя выдает. Это может быть запрос пароля или другие методы идентификации. Во-вторых, модуль может разрешить членство в группе или определить другие привилегии, основываясь на информации о пользователе [10].

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

sessions - в основном этот тип используется для определения дополнительных действий, которые необходимо выполнить до или после предоставления сервиса пользователю.

password - этот тип необходим для обновления опознавательного признака, который идентифицирует пользователя.

Флаг контроля определяет, как система будет себя вести при удачном или неудачном прохождении соотвсгствующего модуля. В качестве флагов могут быть использованы четыре ключевых слова:

required - этот флаг определяет, что для удачной аутентификации необходимо успешное прохождение соответствующего модуля. Если при прохождении этого модуля система получила отказ, процесс аутентификации продолжается до тех пор, пока все модули не будут обработаны, и только потом выдается сообщение об ошибке [11].

requisite - действие аналогично required, с одним различием: при получении отказа управление сразу возвращается приложению, без прохождения остальных модулей [5].

sufficient - весь процесс аутентификации считается успешным, если работа модуля с этим флагом была успешной и проверка на предшествующих модулях с флагом required не провалилась. Неудачная работа с наличием этого флага не считается фатальной ошибкой.

optional — успешность модуля с этим флагом является необязательной и его использование не критично для аутентификации [5].

Путь к модулю содержит строку полного пути к модулю в файловой системе. Все модули хранятся в каталоге /lib/security.

Помимо основных конфигурационных файлов некоторые модули используют дополнительные файлы конфигурации, находящиеся в каталоге /etc/security. Каждый файл в этом кагалоге предназначен для конкретной группы настроек:

time.conf - в этом файле можно ограничить время доступа пользователей с различных терминалов к различным сервисам. Эти настройки использует модуль pam_time.

pam_env.cont - с помощью этого файла можно ограничить возможность изменения некоторых переменных среды пользователями. Этот файл используется модулем pam_env.

limits.conf - этот файл дает возможность ограничить размер core-файла, максимально допустимый размер файла, максимальное количество одновременно открытых файлов, запущенных процессов, количество одновременно открытых пользовательских сессий и гак далее. Используется модулем pam_limits.

access.conf - с помощью этого файла можно определить различные параметры входа пользователя в систему. Этот конфигурационный файл используется модулем pam access.

group.conf - в этом файле можно указать, к какой группе будет принадлежать процесс, запущенный пользователем в определенное время с определенного терминала. Файл читается модулями pam_time и pam_group.

console.perms - в этом файле имеется возможность указать права, назначаемые привилегированным пользователям при входе в систему и возвращаемые консоли при его выходе. Файл используется модулем pam console.

Кратко рассмотрим, какие модули входят в стандартный пакет РАМ, и какие функции выполняет каждый из них:

Таблица 2

Описание модулей стандартного пакета РАМ

Название

модуля

Тип модуля

Описание

pam_cracklib

password

Модуль проверки уровня безопасности пароля.

pain deny

любой

модуль запрещает доступ при любых обстоятельствах.

pam env

auth

Обеспечивает переменным среды сохранность.

pam ftp

auth

организация анонимного доступа.

pam_group

auth

Определяет группу-владельца процесса, запущенного аутентифициро­ванным пользователем.

pam_lastlog

auth

Предоставляет информацию о времени, а также месте входа в систему.

pamlimits

session

Модуль позволяет задавать ограничение на количество дескрипторов и объем занимаемой памяти.

pam_listfile

auth

Служит для организации доступа на основе конфигурационных файлов.

pammail

auth

Дает возможность сообщать пользователю новой почте.

pam permit

любой

Данный модуль дает доступ любых условиях и обстоятельствах.

pam_p\vdb

любой

Служит для работы с базами данных пользователя, тем самым обеспе­чивает гибкость хранения данных.

pam radius

session

Осуществляет аутентификацию через сервер RADIUS.

pam_rhosts_auth

auth

Анализ содержимого файлов hosts.equiv n.rhosts, используемых для ау­тентификации

pam_root_ok

auth

организует доступ пользователя имеющего статус - «привилегиро­ванный», без ввода пароля.

pam securetty

auth

Позволяет учитывать файл /etc/securetty.

pam time

account

Накладывает временные ограничения на доступ в систему.

pam_\vam

auth. password

Производи записи в системных журналах при определенных действиях.

pam_wheel

auth

позволяет получить права привилегированного пользователя только пользователям определенной группы.

Данная система гибко настраиваемая и даст возможность создания собственных РАМ-модулей на основе готовых шаблонов.

ЗАКЛЮЧЕНИЕ

Таким образом, рассмотрели ситуацию на отечественном рынке системного ПО и выделили три платформы ОС Linux, каждая из которых имеет свои достоинства и недостатки.

В результате проведенного исследования можно сделать следующие выводы:

1. Вызывающая нарекания наличием уязвимости ОС Windows имеет более безопасные настройки по умолчанию, по сравнению с предназначенной для специалистов по информационной безопасности ОС Kali Linux

2. Такого рода уязвимость, хотя и может быть устранена создает «иллюзию» безопасности для обычного пользователя.

3. Рекомендуется после установки ОС Kali Linux запретить редактирование загрузчика ядра.

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Почему Linux и системы реального времени? / Вестник Волжского университета имени В.Н. Татищева. №2(24). - Тольятти: Изд. Волжского университета имени В.Н. Татищева, 2015. С. 99-106.

2. Информационный портал АО «Лаборатория Касперского» -ГЭлектронный pecvpcl. - URL: https://securelist.ru/analvsis/malware-quarterlv/28455/it-tlireat-evolution-in-ql-2016/ (дата обращения 12.12.2020).

3. Информационный портал CIT Forum - [Электронный ресурс]. - URL: http://citforum.ru/securitv/articles/win lin/#AEN92 (дата обращения 12.12.2020).

4. URL: https://www.qt.io/ru/ (время обращения - 12.12.2020).

5. URL: https://github.com/nikliilm/qhttpsen-er/ (время обращения - 12.12.2020).

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

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

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

9. URL: https://www.wireshark.org (время обращения - 12.12.2020).

10. ОС Astra Linux сертифицирована для обработки секретной информации. [Электронный ресурс] // Режим доступа: URL: https://topwar.ru/158220-os-astra-hnux-sertificirovana-dlja-obrabotki-sekretnoj-informacii.html (дата обращения: 12.12.2020).

11. Почему под Linux нет вирусов. [Электронный ресурс] // Режим доступа: URL: http://liberatum.ru/news/pochemu-virusy-ne-zhi\ut-pod-linux (дата обращения: 12.12.2020).