У меня есть прокси-сервер Ubuntu 10.04, подключенный к Интернету, и на нем есть SSH-сервер для управления им из внутренней локальной сети и удаленно. Это кажется просто небезопасным, даже если я использую надежные пароли ... Я думал об отключении ssh в Интернете, но тогда я потеряю функциональность. Есть ли обходной путь? Я ищу очень короткий список того, что необходимо сделать для повышения безопасности.
Есть еще 2 вещи, которые вы можете сделать для повышения безопасности ssh:
переключитесь на SSH-вход только с открытым ключом, как подробно описано здесь: Как настроить ssh для аутентификации с использованием ключей вместо имени пользователя / пароля?
тогда вы можете ограничить вход по SSH определенным IP, как подробно описано здесь: как ограничить вход по ssh определенным ip или хостом
если эти методы настроены правильно, то для входа кто-то должен подключиться с вашего IP-адреса с вашим файлом закрытого ключа
Ко всем этим ответам я бы хотел добавить только одно:
Fail2ban сканирует файлы журналов, такие как / var / log / pwdfail или / var / log / apache / error_log, и блокирует IP-адреса, которые приводят к слишком большому количеству сбоев пароля. Он обновляет правила брандмауэра, чтобы отклонить IP-адрес.
Вот (сломанный) график rrd для активных банов на моем сервере:
График Мунин с плагин fail2ban.
Помимо надежных паролей, вы можете сделать еще одну вещь - ограничить учетные записи, которые могут входить в систему.
в sshd_config:
AllowUsers myaccount
Также установите PermitRootLogin no.
Включите аутентификацию на основе ключей и отключите аутентификацию типа запрос-ответ / пароль. Это сделает его настолько безопасным, насколько это необходимо.
Кроме того, я гарантирую, что ваш iptables
правила разрешают доступ по SSH только с вашего собственного IP-адреса / диапазона (если это возможно).
В дополнение к приведенным выше ответам вы можете сделать следующее, чтобы еще больше защитить свой ssh-доступ:
Измените порт SSH по умолчанию
Обычно боты пытаются получить доступ к порту по умолчанию 22 / tcp и пытаются войти в систему с разными именами пользователей (root, admin и т. Д.). Эти атаки обычно не представляют проблемы, если вы используете надежные пароли или лучшие ключи и не разрешаете вход в систему с правами root.
Раздражает то, что неудачные попытки входа в систему засоряют ваши журналы безопасности, и если что-то случится, будет сложно найти правильную запись.
Включить блокировку портов
Блокировка портов - хорошая идея. Порт ssh по умолчанию закрыт, пока вы не постучите по одному или нескольким портам в правильном порядке. После этого порт ssh открывается автоматически, и вы можете войти в систему.
Обычно это кто-то уже реализовал ;-) Вот документация: https://help.ubuntu.com/community/PortKnocking
Подойдет ли вам отключение аутентификации по паролю и требование использования открытого ключа?
Вы также можете полностью отключить ssh, если у вас есть какое-либо решение для удаленного управления HW, например удаленная консоль (IBM RSA или HP ILO). Если у вас есть физически отдельные управляющие и производственные локальные сети, то взломать сервер, войдя в него, будет невозможно.