Безопасно ли использовать SSH к компьютеру, когда я пользуюсь незащищенной сетью Wi-Fi в общественных местах? Машина также будет размещена за маршрутизатором.
3 ответа
Несколько вещей, о которых нужно знать:
Атаки грубой силы против вашего SSH-сервера
Если вы запускаете общедоступный SSH-сервер, вы можете проверить файлы журналов, чтобы узнать, постоянно ли кто-либо пытается к нему подключиться. Они могут пытаться "взломать" ваш пароль или использовать SSH-сервер каким-либо другим способом. Возможно, было бы неплохо переместить сервер SSH на какой-либо другой порт (а не порт по умолчанию для порта 22), хотя это может вызвать проблемы, если люди специально пробьют дыры в брандмауэре для SSH. (делая порт 443 популярным выбором, если машина не является также сервером HTTPS)
Еще одна стратегия для смягчения атак методом "грубой силы" состоит в том, чтобы ограничить входящие соединения с вашим SSH-сервером (вы можете легко сделать это в Linux с помощью чего-то вроде ufw
или любого другого инструмента брандмауэра, используемого вашей платформой)
Атаки "человек посередине"
При первом подключении к вашему SSH-серверу он сообщит отпечаток ключа вашему SSH-клиенту, который его кеширует. Внимательно проверьте отпечаток пальца. SSH предупредит вас страшным сообщением об ошибке, если это когда-либо изменится. Если это произойдет, обратите на это внимание! Вы также можете получить эту ошибку, если повторно создаете образ сервера и генерируется новый ключ.
Аутентификация с открытым ключом
SSH поддерживает аутентификацию с открытым ключом. Это означает, что вы можете сгенерировать пару открытых / закрытых ключей, где вы локально храните закрытый ключ + фразу-пароль, и сервер знает, что ваш открытый ключ (связанный с этим закрытым ключом) авторизован для подключения. Это позволяет вам отделить ваш пароль от вашей аутентификации. (если кому-то удастся совершить атаку «человек посередине» или каким-либо другим способом скомпрометировать ваш сервер или удастся получить кейлоггер на вашем клиенте, ему все равно понадобится ваш закрытый ключ) Помимо преимуществ безопасности, это также удобнее, потому что обычно вам не нужно вводить пароль при каждом подключении. (вы просто вводите парольную фразу один раз, когда кешируете свой закрытый ключ)
Это будет так же безопасно, как (1) ваша реализация sshd и (2) ваш маршрутизатор. Вообще-то да.
В общем да. Я бы предложил использовать собственный компьютер вместо чужого и использовать сгенерированный ключ, а не пароль. В целом, эти двое обеспечивают достаточно хорошую безопасность.
Обратите внимание, что вы должны пересылать только необходимые порты.