Отклонить ssh-соединения из прокси

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

  1. Я могу войти в прокси-сервер региона.
  2. Я предлагаю этот URL как сайт для посещения.
  3. Теперь я в прокси-сервере региона, и я тоже могу войти на сервер.

Есть ли способ отклонить такие обходные попытки в iptables ? Я рассматриваю это как довольно опасную проблему безопасности.

Этот вопрос выглядит очень смущенным, но я думаю, что путаница является частью вопроса, поэтому я постараюсь предоставить достаточно информации, чтобы прояснить ситуацию.

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

http://www.freeproxy.ca/ перечисляет HTTP-прокси. Они не полезны для соединений SSH.

http://www.serfish.com/console/ – это машина, на которой запущен SSH-клиент, который запускается из общедоступного веб-интерфейса. Если вы используете веб-браузер для подключения к serfish и запускаете SSH-клиент там, то, насколько это касается сервера SSH, ваше соединение происходит от serfish, полная остановка. Сервер SSH не знает, что клиент SSH управляется кем-то, кто физически не находится в центре обработки данных, где размещен серфин. Обратите внимание, что не имеет значения, имеете ли вы доступ к serfish прямо через HTTP или через HTTP-прокси; сервер SSH не имеет никакого способа узнать об этом.

В общем, сервер может знать только о последнем прыжке, который используется для подключения к нему. Это проблема безопасности? Да, но вряд ли опасно. Фильтрация соединений по географическому происхождению не может быть надежной; любой умеренно компетентный системный администратор знает это. Географическое происхождение может дать представление о подозрительности связи, но это не может быть единственным фактором. Есть машины, зараженные вредоносными программами и используемые в качестве ретрансляторов по всему миру.

Безопасность SSH не зависит от географического происхождения соединений. Фильтрация по географическому происхождению осуществляется только для двух целей:

  • Для распространения контента, чтобы ограничить то, что могут сделать нетехнические 95% аудитории (установка прокси требует копать дальше, чем большинство желающих сделать) и сделать вещи немного более неудобными для технических 5% (прокси должны оплачиваться или искать, а также снижать производительность).
  • Как намек на то, что соединение с учетной записью происходит из необычного места – но это обычно делается на более тонком уровне, чем страна, которая слишком широка, чтобы дать очень полезный намек. Некоторые системы используют это, чтобы решить, нужно ли требовать второй коэффициент аутентификации.

Откидной стороной от невозможности отслеживать конечное происхождение SSH (или любого) соединения является то, что возможна некоторая конфиденциальность.

Таким образом, это можно сделать при использовании HTTP путем поиска определенных заголовков от клиента, таких как:

 HTTP_CLIENT_IP HTTP_X_FORWARDED_FOR HTTP_FORWARDED_FOR HTTP_FORWARDED 

Но AFAIK, аналогичные заголовки и методы для SSH не существуют.

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