Вопрос: Я случайно запрещаю подключение SSH к удаленному серверу ... Что дальше?


Скажем так, мы все совершаем ошибки, и я только что сделал один.

Краткая история: я делал кое-что на VPS (Debian), я сдавал в аренду, когда я заметил какое-то странное поведение. Используя netstat Команда Я видел несанкционированное подключение через SSH. Я не знал, что делать, поэтому решил закрыть его соединение, используя iptables:

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Но я устал, и я написал

iptables -A INPUT -p tcp --dport ssh -j DROP

и я пнул себя (и всех остальных) ...

Как это исправить?


60
2018-04-22 14:42


Источник


возможный дубликат Можно ли SSH получить доступ к серверу с неправильно настроенной подсетью? - kasperd
нет, потому что он блокирует все ssh-пакеты на машине. в неверно настроенной подсети вы просто tcpdump для этого MAC-адреса, получите подсеть, в которую он входит, затем настройте виртуальный nic в одну и ту же подсеть и поговорите с ним. - jfalcon aka Don Fanning
Ну, вы, конечно же, удалили доступ для неавторизованного человека. - Michael Kjörling
В следующий раз, возможно, переключатель мертвого человека было бы удобно. - Wayne Conrad
Кто ваш хозяин? Многие хосты VM предлагают последовательную консоль, которая позволяет вам использовать SSH в тех случаях, когда вы не можете удалиться из удаленного места. - Frank


Ответы:


Существует несколько альтернатив:

  • Посмотрите, есть ли у них IPMI / «KVM» / консольный доступ к серверу, который позволяет вам управлять им, как если бы у вас была физическая клавиатура, подключенная к нему.
  • Если они этого не предлагают, посмотрите, можете ли вы загрузить виртуальную машину на CD с восстановлением Linux (некоторые провайдеры предлагают это), а затем исправляют правила брандмауэра таким образом, а затем загружают его, как обычно.
  • Если у вас нет доступа к консоли, перед загрузкой или восстановлением или добавлением тома в другую виртуальную машину (как в случае с Amazon, ответ пользователя user3550767), вы можете попробовать сначала перезагрузить Ankh2054, если вы не сохранили правила ( скорее всего, случай, когда вы выгнали себя, прежде чем у вас была возможность сэкономить). Используйте панель управления или попросите кого-нибудь задействовать ее, используя некачественный сброс / выключение питания (например, жесткую перезагрузку или жесткое завершение работы), если скрипт init автоматически сохраняет правила при грамотной перезагрузке (credit @jfalcon, @joshudson).

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


60
2018-04-22 14:44



в зависимости от сервера vps, возможно, не удастся получить доступ к удаленному доступу. системы, такие как vmware, kvm, xen и т. д., имеют консоли, но не настроены для общественного потребления. закрывает, что позволяет этой форме общественного контроля открывать. - jfalcon aka Don Fanning
что если он находится в пространстве amazon / google, он может сделать снимок диска и смонтировать его с другой виртуальной машины, чтобы выполнить исправление. - jfalcon aka Don Fanning


Если вы еще не сохранили правило IPtables, вы можете перезагрузить сервер на VPS (если доступно), и правило должно исчезнуть.


47
2018-04-22 14:47



если сценарий init не сохранит iptables во время выключения. - jfalcon aka Don Fanning
@jfalcon: Вот почему вы можете попросить их вытащить виртуальный вилку. - joshudson
@jfalcon Вот почему это плохая идея для автоматического сохранения при выключении ... сделать сохранение сознательного решения sysadmin, а не что-то слепое выполнение системой. - Michael Kjörling
@joshudson: Вы должны сказать обезьяне перезагрузки, что делать, и отключить питание. Не просто инициировать остановку. - jfalcon aka Don Fanning
@ MichaelKjörling: Эта философия также неверна. Это VPS, поэтому, вероятно, он изолирует свои приложения от песочницы, и у него нет контроля над тем, кто попадает в выключатель питания. И вы не представляете, как VPS-хостинг настроил свои сборки. Нет ничего плохого в экономии при выключении. Его ошибка была его ошибкой. Разумным движением в первую очередь было бы поставить SSH на нестандартный порт или использовать fail2ban вместо того, чтобы реагировать с запаникованной реакцией. - jfalcon aka Don Fanning


Для этого нужны линии помощи для персонала. Вызовите поставщика услуг и попросите одного из своих операторов удалить это правило для вас.


30
2018-04-22 15:55





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


3
2018-04-22 23:14



Истина для AWS VPS; обычно не верно. - MadHatter
@MadHatter Точные данные могут отличаться, но если поставщик VPS не предлагает какой-либо метод для загрузки с известным рабочим изображением, с которого вы можете смонтировать и исправить вашу корневую файловую систему, я бы ожидал, что они выйдут из бизнеса после того, как клиенты узнал об этом ограничении. - kasperd
Обычно они делают это, предлагая консольный доступ, поэтому вы можете загружаться в однопользовательском режиме или на спасательном носителе (обычно абстрагированном как ISO). Я утверждаю, что это на самом деле гораздо более нормальное явление, чем необычный способ AWS справиться с этой проблемой, когда второй VPS (временно) требует. - MadHatter
@MadHatter Какой из двух подходов кажется странным, может очень сильно зависеть от того, с чем вы наиболее знакомы. И любой из этих подходов выполняет свою работу. Какой из них наиболее распространен, я не могу прокомментировать, так как пока мне нужен только такой доступ к одному провайдеру VPS. - kasperd
@kasperd: Нет, который вы используете, зависит от того, какой поддерживает данный поставщик VPS; это не вопрос выбора. Если вы используете AWS, вы устанавливаете том на другой VPS; если вы используете более обычного поставщика VPS, вы загружаете однопользовательский или со спасательного носителя. Я не считаю, что это хуй (ну, не совсем), но потому что важно понять, что нужно выяснить, какие методы поддержки у провайдера, а затем использовать их. Попытка использовать метод AWS, например, с помощью Hetzner просто не будет работать, потому что один из наблюдателей Хетзнера не может видеть чужие ФС (афаик). - MadHatter


Формальный ответ: перейдите на панель управления VPS, получите локальный доступ (виртуальный KVM) или вызовите их.

Объяснение шагов / правил, чтобы предотвратить падение для него снова:

  1. Существуют правила IP, маршрутизации и брандмауэра, которые могут испортиться и заблокировать ваш доступ.
  2. и это относится также к специализированной конфигурации сетевых устройств, а не только к VPS

Поэтому, если вы на 100% не уверены, что сможете восстановить. Я рекомендую всегда делать способ сбросить конфигурацию сети в прежнее состояние. Например, открыть фоновый сеанс с помощью screen, nohup, или tmux, даже cron могут работать для этого и добавить iptables -F или другие желаемые средства для сброса чего-либо в предыдущее состояние.


3
2018-04-23 10:33