896 подписчиков

Компоненты ALD Pro

ALDPro Management ALDPro Management - портал управления. Портал управления, это программа с веб интерфейсом, через который осуществляется управление ALD Pro  и её подсистемами в графическом режиме.

ALDPro Management

ALDPro Management - портал управления. Портал управления, это программа с веб интерфейсом, через который осуществляется управление ALD Pro и её подсистемами в графическом режиме.

FreeIPA

FreeIPA (Free Identity, Policy and Audit, бесплатная идентификация, политика и аудит) — открытое программное обеспечение, специализированная служба каталогов, предназначенная для создания в ОС Linux среды, позволяющей централизованно управлять аутентификацией пользователей, устанавливать политики доступа и аудита. Функционал FreeIPA подобен MS Active Directory.

В состав FreeIPA входят:

  • Служба каталогов: Сервер LDAP 389 Directory Server.
  • Служба аутентификации: Kerberos (MIT’s Kerberos 5).
  • Служба разрешения имен: Встроенный сервер DNS (BIND).
  • Служба сертификации: Встроенный центр сертификации (DogTag).
  • Служба синхронизации времени NTP.
  • Служба динамической настройки узла DHCP.
  • Средство интеграции с Active Directory: Samba (начиная с FreeIPA 3.0.0).
  • Инструменты управления: Веб-доступ до инструментов администрирования и набор консольных утилит.

Серверная часть FreeIPA разработана только для дистрибутивов Linux, основанных на коде Red Hat (Centos, Fedora и прочих), а клиентская часть реализована также и для других дистрибутивов Linux, операционных систем и платформ, в частности, для Debian, Ubuntu, openSUSE, AIX, HP-UX, Solaris. Развитие проекта осуществляется сообществом разработчиков при спонсорской поддержке Red Hat.

Система управления конфигурацией SaltStack

SaltStack является одной из наиболее популярных систем управления конфигурациями и удалённого выполнения операций, предназначенной в первую очередь для GNU/Linux и Unix-совместимых ОС, но поддерживающий работу и с Window. Аналогами являются Ansible, Puppet и Chef.

SaltStack это ПО с открытым исходным кодом, написанным на Python. Проект начат в 2011 году Томасом Хатчем.

Отличительной особенностью SaltStack является его скорость работы и возможность поддержки большого (тысячи и десятки тысяч) клиентов на один сервер. В роли сервера в SaltStack выступает Salt Master («мастер»), а в роли клиентов Salt Minion («миньон»).

Скорость работы SaltStack обеспечивается благодаря быстрому асинхронному способу общения мастера и миньонов чрез высокопроизводительную асинхронную библиотеку обмена сообщениями ZeroMQ (также ØMQ, ZMQ, 0MQ). ZeroMQ ориентирована на использовании в распределенных и параллельных вычислениях и реализует очередь сообщений, которая может функционировать без выделенного брокера сообщений.

Кроме ZeroMQ последние версии SaltStack могут работать через протокол TCP напрямую, в том числе и с использованием TLS соединений, без использования «прослойки» в виде ZeroMQ.

SaltStack поддерживает и без-агентную конфигурацию, работая через ssh, но за удобство и универсальность приходится жертвовать скоростью работы по сравнению с агентской реализацией ZeroMQ.

SaltStack позволяет использовать как императивный (когда мы должны описать конкретные шаги для достижения желаемого состояния) так и декларативный (когда мы определяем желаемое состояние но не уточняем путь для его достижения) подходы. В первом случае используются так называемые «модули исполнения» (Execution modules), которые императивны и не идемпотенты (повторное их применение может давать разный результат), а во втором используются «модули состояния» (State modules), которые декларативны и идемпотенты. Например, модуль исполнения может удалить существующий каталог, но вернуть ошибку при его отсутствии (результаты работы отличаются), а модуль состояния прежде чем удалять каталог проверит, существует ли он и если да, то удалит – ему важен не процесс, а конечный результат (и в том и в другом случае результат будет успешным – желаемое состояние (отсутствие каталога) достигнуто).

В SaltStack, кроме модулей исполнения, присутствуют «модули выполнения» (Runner modules), которые аналогичны модулям исполнения, но в отличии от них выполняются не на миньонах, а на мастере, что позволяет оркестровать задачи. Оркестрация позволяет централизованно координировать действия различных компьютеров из одного места. Это позволяет в том числе контролировать последовательность заданных событий настройки с точки зрения времени их появления. Состояния оркестрации выполняются на главном сервере Salt с помощью модуля «Состояние выполнения» (State runner).

