Один из процессов безопасности, который мы думаем изменить, - это способ предоставления пользователям доступа к нашим серверам. У нас около 20 веб-серверов, единственный доступ к которым - SSH, и на данный момент мы используем аутентификацию по паролю. Поскольку аутентификация на основе ключей более безопасна, я должен подумать, как лучше всего управлять этим процессом.
Если у нас есть 8 удаленных пользователей, все используют разные машины, как мы можем контролировать аутентификацию с помощью ключа, поскольку каждой из этих машин потребуется ключ к серверу. Управление осуществляется на уровне клиента или сервера? Что происходит, когда пользователь меняет свой ноутбук или пытается удаленно подключиться с другого компьютера / места?
За исключением этого, мы смотрим на:
Изменение порта SSH. У нас уже отключен root. Ищете Google-Authenticator, использующий IP-адреса белого списка PAM для доступа к серверу? Безопасный SSH-сервер для переключения серверов?
Что-нибудь еще пропустили?
Каждый пользователь должен сгенерировать свою собственную пару ключей и предоставить вам копию открытого ключа, который вы поместите в соответствующий файл AuthorizedKeysFile (обычно ~ / .ssh / authorized_keys), или они могут поместить его в свой собственный файл ~ / .ssh / authorized_keys .
Они должны быть обязаны установить парольную фразу для закрытого ключа. Когда они меняют ноутбук, они просто берут с собой копию закрытого ключа (это простой текстовый файл).
Если у ваших пользователей есть смартфон, вы можете добавить двухэтапную аутентификацию (в любом случае, это хорошо), используя такую службу, как Дуэт (который довольно легко установить и настроить) или, поскольку вы не используете google auth.