Файл: Особенности обеспечения безопасности ОС Linux (ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ БЕЗОПАСНОСТИ ОС LINUX, И ЕЕ ОСОБЕННОСТЕЙ).pdf
Добавлен: 31.03.2023
Просмотров: 262
Скачиваний: 7
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).