Часто мне нужно ssh с компьютеров, которые не являются моими, поэтому по соображениям безопасности я хотел бы иметь возможность создать ключ ssh, срок действия которого истекает после одного входа в систему. Кроме того, было бы полезно, если бы я мог получить их с моего веб-сервера, введя пароль. Не уверен в том, насколько хорошо будет работать аспект веб-сервера, потому что это, вероятно, создаст целый новый набор угроз безопасности, но даже возможность создания одноразовых ключей ssh будет полезна. Если кто-то может помочь с этим, я был бы очень признателен.
2 ответа
Идея интересная и не займет много времени для реализации. Служба может генерировать обычный ключ RSA или ECDSA (используя ssh-keygen
или openssl
), добавлять открытую часть к authorized_keys
ключу (с комментарием «auto-expire»), и ваш ~/.profile
или sshrc
может автоматически очищать такие ключи после входа в систему.
Однако это не даст вам никаких преимуществ в плане безопасности, поскольку вам все равно придется проходить аутентификацию, на этот раз для веб-сайта, используя, по-видимому, то же имя пользователя и пароль в виде простого текста, которые вы бы дали SSH ...
Даже если вы используете SSL, чтобы избежать передачи пароля в виде простого текста, веб-сайт все еще остается немного менее безопасным, чем прямой вход по SSH; вам нужно будет получать и периодически обновлять проверенный сертификат SSL, чтобы избежать атак MitM, и это не так просто, как просто носить отпечаток SSH в вашем кармане.)
Прежде чем вы предложите использовать какую-либо OTP-аутентификацию для веб-сайта, я хочу отметить, что вы можете использовать OTP и для SSH-соединений. В частности, Google Authenticator поставляется с модулем PAM для вашего сервера и приложениями-генераторами OTP для большинства популярных мобильных телефонов. Другой сервис, Duo Security, использует телефонный звонок для аутентификации. Наконец, существуют также отдельные модули, такие как OPIE.
Так как же убедиться, что доступ к веб-серверу безопасен?
Система одноразовых паролей, разработанная Кембриджским университетом: http://www.cl.cam.ac.uk/~mgk25/otpw.html