Кроме того, SaltStack позволяет просто запускать задания на удаленных системах.

Служба разрешения имен Bind9

BIND (Berkeley Internet Name Domain, ранее Berkeley Internet Name Daemon) – открытая и наиболее распространенная реализация DNS-сервера и стандарт де-факто на Unix-подобных операционных систем. Он выполняет обе основные роли DNS-сервера, действуя как авторитетный сервер имен для доменов и действующий как рекурсивный преобразователь в сети, обеспечивающий выполнение преобразования DNS-имени в IP-адрес и наоборот.

Программное обеспечение BIND состоит, прежде всего, из компонента сервера DNS. Исполнимый файл службы сервера BIND называется named. Кроме того, пакет содержит различные инструменты администрирования и библиотеку интерфейса преобразователя DNS.

BIND был разработан студентами в Калифорнийском университете в Беркли в начале 1980-х на грант, выданный Управлением перспективных исследовательских проектов Министерства обороны США (Defense Advanced Research Projects Agency, DARPA) и впервые был выпущен в ОС BSD 4.3.

Последней версией BIND является BIND 9, впервые выпущенный в 2000 году. Она была написана с нуля, частично для решения архитектурных трудностей с аудитом более ранних кодовых баз BIND, а также для поддержки DNSSEC (расширения безопасности DNS). Разработка BIND 9 проходила в рамках сочетания коммерческих и военных контрактов. Большинство функций BIND 9 финансировалось поставщиками UNIX, которые хотели гарантировать, что BIND останется конкурентоспособным по сравнению с предложениями Microsoft DNS; функции DNSSEC финансировались военными США, которые считали безопасность DNS важной.

Служба синхронизации времени cronyd

Chrony — это универсальная реализация протокола сетевого времени (NTP). Он может синхронизировать системные часы с серверами NTP, эталонными часами (например, GPS-приемником), а также позволяет вручную вводить данные времени. Он также может работать как сервер NTPv4 и равноправный узел, предоставляя службу времени другим компьютерам в сети.

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

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

В chrony включены две программы: chronyd — это демон, который можно запустить во время загрузки, и chronyc — это программа интерфейса командной строки, которую можно использовать для мониторинга производительности chronyd и изменения различных рабочих параметров во время его работы.

Служба печати CUPS

CUPS (Common UNIX Printing System) — это свободная и открытая система печати, разработанная для операционных систем UNIX-подобного типа. CUPS предоставляет инфраструктуру для управления печатью на компьютерах, подключенных к принтерам и другим устройствам печати.

CUPS обеспечивает стандартизированный способ взаимодействия между компьютером и принтером, обрабатывает очередь печати, управляет настройками принтера и выполняет другие задачи, связанные с печатью. Он поддерживает различные протоколы, такие как IPP (Internet Printing Protocol), LPD (Line Printer Daemon), SMB (Server Message Block) и другие, что позволяет подключать принтеры через локальные сети или сети Интернет.

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

Если упростить, то CUPS, в общем случае, можно представить, как веб-сервер (служба cupsd) и веб-клиенты, которые взаимодействуют по протоколу IPP. Протокол IPP это тот же самый HTTP, но в которой была добавлена поддержка печати. Клиенты передают задания на печать серверу CUPS с помощью метода POST, а статусы заданий по запрашивают методом GET.

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

Если смотреть крупноблочно, CUPS состоит из:

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

Общий доступ к файлам Samba

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Начиная с четвёртой версии, разработка которой велась почти 10 лет, Samba может выступать в роли контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000, и способна обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10.

Samba работает на большинстве Unix-подобных систем, таких как Linux, POSIX-совместимых Solaris и Mac OS X Server, на различных вариантах BSD; в OS/2 портирован Samba-клиент, являющийся плагином к виртуальной файловой системе NetDrive. Samba включена практически во все дистрибутивы Linux.

Служба динамической настройки узла ISC DHCP

Протокол динамической конфигурации хоста (Dynamic Host Configuration Protocol, DHCP) — это сетевой протокол, используемый для назначения IP-адресов и предоставления информации о конфигурации таким устройствам, как серверы, настольные компьютеры или мобильные устройства, чтобы они могли взаимодействовать в сети с использованием Интернет-протокола (IP). ISC DHCP — это набор программного обеспечения, реализующий все аспекты протокола динамической конфигурации хоста.

Internet Systems Consortium выпустил первую версию ISC DHCP Server (для Unix-подобных систем) 6 декабря 1997 года. 22 июня 1999 года вышла версия 2.0, более точно соответствующая стандарту. В версии 4.0, выпущенной в декабре 2007 г., появилась поддержка протокола DHCPv6.

Репозиторий ПО Reprepro

Репозиторий ПО в ALD Pro — подсистема, где хранятся и поддерживаются deb-пакеты для их централизованной установки на компьютеры-участники домена ALD Pro.

Reprepro - утилита для создания локального репозитория для Debian-совместимых дистрибутивов.

Установка ОС по сети TFTP/HTTP + PXE

Для установки ОС пои сети в ALD Pro используется подсистема, основанная на протоколе TFTP/HTTP и PXE.

TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.

HTTP (HyperText Transfer Protocol — «протокол передачи гипертекста») — сетевой протокол прикладного уровня, который изначально предназначался для получения с серверов гипертекстовых документов в формате HTML, а с течением времени стал универсальным средством взаимодействия между узлами как Всемирной паутины, так и изолированных веб-инфраструктур.

PXE (Preboot eXecution Environment) — среда для загрузки компьютера с помощью сетевой карты без использования локальных носителей данных (жёсткого диска, USB-накопителя и т. п.). Для организации загрузки системы в PXE используются протоколы IP, UDP, BOOTP и TFTP. PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление.

Система мониторинга Zabbix + Grafana

Zabbix — свободная система мониторинга статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым. Для хранения данных используется MySQL, PostgreSQL, SQLite или Oracle Database, веб-интерфейс написан на PHP.

Поддерживает несколько видов мониторинга:

  • Simple checks — может проверять доступность и реакцию стандартных сервисов, таких как SMTP или HTTP, без установки какого-либо программного обеспечения на наблюдаемом хосте.
  • Zabbix agent — может быть установлен на UNIX-подобных или Windows-хостах для получения данных о нагрузке процессора, использования сети, дисковом пространстве и так далее.
  • External check — выполнение внешних программ, также поддерживается мониторинг через SNMP.

Система журналирования syslog-ng

Syslog-ng — это бесплатная реализация протокола syslog с открытым исходным кодом для Unix и Unix-подобных систем. Она расширяет исходную модель syslogd за счет фильтрации на основе содержимого, богатых возможностей фильтрации, гибких параметров конфигурации и добавляет в системный журнал важные функции, такие как использование TCP для транспорта.

Агент домена ALD Pro

Агентом домена в ALD Pro – это набор агентов и компонентов, которые устанавливаются на всех участниках домена и которые являются клиентскими частями подсистем, входящих в ALD Pro или компонентами ОС Astra Linux, необходимыми для корректной работы служб и подсистем ALD Pro. К этому набору компонентов относятся:

  • aldpro-client – клиентская часть «ALD Pro», через которую устанавливаются и настраиваются остальные клиентские приложения и сервисы.
  • astra-freeipa-client — утилита от Astra Linux для внесения дополнительных настроек в конфигурацию sssd и других служб в соответствии с требованиями операционной системы;
  • freeipa-client – клиентская часть подсистемы FreeIPA, настраивает службу SSSD.
  • krb5-user — поддержка работы с Kerberos, утилиты kinit и др.
  • sssd — набор служб для работы машины в домене.
  • sssd-ldap — LDAP бекенд службы SSSD.
  • ldap-utils — утилиты ldapsearch и другие.
  • freeipa-admintools — набор утилит администрирования ipa CLI.
  • salt-minion — клиентская часть групповых политик.
  • zabbix-agent — клиентская часть подсистемы мониторинга.
  • Модуль автообнаружения SaltStack-агента – скрипт.
  • Модуль автообнаружения клиента Samba – скрипт.
  • Модуль автообнаружения клиента мониторинга – скрипт.

Кроме того, ALD Pro для своей работы использует компоненты входящие в состав ОС Astra Linux:

  • syslog-ng— клиентская часть подсистемы журналирования.
  • samba – клиент Samba.
  • chrony – клиент сервера времени.
  • systemd-resolved – клиент разрешения доменных имен.
  • isc-dhcp-client – клиент ISC DHCP.
  • PXE – PXE загрузчик (BIOS/UEFI).
  • apt – программа для установки ПО.
  • X11VNC - утилита удаленного подключения к рабочей станции.
  • команды печати CUPS – cupsaccept, cupsaddsmb, cupsdisable, cupsenable, cupsreject, cupstestppd.

#aldpro