Домашняя » как » Насколько рискованно запускать домашний сервер, защищенный SSH?

    Насколько рискованно запускать домашний сервер, защищенный SSH?

    Когда вам нужно открыть что-то в своей домашней сети для большого интернета, SSH-туннель является достаточно безопасным способом сделать это?

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Читатель SuperUser Альфред М. хочет знать, находится ли он на правильном пути с безопасностью соединения:

    Недавно я установил небольшой сервер с компьютером низкого уровня, на котором запущен Debian, с целью использования его в качестве личного репозитория git. Я включил ssh и был довольно удивлен быстротой, с которой он пострадал от атак грубой силы и тому подобного. Затем я прочитал, что это довольно часто, и узнал об основных мерах безопасности, чтобы отразить эти атаки (множество вопросов и дубликатов на сервере имеют дело с этим, см., Например, этот или этот).

    Но теперь мне интересно, стоит ли все это усилий. Я решил настроить свой собственный сервер в основном для развлечения: я мог просто положиться на сторонние решения, такие как предлагаемые gitbucket.org, bettercodes.org и т. Д. В то время как часть забавы связана с изучением безопасности в Интернете, я не достаточно времени, чтобы посвятить его тому, чтобы стать экспертом и быть почти уверенным, что я принял правильные меры профилактики.

    Чтобы решить, буду ли я продолжать играть с этим игрушечным проектом, я хотел бы знать, чем я действительно рискую при этом. Например, в какой степени другие компьютеры, подключенные к моей сети, также представляют угрозу? Некоторые из этих компьютеров используются людьми с еще меньшими знаниями, чем у меня под управлением Windows.

    Какова вероятность того, что у меня возникнут реальные проблемы, если я буду следовать основным рекомендациям, таким как надежный пароль, отключенный доступ с правами root для ssh, нестандартный порт для ssh и, возможно, отключение входа с паролем и использование одного из правил fail2ban, denyhosts или iptables?

    Другими словами, есть ли какие-то большие плохие волки, которых я должен бояться, или это все в основном из-за того, что они прогоняют сценаристов??

    Должен ли Альфред придерживаться сторонних решений или его безопасное решение?

    Ответ

    Участник SuperUser TheFiddlerWins заверяет Альфреда, что это довольно безопасно:

    IMO SSH - одна из самых безопасных вещей, которую можно слушать в открытом Интернете. Если вы действительно обеспокоены, прослушайте его на нестандартном порте высокого класса. Я бы все еще имел брандмауэр (на уровне устройства) между вашей коробкой и реальным Интернетом и просто использовал бы переадресацию портов для SSH, но это предосторожность против других сервисов. Сам SSH довольно чертовски тверд.

    я иметь когда люди иногда заходили на мой домашний SSH сервер (открытый для Time Warner Cable). Никогда не имел реального воздействия.

    Другой участник, Стефан, подчеркивает, насколько легко обеспечить дополнительную безопасность SSH:

    Настройка системы аутентификации с открытым ключом с помощью SSH очень проста и занимает около 5 минут..

    Если вы заставите все соединения SSH использовать его, то это сделает вашу систему настолько же устойчивой, насколько вы можете надеяться, не вкладывая ЛОТ в инфраструктуру безопасности. Честно говоря, это настолько просто и эффективно (если у вас нет 200 учетных записей - тогда это становится грязным), что не использовать его должно быть публичным преступлением.

    Наконец, Крейг Уотсон предлагает еще один совет, чтобы минимизировать попытки вторжения:

    Я также использую персональный сервер git, открытый для всего мира по SSH, и у меня есть те же проблемы с перебором, что и у вас, поэтому я могу сочувствовать вашей ситуации.

    TheFiddlerWins уже рассматривает основные последствия для безопасности, связанные с открытием SSH на общедоступном IP-адресе, но лучшим средством IMO в ответ на попытки перебора является Fail2Ban - программное обеспечение, которое отслеживает ваши файлы журнала аутентификации, обнаруживает попытки вторжения и добавляет правила брандмауэра в машина локальнаяIptables брандмауэр. Вы можете настроить как количество попыток до бана, так и продолжительность бана (по умолчанию 10 дней).


    Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.