5/5 - (1 голос)

Эта статья актуальна для компаний с множеством серверов. Как часто Вы привлекаете сторонние организации к выполнению части работ? Как много у Вас разработчиков, и администраторов, имеющих доступ к серверам? Если ответ часто и много, то читайте далее обязательно.

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

ЗАДАЧА:

  • Обеспечить контроль доступа пользователей (администраторов) к серверам. Выполнить разграничения прав. Полный доступ к серверу предоставить ограниченной группе.
  • Настроить логирования действий пользователей (администраторов) на каждом сервере.
  • Реализовать гибкое управление доступом ко всем серверам, т.е. предоставление доступа ко всем серверам и лишение прав пользователя в одной точке входа.

ВАРИАНТ РЕАЛИЗАЦИИ

На самом деле вариантов может быть множество, все зависит от специфики инфраструктуры, количества серверов, пользователей и решаемых задач. Мы рассмотрим один из возможных примеров.

Для реализации поставленной задачи предлагаем использовать LDAP сервер для разграничения и управления правами пользователей

 LDAP означает легковесный протокол доступа к каталогу (Lightweight Directory Access Protocol). Каталог — это специализированная база данных, созданная для частых запросов, но нечастых обновлений. LDAP обеспечит централизованное управление пользователями, хранение всех учетных записей пользователей в одном местонахождении. Так же на нем возможно более гибкое управление группами пользователей, группами серверов, sudo и командами, которые могут выполнять пользователи.
В качестве LDAP сервера можно использовать OpenLDAP. 

  • Выполняем установку и настройку OpenLDAP сервера (здесь будет выполняться подключение и отключение пользователей)
  • Настройка входов по ключу. В случае если LDAP сервер не будет доступен, сервера клиенты LDAP хранят в кеше, информацию о доступе пользователей.
  • Логирование действий пользователя на сервере будет производится в стандартном файле ~/.bash_history на клиент серверах

РЕАЛИЗАЦИЯ:

  1. Установка OpenLDAP на сервер с CentOS, который будет выступать в роли сервера аутентификации, настройка LDAP сервера и установка FusionDirectory (fork Gosa) для управления пользователями через WEB интерфейс.
  2. Подключаем доменное имя для LDAP сервера. Можно не использовать реальное доменное имя.
  3. Установка и настройка серверов-клиентов, подключение к LDAP, установка asciinema, /etc/ssh/sshd_config ForceCommand asciinema rec – данная система позволит сразу после логина пользователя в ssh — сохранять все что он вводил в консоли в json формате (настройка займет на каждого клиента по 25-30 минут).
  4. Тестирование работы установленных сервисов, дополнительная настройка системы.
  5. Разработка процедуры настройки клиента на сервере, для возможности дальнейшего применения на новых серверах.

Возникли вопросы? В таком случае, вы можете написать нам [email protected]