Я собираюсь развернуть машину Linux как своего рода общедоступный терминал в удаленном месте. Я хотел бы иметь возможность удаленного доступа к нему через SSH для технического обслуживания, но я не хочу оставлять порт на удаленном брандмауэре открытым в тех редких случаях, когда мне нужен доступ к этой машине. Хотя у меня есть простой сценарий для создания обратного туннеля SSH к машине снаружи, но я бы предпочел не требовать, чтобы пользователь что-то делал, когда мне нужен доступ к нему. Любые идеи?
Обновление: я решил пойти с моим первоначальным планом сценария для создания обратного туннеля SSH. В то время как другие предлагаемые решения, такие как стук портов, были бы в большей степени похожи на то, что я действительно хочу сделать, в этом случае у меня нет никакого доступа для настройки маршрутизатора, кроме как пройти пользователя через конфигурацию. содрогаться
источник
Ответы:
Если об изменении маршрутизатора совершенно не может быть и речи, вам может понадобиться решение P2P или VPN, такое как Hamachi . Если вы настроите систему на автоматическое установление VPN-соединения при запуске, то вы сможете подключиться, когда вам это нужно. Hamachi делает все переговоры по брандмауэру за вас. Единственный недостаток - вы должны полагаться на работоспособность и работоспособность серверов Hamachi при подключении.
Если у вас есть постоянно работающий сервер, вы можете настроить autossh так, чтобы удаленная система всегда оставляла туннель открытым и подключенным к вашему серверу. Единственный недостаток заключается в том, что удаленная система скомпрометирована, и злоумышленник получит ключи, которые использовались для установки сеанса ssh. Было бы очень важно сохранить вашу систему, которая принимает соединение ssh, действительно заблокированной.
Ниже мой оригинальный ответ, я предположил, что обновление маршрутизатора было вариантом.
Одним из решений, которое вы, возможно, захотите исследовать, если ваш брандмауэр поддерживает это, является стук портов . В некоторых брандмауэрах должна быть возможность отправлять специальный набор пакетов, которые брандмауэр замечает, а затем временно открывает дыру в брандмауэре.
Есть много реализаций, некоторые из которых лучше, чем другие. Некоторые используют сильную криптографию, чтобы сделать практически невозможным для человека без правильных ключей послать правильный стук.
источник
Я бы не стал беспокоиться о том, чтобы оставить порт 22 доступным для Интернета, но я бы предпринял некоторые шаги для его обеспечения.
Во-первых, отключите интерактивную аутентификацию клавиатуры и перейдите к ssh-ключам.
Во-вторых, установите что-то вроде fail2ban на своем удаленном сервере для IP-адресов blackball, которые повторно проверяют вашу машину. Поскольку у вас есть настроенные ключи ssh, авторизованным пользователям не должно быть ошибок аутентификации.
В качестве альтернативы, если у вас есть возможность, прислушайтесь к совету WerkkreWs и настройте межсетевой экран перед машиной, чтобы разорвать соединение vpn, затем разрешите только демону ssh на удаленном сервере принимать соединения, проходящие через этот vpn.
В качестве альтернативы, если ваш брандмауэр не может разорвать соединение vpn, вы, вероятно, можете переслать пакеты GRE или IPSEC на свой Linux-компьютер и завершить его там.
источник
Похоже, вы ищете нокдаун
Вы можете установить это на самом сервере Linux с iptables, чтобы он был как брандмауэр 2-го уровня. Даже если порт 22 открыт на брандмауэре внешнего интерфейса, он не будет открыт на сервере, поэтому порты не будут видеть никаких открытых портов. Затем, когда вы отправляете «секретный стук», у вас внезапно появляется открытый путь к порту 22.
Имеет ли это смысл?
источник
Подводя итог всем ответам:
используйте ssh, но сделайте его более неясным и безопасным.
Для безопасности:
Для неизвестности:
источник
Запланированное задание - сценарий для обратного туннеля SSH или откройте порт брандмауэра.
Если вы беспокоитесь о том, что SSH открыт для всего мира, вы можете запланировать задачу, когда у вас будет период обслуживания со сценариями iptables и только тогда будет доступен порт.
источник
Загляните в порт, чтобы открыть свой SSH-туннель.
Кроме того, запустите denyhosts, чтобы заблокировать людей после слишком большого количества плохих запросов.
Оба пакета доступны в стандартных репозиториях Ubuntu, Fedora и RHEL.
источник
Идите вперед и откройте порт, просто сделайте его за пределами нормального диапазона. Я бы выбрал случайный порт на 1024. Таким образом, хакеры вряд ли будут его искать.
источник
Нет причин не засовывать дыру в брандмауэре, если вам нужен удаленный доступ к машине, хотя и редко.
Однако, если вы все еще не хотите (или не можете) открыть порт, простой сценарий оболочки может отслеживать доступный интернет-ресурс, которым вы управляете, и прислушиваться к команде запуска обратного туннеля. Учетные записи электронной почты, IRC-каналы и веб-страницы сразу приходят на ум в качестве триггерных устройств.
Конечно, это намного более хрупко и менее безопасно, чем просто открывать порт. Но я уверен, что у тебя есть свои причины.
источник