24

Продолжение названия будет «при ограниченных знаниях в области безопасности Интернета».

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

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

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

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

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

5 ответов5

14

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

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

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

MaxStartups 2:30:10

в /etc /ssh /sshd_config, который ограничит количество соединений, которые могут быть созданы подряд, прежде чем войти в систему.

10

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

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

8

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

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

2

Другой способ справиться с этим - настроить VPN. Вместо того, чтобы напрямую подключаться к портам SSH на домашнем сервере, вы сначала подключаетесь к VPN, а затем пропускаете весь трафик через зашифрованное безопасное соединение.

Идеальный способ справиться с этим - использовать брандмауэр, который включает в себя конечную точку VPN, но вы также можете настроить компьютер под управлением Windows в качестве сервера VPN.

Вот пример:

http://www.howtogeek.com/135996/

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

Таким образом, если ваш сервер взломан, его нельзя использовать как вектор для атаки на другие ваши компьютеры.

Таким образом, установка будет выглядеть так:

Конфигурация DMZ

2

Ответы очень хорошие, я бы порекомендовал только две вещи:

  • Рассмотрим доступ только по системе аутентификации ключей
  • Использовать Denyhosts: он запретит хостам, пытающимся получить доступ к вашему серверу с недействительной авторизацией

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