Перейти к основному содержимому
Управление доступом

Управление доступом

Панель управления

В Servercore вы можете управлять доступом пользователей к инфраструктуре. Для этого используется система управления идентификацией и контролем доступа (Identity and Access Management, IAM), которая проверяет каждый запрос и гарантирует, что операции с ресурсами выполняют только пользователи с соответствующими правами.

Права доступа пользователей к ресурсам устанавливаются на уровне типов и ролей пользователей. Только пользователи с ролью Владелец аккаунта или Администратор пользователей могут добавлять пользователей и изменять их данные и роли. Чтобы упростить управление пользователями, можно объединить их в группы.

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

Также можно настроить аутентификацию в панели управления с помощью технологии единого входа — Single Sign-On (SSO). Для этого используйте федерации удостоверений — централизованный сервис для управления организационной структурой, настройки интеграции с каталогом сотрудников и контроля доступа пользователей к ресурсам компании. При использовании федерации данные пользователей хранятся у вашего поставщика удостоверений — Identity Provider (например, Keycloak, ADFS и другие SAML-совместимые поставщики).

По умолчанию доступ к панели управления разрешен с любых IP-адресов. Однако Владелец аккаунта и Администратор пользователей могут установить ограничения — пользователи смогут входить в аккаунт только с IP-адресов и подсетей, которые добавили в список разрешенных.

Если необходимо с кем-то поделиться доступом к панели управления или к ресурсам, не передавайте свои данные. Владелец аккаунта и Администратор пользователей могут создать дополнительного пользователя для доступа к панели управления или сервисного пользователя для программного доступа, подробнее в инструкции Типы и роли пользователей.

Облачные и выделенные серверы

К облачным серверам можно подключиться через консоль в панели управления, а к выделенным серверам — через KVM-консоль. Если вы подключаетесь к серверу через другие CLI, чтобы обеспечить безопасный удаленный доступ к инфраструктуре, подключайтесь к серверу:

Настроить подключение по SSH

Для безопасного подключения к облачному или выделенному серверу с ОС Linux вместо логина и пароля используйте SSH-ключи. Это пара ключей: приватный ключ и публичный ключ. Приватный ключ хранится на локальном компьютере, а публичный размещается на сервере. После настройки подключения по SSH и отключения доступа по паролю к серверу смогут подключиться только устройства, на которых хранится приватный ключ, и сервер будет защищен от атак методом прямого перебора пароля (bruteforce).

Для каждого администратора нужно создать пару SSH-ключей и разместить публичный ключ на облачном или выделенном сервере. При создании ключа для дополнительной защиты укажите кодовую фразу (passphrase).

После создания SSH-ключей создайте пользователя и настройте SSH-подключение — при создании сервера с помощью user data или для созданного сервера через CLI. Если вы используете серверы с публичным IP-адресом, наиболее безопасная стратегия — настройка параметров безопасности на этапе создания сервера с помощью user data.

Вы можете указать user data для облачного и выделенного сервера.

Пример создания пользователя и настройки SSH-подключения с помощью user data для Ubuntu 24.04 LTS 64-bit.

#cloud-config
users:
- name: admin
sudo: ['ALL=(ALL) NOPASSWD:ALL']
groups: sudo
shell: /bin/bash
lock_passwd: true
ssh_authorized_keys:
- <<public_ssh_key> admin@test
ssh_pwauth: false

package_update: true

packages:
- ufw

runcmd:
- sed -i 's/^#Port 22/Port 2222/' /etc/ssh/sshd_config
- sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
- sed -i 's/^PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config
- sed -i 's/^#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config
- systemctl restart ssh
- ufw allow 2222/tcp
- ufw --force enable
- reboot

Здесь:

  • name: admin — создается пользовательadmin;
  • sudo: ['ALL=(ALL) NOPASSWD:ALL'] — позволяет пользователю выполнять команды через sudo без запроса пароля;
  • groups: sudo — добавляет пользователя в группу sudo;
  • lock_passwd: true — блокирует вход по паролю для пользователя admin;
  • <public_ssh_key> admin@test в разделе ssh_authorized_keys — добавляет публичный SSH-ключ, который вы создали ранее. Начинается с ssh-rsa.
  • ssh_pwauth: false — отключает возможность входа по паролю для всех пользователей. Доступ к серверу будет возможен только через SSH-ключ, а вход по паролю будет полностью отключен;
  • package_update: true  — обновляет apt-библиотеку;
  • packages: ufw — устанавливает файрвол UFW (Uncomplicated Firewall), который нужен для ограничения доступа к SSH-порту;
  • команды с sed -i в разделе runcmd — изменяют стандартный порт 22 на 2222, запрещают вход по паролю и подключение root-пользователя, включают аутентификацию по ключу.

Рекомендации по использованию RDP-подключения

Чтобы безопасно подключаться по RDP к облачному или выделенному серверу с ОС Windows, не используйте публичный IP-адрес. Мы рекомендуем использовать для доступа к таким серверам VPN — например, OpenVPN, WireGuard или IKEv2/IPsec. Для этого размещайте серверы в приватных подсетях, которые доступны через отдельный VPN-шлюз, или разверните VPN-шлюз на этом же сервере.

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

Дополнительные инструменты безопасности

Чтобы защитить серверы от несанкционированного доступа, мы рекомендуем использовать дополнительные инструменты безопасности. Примеры бесплатных инструментов:

Managed Kubernetes

В кластере Managed Kubernetes можно управлять доступом к виртуальным ресурсам с помощью механизма RBAC Authorization (RBAC). RBAC позволяет распределить роли пользователей — создать разные пространства имен для разных приложений и настроить доступ пользователей к подам в соответствующем пространстве имен.

Облачные базы данных

Во всех СУБД, кроме Redis, можно управлять пользователями баз данных и их привилегиями. Подробнее в инструкциях PostgreSQL, PostgreSQL для 1C, PostgreSQL TimescaleDB, MySQL semi-sync, MySQL sync и Kafka.

Для СУБД Redis автоматически создается один пользователь. Пароль для этого пользователя задается при создании кластера, после создания кластера его можно изменить.

Объектное хранилище

Доступ к ресурсам объектного хранилища регулируется:

При получении запроса на действие в объектном хранилище сначала проверяется доступ по ролевой модели. Если ролевая модель разрешает доступ, проверяется политика доступа, если нет — доступ запрещается. С политикой доступа запрещено все, что не разрешено правилами политики.

Для доступа через API или по FTP выдайте ключи.

Для обращения к объектам в контейнере через собственный домен по HTTPS нужно добавить сертификат TLS (SSL). Выпустить сертификат можно у любого провайдера. Управлять сертификатами можно через панель управления.