1

Можно ли как-то (желательно легко) скрыть трафик ssh от пакета, проверяющего брандмауэр. Я подумал о том, чтобы встроить сессию ssh в безвредно выглядящий сеанс TLS. Я узнал, что это возможно с помощью socat, но я понятия не имею, как это запустить. У меня есть полный доступ администратора на клиенте и сервере ssh, но решение в пользовательском пространстве, конечно, было бы самым хорошим :-)

В случае, если кто-то знает о socat , вот что я попробовал (но мне также любопытны другие решения):

сервер:

socat OPENSSL-LISTEN:10000,fork,cipher=aNULL,verify=0 TCP-CONNECT:localhost:22

клиент:

ssh -o ProxyCommand='socat STDIO OPENSSL-CONNECT:%h:10000,cipher=aNULL,verify=0' theserver

serverlog:

socat[27898] E SSL_accept(): Success
socat[27897] E exiting on signal 11

clientlog:

socat[15953] E SSL_connect(): error:141640B5:SSL routines:tls_construct_client_hello:no ciphers available
ssh_exchange_identification: Connection closed by remote host

Согласно справочной странице, aNull не должен вызывать эту ошибку.

Обновление: благодаря гравитации туннель успешно установлен. После этого у меня возникли проблемы с обнаружением, что соединения с localhost были заблокированы (настроено в /etc/hosts.allow). Но сейчас работает нормально. Благодарю.

1 ответ1

2

Это обычно делается, да. (Хотя на стороне сервера чаще встречается stunnel.)

Тем не менее , ваша главная проблема - это cipher=aNULL , которую последние библиотеки TLS могут не принять. (Не говоря уже о том, что брандмауэры и IDS могут считать такое соединение очень необычным и подозрительным.)

Вместо этого используйте обычный TLS с проверкой подлинности на основе сертификата с самозаверяющим сертификатом:

openssl req -new -subj "/CN=ponies" -days 365 -extensions v3_req -x509 \
            -out tunnel.crt -newkey rsa:2048 -keyout tunnel.key -nodes

socat OPENSSL-LISTEN:10000,fork,cert=tunnel.crt,key=tunnel.key,verify=0 ...

(Это нужно сделать только на стороне сервера; по умолчанию клиенты не проходят проверку подлинности.)

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