Настройка системы #

Васильев Андрей Михайлович, 2022

Версии презентации

Настройка сетевых интерфейсов #

Ограничение сетевого взаимодействия #

Задачи, ориентированные на управление сетью и сетевыми подключениями #

  • Настройка работы сети внутри организации
  • Настройка доступа к внешним сетям, в частности сети Интернет, из сети организации
  • Настройка доступа к сетевым службам внутри организации
  • Настройка доступа к сетевым службам из внешних сетей

Задачи, требующие настройки дополнительных служб

  • Настройка защищённого доступа к внутренним ресурсам сети или связи между сетями (VPN)
  • Мониторинг текущей сетевой активности
  • Мониторинг нагрузки на сетевые интерфейсы во времени

Ограничение доступа для процессов #

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

Удалённый доступ к серверу #

OpenSSH

  • Установление защищённого соединения между клиентом и сервером
  • Выполнение удалённых команд на сервере
  • Передача файлов между клиентом и сервером
  • Интерактивная работа на удалённом сервере
  • Проброс портов между сервером и клиентом
  • Выполнение Socks-проксирования запросов от клиента к серверу

Объединение вычислительных ресурсов #

Для решения ряда задач необходимо объединить компьютеры, чтобы при выполнении задач можно было использовать их объединённые ресурсы

  • Объединение для выполнения распределённых вычислений
  • Объединение для увеличения объёма хранения данных

Управление виртуальными машинами #

Управление контейнерными окружениями #

  • Понятие контейнеризации и её отличия от виртуализации
  • Системы запуска одиночных контейнеров
  • Системы запуска и управления контейнерами

Мониторинг за использование ресурсами #

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

Необходимо обеспечить бесперебойную работу серверов, т.е. необходимо иметь мощности в резерве

  • Системы мониторинга серверов
  • Системы инвентаризации

Управление учётными записями пользователей #

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

  • Понимание задач аутентификации, авторизации
  • Знание основ протоколов для обеспечения аутентификации пользователей: OAuth, Open ID Connect, LDAP, AD, …
  • Системы управления пользователями
  • Системы авторизации пользователей на Linux-компьютерах

Предоставление файлового хранилища #

Управление СУБД #

  • Обеспечение надёжности работы
    • Резервирование данных
    • Распределение нагрузки между серверами
  • Обновление версий СУБД
  • Оперирование СУБД
    • Создание БД
    • Управление пользователями
    • Управление встроенными процедурами / модулями

Предоставление терминального сервера #

Для некоторых ситуаций компаниям удобно консолидировать ресурсы на выделенной системе, чтобы работники подключались к ней для выполнения собственных задач

Альтернативный сценарий: доступ к защищённому окружению

Обеспечение надёжности сохранения данных #

Настройка аппаратного обеспечения для надёжного хранения данных #

  • RAID
  • LLVM

Настрйока систем резервного копирования #

  • Bakula
  • Kopia
  • Conserve

Поддержание работоспособности, установка обновлений #

  • Поддержание локального репозитория для обновлений
  • Установка обновлений программ для решения проблем безопасности
  • Решение проблем в текущей конфигурации системы

Решение конкретных задач предприятия #

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

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

  • Учёт задач, стоящих перед сотрудниками
  • Учёт рабочего времени, потраченного сотрудниками
  • Вопросы бухгалтерского обслуживания организации
  • Вопросы управления затраченными контрактами
  • Управление репозиториями программного обеспечения
  • Управление и настройка системами непрерывной интеграции
  • Настройка репозиториев для хранения артефакторв системы
  • Настройка сред исполнения приложений

Настройка отдельной службы #

  • Обеспечение платформы для исполнения приложения
    • Работа приложения прямо в рамках операционной системы
    • Работа приложения в рамках виртуального или контейнерного окружения
    • Работа в рамках распределённой системы
  • Обеспечение работы систем хранения данных
    • СУБД
    • Хранилища бинарных артефактов
  • Обеспечение запуска и перезапуска необходимых служб
  • Реализация резервного копирования данных
  • Реализация восстановление данных из системы резервирования

Установка приложений из исходных кодов #

  • Компиляция приложений
    • C
    • C++
    • Rust
    • Go
  • Создание пакетов
    • Настройка локального сборочного окружения
    • Написание спецификации по сборке пакета
    • Публикация наработок в автоматизированную систему сборки
  • Создание пакетов для интерпретируемых языков

Настройка графического окружения #

  • Устройство графической подсистемы GNU/Linux
    • Драйвера в ядре ОС
    • Библиотеки для выполнения трёхмерного ускорения (OpenGL, Vulcan)
    • Графические сервера Xorg, Wayland
  • Менеджеры дисплеев
    • GDM
    • SDDM
    • LightDM
  • Графические окружения
    • GNOME
    • KDE
    • XFCE
    • Cinnamon
    • ….
  • Менеджеры окон
    • AwesomeWM
    • Sway

Настройка аудио #

  • Устройство подсистемы
  • ALSA
  • JACK
  • PulseAudio
  • PipeWire

Установка приложений для конечного пользователями #

  • Использование репозиториев дистрибутивов
  • Steam
  • Flatpak
  • Snap
  • AppImage