Управление доступом
Панель управления
В Selectel вы можете управлять доступом пользователей к инфраструктуре. Для этого используется система управления идентификацией и контролем доступа (Identity and Access Management, IAM), которая проверяет каждый запрос и гарантирует, что операции с ресурсами выполняют только пользователи с соответствующими правами.
Права доступа пользователей к ресурсам устанавливаются на уровне типов и ролей пользователей. Только пользователи с ролью Владелец аккаунта или Администратор пользователей могут добавлять пользователей и изменять их данные и роли. Чтобы упростить управление пользователями, можно объединить их в группы.
По умолчанию для всех пользователей после регистрации и заполнения профиля подключается двухфакторная аутентификация. При двухфакторной аутентификации для входа в аккаунт нужно ввести пароль и одноразовый код подтверждения. Код подтверждения можно получать через приложение-аутенитификатор или в СМС на номер телефона, который вы указали в профиле. Двухфакторную аутентификацию может отключить только Владелец аккаунта. Мы не рекомендуем отключать двухфакторную аутентификацию, чтобы избежать рисков, связанных с компрометацией учетной записи.
Также можно настроить аутентификацию в панели управления с помощью технологии единого входа — Single Sign-On (SSO). Для этого используйте федерации удостоверений — централизованный сервис для управления организационной структурой, настройки интеграции с каталогом сотрудников и контроля доступа пользователей к ресурсам компании. При использовании федерации данные пользователей хранятся у вашего поставщика удостоверений — Identity Provider (например, Keycloak, ADFS и другие SAML-совместимые поставщики).
По умолчанию доступ к панели управления разрешен с любых IP-адресов. Однако Владелец аккаунта и Администратор пользователей могут установить ограничения — пользователи смогут входить в аккаунт только с IP-адресов и подсетей, которые добавили в список разрешенных.
Если необходимо с кем-то поделиться доступом к панели управления или к ресурсам, не передавайте свои данные. Владелец аккаунта и Администратор пользователей могут создать дополнительного пользователя для доступа к панели управления или сервисного пользователя для программного доступа, подробнее в инструкции Типы и роли пользователей.
Облачные и выделенные серверы
К облачным серверам можно подключиться через консоль в панели управления, а к выделенным серверам — через KVM-консоль. Если вы подключаетесь к серверу через другие CLI, чтобы обеспечить безопасный удаленный доступ к инфраструктуре, подключайтесь к серверу:
- по протоколу SSH — если у вас сервер с ОС Linux;
- или по протоколу RDP — если у вас сервер с ОС Windows.
Настроить подключение по SSH
Для безопасного подключения к облачному или выделенному серверу с ОС Linux вместо логина и пароля используйте SSH-ключи. Это пара ключей: приватный ключ и публичный ключ. Приватный ключ хранится на локальном компьютере, а публичный размещается на сервере. После настройки подключения по SSH и отключения доступа по паролю к серверу смогут подключиться только устройства, на которых хранится приватный ключ, и сервер будет защищен от атак методом прямого перебора пароля (bruteforce).
Для каждого администратора нужно создать пару SSH-ключей и разместить публичный ключ на облачном или выделенном сервере. При создании ключа для дополнительной защиты укажите кодовую фразу (passphrase).
После создания SSH-ключей создайте пользователя и настройте SSH-подключение — при создании сервера с помощью user data или для созданного сервера через CLI. Если вы используете серверы с публичным IP-адресом, наиболее безопасная стратегия — настройка параметров безопасности на этапе создания сервера с помощью user data.
- User data
- CLI
Вы можете указать 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-пользователя, включают аутентификацию по ключу.
Пример настройки для ОС Linux c установленным файрволом Uncomplicated Firewall (UFW).
-
Откройте CLI.
-
Создайте пользователя
admin
:sudo useradd -m -G sudo -s /bin/bash admin
sudo useradd -m -G sudo -s /bin/bash admin
-
Создайте каталог
.ssh
в домашнем каталоге созданного пользователя и перейдите в него:mkdir /home/admin/.ssh
cd /home/admin/.sshmkdir /home/admin/.ssh
cd /home/admin/.ssh -
Создайте файл
authorized_keys
:touch authorized_keys