Назад | Перейти на главную страницу

Посредник веб-сервера для аутентификации с открытым ключом

Моя домашняя сеть в настоящее время находится за маршрутизатором DD-WRT, к которому я могу получить доступ, используя аутентификацию с открытым ключом. Когда мне нужно получить доступ к чему-либо из моей домашней сети, я могу просто создать SSH-туннель из маршрутизатора DD-WRT.

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

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

Можно ли создать безопасное решение (или доступны ли существующие службы), в котором я могу использовать веб-приложение (доступное через HTTPS) для доступа к моему маршрутизатору?

Я предполагаю, что веб-приложение должно иметь возможность создавать SSH-соединение с моим маршрутизатором DD-WRT. Для этого веб-приложению необходим доступ к моему закрытому ключу, поэтому он должен быть отправлен в веб-приложение.

Я могу представить себе пару сценариев, когда

Ни один из этих сценариев не заставляет меня чувствовать себя комфортно, но я недостаточно знаю о безопасности, чтобы сделать надлежащую оценку, и я хотел бы знать, есть ли более подходящие решения этой проблемы. (Если веб-приложение выступает в качестве посредника для такого рода связи по SSH от имени пользователя?)

Или это просто «не сделано».

В принципе, вы можете выбрать один из двух подходов:

  1. создать то, что обычно называют SSL VPN - веб-шлюз к службам, которые вам наиболее отчаянно нужны, которые будут шифровать через TLS и делать службы доступными через HTTP.

  2. используйте SSH-клиент, который «доступен», даже если вы сидите за чужим компьютером - например, апплет Java, например MindTerm.

Проблема аутентификации, с которой вы всегда будете сталкиваться при входе в систему с ненадежных компьютеров, может быть решена с помощью двухфакторной аутентификации или одноразовых паролей (или обоих) - взгляните на OPIE чтобы увидеть, как это можно сделать.

Есть несколько компаний, которые используют WebSSH, например SerFish, GotoSSH и SSHD.org. Некоторые позволят вам использовать закрытый ключ, а некоторые будут работать только с именем пользователя и паролем. Однако ни один из них не подходит, если вы не хотите передавать закрытый ключ.

Альтернативный вариант настройки веб-сервера в системе и использования клиента WebSSH, который вы можете установить в своей системе, например Ajaxterm или Webshell они дают вам дополнительное преимущество, заключающееся в том, что вам не нужно никому предоставлять свой закрытый ключ, и позволяют вам полностью контролировать безопасность, но имеют недостаток, заключающийся в необходимости настройки дополнительной безопасности на вашем веб-сервере.