ssh с дома на машину позади брандмауэра

Я предпочитаю устанавливать новый VMs от.ISO. Тем путем я могу настроить установку, главным образом путем игнорирования вещей, в которых я не буду нуждаться в VM. Тем путем у меня есть более компактная система. VMs все еще поднимают очень твердое дисковое пространство.

Для реального производственного использования я хотел бы использовать XEN, но это - определенно не легкий выбор. Даже при том, что существует некоторое мощное программное обеспечение управления XEN там, все еще необходимо выяснить который использовать. OSE Virtualbox намного легче, потому что он распределяется единственный пакет с простым GUI, чтобы настроить и управлять Вашим VMs. Таким образом для встречи "самых легких" критериев это должен быть Virtualbox.

2
задан 18 January 2011 в 23:46
4 ответа

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

Другими словами, Вы оказываетесь перед необходимостью оставлять ssh работающим на порте 22. Ваш лучший выбор, если Вы волнуетесь по поводу тех когда-либо трудолюбивых деточек сценария, состоит в том, чтобы просто отключить аутентификацию по паролю и всегда использовать ssh ключи. Это представит систему, в основном неуязвимую к основанным на пароле атакам перебором. Очевидно, не помогает, должен ли кто-то был обнаружить своего рода ssh уязвимость, которая могла бы быть использованной предварительной аутентификацией, но, вероятно, лучше, чтобы Вы собрались войти в свою ситуацию.

4
ответ дан 3 December 2019 в 08:33

Если дыра в брандмауэре находится на TCP/22, то что-то должно быть на TCP/22 для слушания соединений. Это может быть Вашим процессом sshd или чем-то еще. Хотя, если Вы хотите к ssh в него, не имея необходимость стучать в дверь сначала, Вы в значительной степени застреваете с наличием ssd слушающий на TCP/22.

Другая опция состоит в том, чтобы использовать сценарий дверного молотка некоторого вида. Я не использовал их прежде, я просто знаю, что они там. Имейте сервис, слушающий на TCP/22. Когда это получает правильную волшебную строку, это разгружает себя и поднимает SSHD на TCP/22 в течение X минут. Когда процесс SSH закрывает переикру дверного слушателя на TCP/22 и ожидает удара следующей двери.

Но в конце, защищая SSH должно быть достаточно хорошим. Полагайтесь на открытый ключ и отключите автора пароля, и весь scriptkiddiez может сделать, заполнить Ваши файлы журнала. Шумный, но безопасный вид.

4
ответ дан 3 December 2019 в 08:33

Другие ответы касаются этого вполне прилично, но я хотел упомянуть, что Вы могли использовать denyhosts на машине для сокращения воздействия бота. журналы denyhosts предпринятые запросы ssh, и если внешняя машина приводит к сбою слишком много раз его, блокируют тот IP-адрес vi/etc/hosts.deny. Таким образом, например, бот, который пробует к ssh в как пользовательский боб 100 раз, будет постоянно заблокирован после 5-й неудачной попытки (все эти параметры являются настраиваемыми).

Необходимо также применить хорошие ssh методы безопасности сервера, которые я уверен, покрыты подробно в других ответах serverfault. Отключите логины для корня. Отключите логины для всех кроме очень небольшого количества других авторизованных пользователей. Отключите логины пароля и позвольте только соединения SSH с открытым ключом.

2
ответ дан 3 December 2019 в 08:33

Туннель от работы, чтобы разместить, и сделать туннель, который позволяет Вам соединяться из дома..

A на работе, B дома. Вы хотите соединиться от B до A, но брандмауэр блокирует его. Вместо этого соединитесь от до B, создание туннеля въезжает задним ходом к серверу. Это предполагает, что Вы имеете ssh сервер, работающий дома, и открыли порт 22 на Вашем маршрутизаторе. Если Вашей домашней машиной является Mac или Linux, у Вас, вероятно, есть он выполнение; если окна, установка cygwin и настроенный sshd (ссылка).

На работе, помещенной это в Ваш .ssh/config файл:

host home
 hostname B      # replace with your FQDN or IP
 user homeuser   # user at home
 LocalForward 2222 localhost:22

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

while true; do ssh -n home sleep 600; sleep 3000; done &

Это запустит туннель, который длится десять минут, завершения, затем запустите другого в следующий час. Если существуют туннельные подключения, когда сон закончен, команда ssh ожидает их для окончания.
(сон 3000 не необходим; можно сохранить это открытым все время, это - просто некоторые предприятия, не любят видеть частые или долговечные постоянные соединения к внешним машинам),

Теперь, на домашней стороне, помещает это в Ваш .ssh/config файл:

host worktunnel
 hostname localhost
 user     workuser
 port     2222
 UserKnownHostsFile ~/.ssh/known_hosts.worktunnel

Сохраните его, и затем когда туннель произошел на Вашей домашней машине, можно просто ввести

ssh worktunnel

и Вы находитесь в.

Строка UserKnownHostsFile не необходима, но она предотвращает предупреждения при использовании нескольких туннелей с различными портами для различных хостов таким образом, localhost запись в значении по умолчанию known_hosts файл не будет соответствовать всем тем хостам.

Можно добавить несколько строк LocalForward к файлу конфигурации на A; например, LocalForward 2223 server2:22 # другой сервер с удаленным рабочим столом LocalForward ssh LocalForward 5900 qa:5900 # vnc LocalForward 3389 exchange:3389 # 3 128 internalProxy:3128 # для перемещения по внутренним узлам # и т.д.

(Для туннелирования X соединений используйте 'ssh-X', не LocalForward.)

Никакое изменение ssh номеров порта сервера не требуется здесь.

Обратите внимание, что этот вид удаленного доступа может быть против политик Вашей компании. Некоторые места сканируют или контролируют подобные соединения и могут дать Вам предупреждение об этом. Можно выполнить туннельную команду в течение пяти минут, сон для 55; или имейте сценарий на домашней машине, которая выходит сразу, когда Вам не нужен туннель. Logmein является другим бесплатным решением, которое работает приятно для предоставления удаленного доступа к (окна, Mac) рабочие столы позади брандмауэров

4
ответ дан 3 December 2019 в 08:33

Теги

Похожие вопросы