2

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

Я думаю, вы получили то, что я хочу.

Например, если вы отказываетесь подключиться, если отпечаток пальца не соответствует ожидаемому, MITM все еще работает?

Я постараюсь обновить этот вопрос, если идеи приходят мне в голову.

2 ответа2

5

обнаружить, что тебя обнюхивают

Это именно то, от чего защищает SSH. Пока вы тщательно проверяете ключ хоста, не имеет значения, кто-то читает ваш трафик: все это зашифровано.

отключение до раскрытия любой конфиденциальной информации

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

Например, если вы отказываетесь подключиться, если отпечаток пальца не соответствует ожидаемому, MITM все еще работает?

Злоумышленник не получит никаких "частных" данных SSH, если вы это имеете в виду. Смотрите выше - проверка ключа хоста - это одно из первых дел. Больше ничего не отправляется, пока сервер не проверен.

может быть, есть способ искажать данные, чтобы они не имели смысла или что-то в этом роде?

Это называется "шифрование" и является основной частью SSH. :) Злоумышленник не сможет ничего прочитать, если вы не примете его hostkey вместо реального. Точно так же шифрование наряду с проверкой целостности (используя HMAC) делает невозможным вставку пакетов.


Я признаю, что я не криптограф или что-то еще. Но ИМХО, если вы тщательно проверяете отпечаток ключа хоста, то SSHv2 настолько безопасен, насколько это возможно.

  • Если бы это не было безопасно, это было бы исправлено / заменено / модернизировано. Это произошло однажды: SSH v1 был заменен на SSH v2.

  • Это означает, что вы должны отключить SSH v1 как на сервере, так и на клиенте.

    Версия 1 SSH очень небезопасна, и хотя большинство клиентов настроены на использование SSHv2 в первую очередь, они все равно будут использовать версию v1, если сервер не предлагает версию v2. Это открывает возможность для атаки MITM ... хотя я не помню деталей, это как-то связано с тем, что злоумышленник генерирует ключ v1 с очень похожим отпечатком.

    Для OpenSSH поместите Protocol 2 в ваш конфигурационный файл.

  • Существует очень малая вероятность того, что один из алгоритмов, используемых SSH, не работает. Но если кому-то удастся сломать RSA или DH, у мира будут большие проблемы, о которых нужно беспокоиться, чем безопасность вашего сервера ... (Кроме того, существуют альтернативные алгоритмы.)


Кстати, OpenSSH v5.8 переключился с DH и DSA на ECDH и ECDSA в качестве своих основных алгоритмов (для обмена ключами и ключей хоста соответственно).

-1

SSH не в порядке, он склонен к атаке «человек посередине».

Microsoft делает такую «атаку» на ваше соединение, если между вами и сервером, к которому вы пытаетесь подключиться, существует межсетевой экран Forefront TMG. И это включает подделку сертификатов SSH.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .