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

Устаревшие клиенты SSH во внутренних сетях

У меня есть несколько устаревших клиентов SSH в моей внутренней сети (например, Macintosh эпохи 2000 года и т.п.), которые полностью несовместимы с новыми шифрами и ключевыми алгоритмами, используемыми в современных реализациях SSH.

Чтобы заставить этих клиентов работать, требовалось добавить diffie-hellman-group1-sha1 к KexAlgorithms, и arcfour к Ciphers.

Я понимаю, что оба они ужасно, безнадежно сломаны с точки зрения шифрования.. К сожалению, рассматриваемый хост также имеет входящий доступ из Интернета, и я действительно действительно не хочу, чтобы эти дерьмовые шифры были включены, если я могу этого избежать, но это был самый быстрый способ вернуть моих клиентов в сеть.

У меня есть несколько вопросов о том, как уменьшить эту настройку:

Есть ли у sshd способ указать, что определенные адреса могут использовать определенные шифры?

Да. Простые примеры есть на Устаревшая страница OpenSSH. Коротко:

Host legacy.example.org
    KexAlgorithms +diffie-hellman-group1-sha1
    Ciphers +arcfour

Есть ли способ поставить сервер бастиона / прыжка перед клиентами, которым требуется слабое шифрование, а затем перенаправить это соединение на хост с более надежным шифрованием?

Да. Вы можете настроить старый сервер так, чтобы он принимал соединения только от сервера jumpbox, например, используя /etc/hosts.allow (tcp_wrappers). Например:

sshd: <IP/hostname of bastion>

Затем пользователи настроят ProxyCommand перепрыгнуть через jumpbox, Такие как

Host legacy.example.com
  ProxyCommand ssh -W %h:%p proxy.example.com