Модуль 1. Введение в операционные системы
Введение
В этом модуле вы узнаете об истории возникновения GNU/Linux и базовых принципах работы ОС, с которыми может быть знаком не каждый специалист, обслуживающий Windows системы. Мы познакомимся с операционной системой Astra Linux и узнаем о ее версиях, уровнях защищенности, вариантах лицензирования, а также посмотрим, из каких компонентов состоит экосистема Астры.
Специальные обозначения в курсе
В тексте курса будут приводиться примеры выполнения команд с результатом вывода. Эта информация будет полезна для понимания материала, когда под рукой нет доступа к стенду:
admin@astra:~$ ls
Desktop Desktops SystemWallpapers Видео Документы ...
Обратите внимание, что текст до символа доллар $
является «приглашением для ввода», и его не нужно копировать, когда вы захотите проверить работу команды у себя в терминале. В случае, если вы будете работать из-под суперпользователя, текст приглашения будет заканчиваться символом решетки #
, например, в следующем примере команда ls
выполняется из-под root на компьютере с именем astra:
root@astra:~# ls
Desktop
В тексте могут встречаться шаблоны команд. В этом случае мы используем скобки <>
, внутрь которых требуется подставить необходимое значение. Например, для получения справочной информации на любую утилиту требуется выполнить команду man <имя_утилиты>
.
Горячие сочетания клавиш обозначаются в виде кнопки, например, для поиска команд из истории нажмите в терминале Ctrl + R.
Операционная система
Операционная система (ОС) – это базовое системное программное обеспечение, которое управляет аппаратными ресурсами вычислительного узла, выступая в роли посредника для прикладного программного обеспечения.
От эффективности работы механизмов операционной системы напрямую зависит производительность, надежность и безопасность работы прикладного программного обеспечения. Ниже на рисунке представлена схема взаимодействия ОС и её окружения.
Важно
Особенность операционной системы заключается в том, что вы никогда не должны ее замечать, потому что в действительности мы используем не операционную систему, а программы на своем компьютере, и в жизни операционной системы есть только одна задача — это помочь данным программам работать.
Другими словами, операционная система никогда не делает что-то сама по своей инициативе, она лишь только ждёт, пока программы не попросят ее предоставить доступ к каким-либо ресурсам, например, файлу на диске, или выход в интернет, и тогда в игру вступает операционная система, которая упрощает разработчикам написание прикладных программ.
– Линус Торвальдс
Современная ОС должна обладать следующими возможностями:
Управление процессами – создание, завершение и блокировка процессов, каждый из которых представляет собой исполняемый экземпляр какой-то компьютерной программы.
В системе Windows для управления процессами есть приложение «Диспетчер задач», в Astra Linux доступно сопоставимое по функциональности приложение «Системный монитор»
ksysguard
, а в базовых дистрибутивах Linux из командной строки всегда можно воспользоваться утилитамиps
иtop
.Управление памятью – обработка запросов на выделение и освобождение оперативной памяти, за что отвечает так называемый Менеджер памяти.
Управление вводом-выводом – взаимодействие операционной системы с внешним миром, в роли которого может выступать как пользователь, так и любая другая система обработки информации.
Управление прерываниями – обработка специальных сигналов от программного или аппаратного обеспечения, которые указывают на необходимость перейти к выполнению специального обработчика для того, чтобы отреагировать на возникшее событие, например, нажатие кнопки на клавиатуре. Как правило, после выполнения необходимых действий, обработчик прерываний возвращает управление прерванной программе.
Управление файлами – создание, переименование, редактирование, копирование, перемещение, удаление и поиск файлов.
Управление периферийными устройствами – обеспечение работы с клавиатурами, мышками, принтерами и другими устройствами через так называемые драйвера.
Поддержка компьютерных сетей TCP/IP – обеспечение возможности обмена данными между вычислительными устройствами и программным обеспечением.
Защита компьютера – обеспечение безопасности за счет реализации функций аутентификации, авторизации, межсетевого экранирования и др.
Современные операционные системы, такие как Windows и Linux, состоят из следующих компонентов:
Ядро – это основной компонент операционной системы, который предоставляет приложениям доступ к аппаратным ресурсам компьютера (таким как процессорное время, память, файлы, компьютерная сеть, внешние устройства ввода/вывода и другому аппаратному обеспечению) через обращение к системным вызовам и обеспечивает взаимодействие приложений между собой за счет механизмов межпроцессного взаимодействия.
В операционных системах Windows код ядра находится в файле
C:\Windows\System32\ntoskrnl.exe
, а в операционной системе Linux ядро может находиться, например, в файле/boot/vmlinuz-5.15.0-33-generic
. Разработчики дистрибутивов Linux поставляют их, как правило, со своими собственными сборками ядра, которые скомпилированы с определенным набором параметров и содержат необходимые драйвера устройств, но от этого ядро не перестает быть ядром Linux, поэтому мы можем, например, запускать контейнеры Red Hat на Debian и наоборот.Системные библиотеки – это специальные функции, с помощью которых прикладные программы и утилиты могут выполнять системные вызовы и получать доступ к функциям ядра операционной системы. Существуют статические и динамические библиотеки.
Статическая библиотека — это файл с машинным кодом, который при сборке приложения полностью включается в исполняемый файл.
Динамическая библиотека — это файл, программный код которого не включается в исполняемый файл, а загружается в память только при запуске приложения, то есть динамически. Код динамических библиотек может использоваться несколькими приложениями, поэтому их называют так же разделяемыми объектами (shared object, so). Основной динамической библиотекой для языка Си, с помощью которой можно получить доступ к системным вызовам Linux, является библиотека
libc.so
.
Оболочка с системными утилитами – набор служебных программ, с помощью которых можно выполнять специализированные задачи по управлению операционной системой и оборудованием. Например, с помощью утилиты
ls
(от англ. list, список) можно просматривать информацию об объектах файловой системы.Значительная часть системных утилит, используемых совместно с ядром Linux, изначально была заимствована из проекта GNU, поэтому первые сборки даже называли GNU/Linux. В дальнейшем разработчики дистрибутивов стали развивать эти инструменты и компоновать их разным образом, поэтому появились Red Hat Linux, Debian Linux, Ubuntu Linux и другие. То есть дистрибутивы Linux различаются между собой в первую очередь набором системных утилит, с которыми они поставляются из коробки.
Для обеспечения безопасности операционные системы не только помогают приложениям получить доступ к аппаратным ресурсам, но еще и ограничивают их в возможности обращаться к этим ресурсам напрямую. Приложения работают как бы в песочнице и без содействия ядра не могут выделить себе память, открыть файл, послать сетевой пакет или вывести на экран строчку текста. Поэтому утечки памяти не могут пережить процесс, который их породил, а при завершении приложения будут закрыты все файлы, которые были открыты во время его работы. Именно поэтому современные Windows/Linux системы могут иметь сотни часов аптайма, в отличие от Windows 95/98, в которых для обеспечения обратной совместимости некоторые ресурсы оставили доступными напрямую, что негативно сказалось на их стабильности.
Концепция информационной безопасности и функциональной отказоустойчивости операционных систем на основе уровней привилегий получила название колец защиты, а поддержка этих функций на аппаратном уровне называется режимами работы процессора. В системе Multics, которая являлась прародителем Unix, таких колец было восемь, но в микропроцессорах x86 была реализована поддержка только четырех колец, а в современных операционных системах Windows/Linux так вообще используется только два из них: ядро работает на нулевом уровне, а пользовательские приложения на третьем уровне, см. рис. 2.
На уровне системного администрирования мы никак не влияем на работу колец защиты, ядро операционной системы само ведет учет активных процессов, какие из них принадлежат ядру, а какие запущены пользователями. Для общего понимания достаточно знать, что каждый квант процессорного времени планировщик берет из списка следующий процесс, готовый к исполнению, и формирует команду на переключение, в которой указывается адрес продолжения и номер кольца, поэтому процесс возобновляет свою работу на соответствующем уровне защиты.
История появления Linux
Если вы только начинаете погружаться в мир Linux, то для экономии вашего времени лучше сразу ответить на вопросы «чем Linux отличается от Unix», «кто создал все это» и «как выйти из редактора vi». Мы не станем рассказывать всю историю, хотя по ней вполне можно снять увлекательный блокбастер, но затронем основные вехи, чтобы стали понятны ключевые моменты. Правда, чтобы узнать о редакторе vi
, вам все же придется потерпеть до 7го модуля.
Одной из первых операционных систем была Multics от Bell Labs, и нас будет интересовать только ее название Multiplexed Information and Computing Service, которое можно перевести как Комплексная информационная и вычислительная служба. Концепции этой системы получили дальнейшее развитие в следующей разработке Unics (Uniplexed Information and Computing System), первый релиз которой вышел в 1969 году. В названии этой системы «односложность» (Uniplexed) противопоставлялась «комплексности» (Multiplexed), чтобы подчеркнуть стремление создать более простое решение. В итоге название Unics было сокращено до Unix, и в таком виде оно дошло до наших дней. На ядре Unix базируются такие современные операционные системы как Solaris от Oracle, AIX от IBM, HP-UX от Hewlett-Packard, Darwin от Apple и другие.
В силу юридических ограничений на коммерциализацию компьютерных технологий компания-правообладатель AT&T передала исходные коды Unix в университет Беркли, что привело к выходу в 1978 году системы BSD (от англ. Berkeley Software Distribution). Сначала это было взаимовыгодное сотрудничество, но в дальнейшем, несмотря на то, что BSD разработала собственное ядро и перестала использовать исходные коды Unix, это сотрудничество привело к судебным спорам о нарушении авторских прав. В настоящее время все юридические проблемы урегулированы, но эта история крайне негативно повлияла на распространение систем из семейства BSD. На ядре BSD базируются такие современные операционные системы, как FreeBSD, OpenBSD, NetBSD и другие.
На фоне лицензионных ограничений и судебных претензий к BSD появился повышенный интерес к альтернативным проектам, таким как GNU и Linux. Название проекта GNU представляет собой рекурсивный акроним GNU is Not UNIX («GNU – это вам не UNIX»), и его автор Ричард Столлман (Richard Stallman) изначально хотел создать полную альтернативу Unix. Но, если в разработке системных утилит проект оказался вполне успешен, то с ядром у разработчиков совсем не заладилось, так как они сделали ставку на микро-ядерную архитектуру, которая оказалась сложна в разработке и отладке.
Проект Linux стартовал значительно позже, но фокусировался исключительно на создании ядра операционной системы, и его автор Линус Торвальдс сделал ставку на монолитную архитектуру, что позволило ему добиться успеха намного быстрее. Просто для сравнения: первый релиз ядра Linux вышел в 1991 году, а стабильной версии ядра GNU HURD нет до сих пор.
Вместе с тем, эти два проекта отлично дополнили друг друга, так как, объединяя свободное ядро Linux и свободный набор программного обеспечения GNU, разработчики смогли собрать полноценные операционные системы, с помощью которых можно решать конкретные прикладные задачи. Поэтому наравне с GNU\Linux появились Red Hat Linux, Debian Linux, Ubuntu Linux и еще более пяти сотен дистрибутивов, больше половины из которых уже ушли в историю.
Можно отметить, что за каждым успешным проектом стоят большие инвестиции и интересы большого числа пользователей. Успех продукта в конечном итоге определяется тем, сколько усилий в него вложено и сколько людей в него поверило. И, если говорить о российском рынке, то одним из признанных лидеров является операционная система Astra Linux Special Edition (ALSE), доля которой по результатам 2023 года составила более 75%.
Операционная система Astra Linux
ПАО Группа Астра является одним из лидеров российского рынка информационных технологий в области разработки программного обеспечения и средств защиты информации. В портфеле компании два десятка продуктов, основным из которых является сертифицированная операционная система специального назначения Astra Linux со встроенными средствами защиты информации (СЗИ) для безопасной работы инфраструктур любого масштаба и с данными любой степени конфиденциальности, что подтверждается сертификатами ФСТЭК, ФСБ и Минобороны России.
Операционная система Astra Linux позволяет безопасно использовать кодовую базу Debian, включая большое количество прикладных программ, и предоставляет своевременный доступ к необходимым исправлениям безопасности. Система оснащена собственными средствами защиты информации — модулем мандатного контроля доступа и целостности замкнутой программной среды. И это не считая оригинальной графической оболочки Fly, которая покажется привычной большинству пользователей и упростит процесс импортозамещения.
Операционная система Astra Linux поддерживает большой перечень современного оборудования, и сотрудники компании активно работают над расширением этого списка. Уже более 3 000 предприятий используют Astra Linux и экономят время на подборе и тестировании ПО и комплектующих. С актуальным перечнем совместимого оборудования вы можете ознакомиться на сайте компании https://astralinux.ru/ready-for-astra/
Версии Astra Linux
Версионирование Astra Linux отличается от того, как это принято в Windows. Номер версии состоит из нескольких чисел, разделенных символом точки, см. рис. 3.
Первое число (1) в номере версии обозначает архитектуру или предназначение. Возможны следующие значения:
1 — Astra Linux Special Edition (ALSE) под архитектуру x86-64;
2 — Astra Linux Common Edition (ALCE) под архитектуру x86-64;
4 — ALSE под архитектуру ARM;
8 — ALSE под архитектуру Эльбрус.
Второе число (7) соответствует номеру очередного обновления (версии ОС). Выпуск очередных обновлений необходим для:
реализации и совершенствования функциональных возможностей;
поддержки современного оборудования;
обеспечения соответствия актуальным требованиям безопасности информации;
повышения удобства использования, управления компонентами и другое.
Таким образом, версии 1.7 и 4.7 являются одной и той же версией операционной системы с номером очередного обновления 7, но под разные архитектуры. Версия 1.7 предназначена для работы на x86-64 процессорах, а версия 4.7 будет работать на ARM.
Третье число (3) соответствует номерам оперативных обновлений, выпуск которых позволяет устранять критические уязвимости и уязвимости высокого уровня опасности. Такие обновления могут публиковаться не только в виде файлов программных компонентов, в которые внесены изменения, но и в виде инструкций и методических указаний по настройке и особенностям эксплуатации операционной системы, содержащих сведения о компенсирующих мерах или ограничениях по применению операционной системы при эксплуатации.
Текущую версию установленной системы можно посмотреть в файле /etc/astra_version
, версия сборки ОС находится в файле /etc/astra/build_version
$ cat /etc/astra_version
1.7.3
$ cat /etc/astra/build_version
1.7.3.1
Кроме очередных и оперативных обновлений компания выпускает так называемые срочные оперативные обновления, которые обозначаются префиксом UU (от англ. urgent update). Например, для ALSE 1.7.3 было выпущено два срочных обновления UU1 и UU2.
Лицензиатам, использующим ОС «Astra Linux Special Edition», сертифицированную по требованиям безопасности информации ФСТЭК России (сертификат № 2557), необходимо применять опубликованные в бюллетенях безопасности методики и устанавливать обновления программного обеспечения для нейтрализации угроз уязвимостей в информационных системах.
Репозитории Astra Linux
Официальные репозитории операционной системы доступны по адресу https://download.astralinux.ru, но так как индексация каталогов внутри репозитория запрещена просматривать вручную эти каталоги не целесообразно, с ними нужно работать через менеджер пакетов apt, см. Модуль 15. Управление ПО в Astra Linux.
Для версии ALSE x.7 доступно 4 репозитория:
main — основной репозиторий операционной системы. Программный код из этого репозитория реализует все функциональные возможности и функции безопасности продукта.
update — репозиторий с оперативными обновлениями основного репозитория.
base — базовый репозиторий, который объединяет main и update, а также содержит пакеты со средствами разработки.
extended — содержит дополнительное программное обеспечение, которое может функционировать в среде Astra Linux. Указанное ПО не дорабатывается для реализации функций безопасности и может быть несовместимо с последними оперативными обновлениями основного/базового репозитория, что фиксируется в бюллетене оперативного обновления и устраняется по мере обновления расширенного репозитория. Программное обеспечение расширенного репозитория не попадает под сертификацию.
Уровни защищенности ALSE
Начиная с очередного обновления ALSE 1.7, операционная система поставляется в виде единого дистрибутива, способного функционировать в одном из трех режимов безопасности (уровне защищенности), реализованном запатентованными средствами защиты информации (СЗИ):
Базовый уровень защищенности «ОРЕЛ». Рекомендован для обработки общедоступной информации, не требующей специальных средств защиты.
Усиленный уровень защищенности «ВОРОНЕЖ». Рекомендован для обработки конфиденциальной информации, не содержащей сведения, составляющие государственную тайну.
Максимальный уровень защищенности «СМОЛЕНСК». Рекомендован для обработки информации любой категории доступа в государственных информационных системах.
Программа Ready for Astra
Компания выполняет проверку программного и аппаратного обеспечения сторонних производителей на совместимость с Astra Linux, сертификаты совместимости выданы уже для более чем 2100 продуктов. Одновременно с этим компания разрабатывает собственные продукты по наиболее востребованным направлениям для расширения возможностей экосистемы и упрощения реализации программы импортозамещения.
Подробнее о программе Ready for Astra можно узнать по ссылке https://astralinux.ru/ready-for-astra/.
Экосистема Астры
Экосистема Астры представляет собой группу продуктов, которые обеспечивают комплексный подход к импортозамещению программного обеспечения на предприятиях. Экосистема реализует следующие базовые сервисы: операционная система, служба каталогов, виртуализация, резервное копирование, почта, инфраструктура виртуальных рабочих мест, база данных и другие, см. рис. 4.
В экосистему Астры входят следующие продукты:
ALD Pro – это система централизованного управления ИТ-инфраструктурой (аналог Microsoft Active Directory). Продукт предоставляет возможности централизованного управления учетными записями пользователей, единую точку сквозной аутентификации по протоколу Kerberos v5 и централизованное администрирование доменных компьютеров через механизм групповых политик. В системе дополнительно реализована возможность автоматического развертывания наиболее востребованных сервисов: репозиторий программного обеспечения, файловый сервер, принт-сервер, DHCP, установка ОС по сети, аудит, мониторинг.
RuPost – система для управления корпоративной почтой, календарями, контактами и адресными книгами (аналог Microsoft Exchange). Благодаря встроенному в систему веб-клиенту рабочие места конечных пользователей могут работать под разными ОС: Windows, Linux, iOS и Android.
WorksPad – клиент-серверное корпоративное решение класса Enterprise Mobility Management (EMM) для организации защищенной мобильной работы сотрудников на смартфонах и планшетах под управлением iOS и Android. Продукт позволяет обеспечить высочайший уровень защиты данных и предотвратить их утечку за счет установки на клиентское мобильное устройство контролируемого компанией приложения-контейнера с настраиваемыми политиками безопасности и шифрования. При этом приложение не контролирует приватные данные владельца устройства и никак на них не влияет. При необходимости решение можно применять в комплексе с другими средствами для управления (MDM) и предотвращения утечек информации (DLP).
Tantor – удобная в использовании СУБД российского производства с повышенной производительностью и встроенной системой администрирования и мониторинга (аналог Microsoft SQL Server).
Брест - российская платформа со встроенными средствами защиты информации ОС Astra Linux Special Edition для создания и управления облачными виртуальными ИТ-инфраструктурами любой сложности (аналог Microsoft Private Cloud). Позволяет развернуть частное или публичное облако, в том числе распределенное, и гибко управлять виртуальной инфраструктурой и ее компонентами, учетными записями пользователей и виртуальными машинами: создавать их из шаблонов, клонировать, удалять и т.д.
VMmanager – платформа управления аппаратной и контейнерной виртуализации (аналог Microsoft Hyper-V).
DCImanager – платформа для управления мультивендорной IT-инфраструктурой.
BILLmanager – платформа для авторизации частного и гибридного облака.
Termidesk – реализация инфраструктуры виртуальных рабочих мест для организации удаленной и безопасной работы сотрудников с любых устройств из любой точки мира (аналог Microsoft Enterprise Desktop Virtualization).
RuBackup – клиент-серверное приложение для автоматизации резервного копирования и восстановления данных.
С дополнительной информацией вы можете ознакомиться на официальном сайте: https://astralinux.ru/
Лицензирование Astra Linux
Astra Linux Special Edition доступна в трех типах лицензий и трех режимах безопасности.
Типы лицензий:
Для рабочей станции
Серверная лицензия
Для тонкого клиента
Режимы безопасности операционной системы Astra Linux Special Edition:
«ОРЕЛ» - базовый уровень защищенности
«ВОРОНЕЖ» - усиленный уровень защищенности
«СМОЛЕНСК» - максимальный уровень защищенности
Характеристика |
Орел |
Воронеж |
Смоленск |
---|---|---|---|
Сертификат ФСТЭК |
_ |
v |
v |
Сертификат ФСБ |
_ |
_ |
v |
Сертификат МО |
_ |
_ |
v |
Мандатный контроль целостности |
_ |
v |
v |
Ролевое управление доступом |
_ |
v |
v |
Дискреционное управление доступом |
_ |
v |
v |
Мандатное управление доступом |
_ |
_ |
v |
Механизмы защиты СУБД и средств виртуализации |
v |
v |
v |
Режим «киоск» — «белый» список разрешенных к запуску приложений |
v |
v |
v |
Корректная работа с электронной подписью |
v |
v |
v |
Дополнительная изоляция компонентов виртуализации и контейнеров Docker(отдельный уровень целостности) |
_ |
v |
v |
Динамический контроль целостности (замкнутая программная среда) |
_ |
v |
v |
Регистрация событий безопасности |
v |
v |
v |
Контроль подключения съемных машинных носителей информации |
v |
v |
v |
Практика и тестирование
Заключение
В этом модуле мы узнали:
Основные отличия между системами Windows и Linux
Что такое операционная система, её предназначение и компоненты
История появления Linux
Основные особенности ОС Astra Linux Special Edition
Как определить версию ALSE и чем они отличаются
Какие бывают уровни защищенности ALSE и их особенности
Лицензирование ALSE
Что такое программа Ready for Astra
Что такое экосистема Astra и что в неё входит
На этом мы заканчиваем исторический экскурс и обзорный модуль про операционные системы и переходим к следующему модулю, посвященному установке системы.
Дополнительные источники информации
Подробнее о лицензиях Unix и Linux вы можете почитать по ссылке https://www.gnu.org/licenses/licenses.html
Список программного и аппаратного обеспечения, совместимого с Astra Linux https://astralinux.ru/ready-for-astra/
С условиями лицензирования программных продуктов группы Астра вы можете ознакомиться на официальном сайте компании https://astragroup.ru/info/law/