Поиск по сайту:

5 лучших практик по предотвращению атак методом перебора входа в систему SSH в Linux


В современном мире технологий безопасность имеет первостепенное значение. Крайне важно защитить наши системы от несанкционированного доступа, и один из наиболее распространенных способов получения несанкционированного доступа к системе Linux — это атака методом перебора входа в систему по SSH. SSH (Secure Shell) — это сетевой протокол, используемый для безопасного доступа к удаленным системам и управления ими. В этой статье мы обсудим 5 лучших методов предотвращения атак методом перебора входа в систему SSH в Linux.

Используйте надежные пароли

Первым и главным шагом в обеспечении безопасности вашего SSH-сервера является использование надежных паролей. Надежные пароли должны иметь длину не менее 8 символов и состоять из прописных и строчных букв, цифр и специальных символов. Избегайте использования легко угадываемых паролей, таких как «пароль123» или «admin123», которые можно легко взломать с помощью грубой силы.

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

Используйте аутентификацию с открытым ключом

Аутентификация с открытым ключом — более безопасный метод входа на SSH-сервер, чем использование пароля. Этот метод предполагает создание пары открытого и закрытого ключей, при этом открытый ключ хранится на сервере, а закрытый ключ надежно хранится на вашем локальном компьютере.

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

Чтобы использовать аутентификацию с открытым ключом, вы можете сгенерировать пару ключей с помощью команды ssh-keygen на своем локальном компьютере. Затем скопируйте открытый ключ в файлauthorized_keys сервера. После этого вы можете войти на сервер, используя свой приватный ключ.

Изменить порт SSH по умолчанию

По умолчанию SSH-серверы прослушивают порт 22, который хорошо известен злоумышленникам. Изменение порта по умолчанию на случайный или нестандартный порт может затруднить злоумышленникам поиск вашего SSH-сервера и запуск атаки методом перебора.

Чтобы изменить порт SSH по умолчанию, вам необходимо изменить файл конфигурации SSH-сервера, обычно расположенный в /etc/ssh/sshd_config. Найдите строку, в которой указан номер порта, и измените ее на другое значение. После этого перезапустите службу SSH, чтобы изменения вступили в силу.

Важно помнить, что изменение порта SSH по умолчанию не предотвратит все атаки, но может затруднить злоумышленникам поиск вашего сервера.

Ограничить доступ по SSH

Ограничение доступа по SSH может помочь предотвратить несанкционированный доступ к вашему серверу. Вы можете ограничить доступ к определенным IP-адресам или сетевым диапазонам с помощью брандмауэра. Таким образом вы сможете разрешить доступ только из надежных источников, таких как офисная или домашняя сеть.

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

iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT

Это правило разрешает входящий трафик на порт SSH только с IP-адреса 192.168.1.100. Вы можете добавить больше IP-адресов или сетевых диапазонов в соответствии с вашими требованиями.

Установите и используйте Fail2ban

Fail2ban — это программный инструмент, который может помочь защитить ваш SSH-сервер от атак методом перебора входа в систему. Fail2ban отслеживает журналы сервера на предмет неудачных попыток входа в систему и блокирует IP-адрес злоумышленника после определенного количества неудачных попыток. Из-за этого злоумышленникам сложнее провести успешную атаку методом перебора.

Чтобы установить Fail2ban на ваш сервер Linux, вы можете использовать менеджер пакетов, специфичный для вашего дистрибутива. Например, в системах на базе Debian вы можете использовать команду apt-get —

sudo apt-get install fail2ban

После установки вам необходимо настроить Fail2ban для мониторинга журналов SSH. По умолчанию Fail2ban поставляется с файлом конфигурации SSH, расположенным по адресу /etc/fail2ban/jail.conf. Вы можете изменить этот файл, чтобы указать количество неудачных попыток входа в систему, после которых IP-адрес должен быть заблокирован.

Например, если вы хотите заблокировать IP-адрес после трех неудачных попыток входа в систему, вы можете добавить следующие строки в раздел SSH файла конфигурации:

[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3

После внесения изменений перезапустите службу Fail2ban, чтобы применить новую конфигурацию.

Отключить root-вход

По умолчанию пользователь root имеет полный доступ к системе и является основной целью для злоумышленников. Лучше всего отключить прямой вход в систему root через SSH и вместо этого использовать обычную учетную запись пользователя с привилегиями sudo. Таким образом, даже если злоумышленнику удастся взломать пароль учетной записи обычного пользователя, у него не будет root-доступа к системе.

Чтобы отключить вход с правами root, вам необходимо изменить файл конфигурации SSH-сервера (/etc/ssh/sshd_config) и установить для параметра PermitRootLogin значение «нет».

Используйте двухфакторную аутентификацию

Двухфакторная аутентификация (2FA) добавляет дополнительный уровень безопасности в процесс входа в систему SSH. Помимо пароля или закрытого ключа, 2FA требует от пользователя предоставления второго фактора, например кода, сгенерированного приложением для смартфона, или физического токена.

Чтобы включить 2FA для SSH, вы можете использовать такой инструмент, как Google Authenticator или Authy, который генерирует одноразовые пароли на основе времени (TOTP). Вам необходимо установить инструмент 2FA на локальный компьютер и SSH-сервер и настроить оба на использование одного и того же секрета TOTP.

Мониторинг журналов SSH

Мониторинг журналов SSH может помочь вам обнаружить и предотвратить атаки методом перебора входа в систему и другие инциденты безопасности. Вы можете использовать такие инструменты, как Logwatch, Logrotate или Logwatcher, для отслеживания журналов SSH и оповещения при обнаружении необычной активности.

Также важно регулярно просматривать журналы SSH, чтобы выявлять любые подозрительные попытки входа в систему, необычные IP-адреса или неудачные попытки входа. Поступив так, вы сможете быстро принять меры для предотвращения потенциального нарушения безопасности.

Поддерживайте свою систему в актуальном состоянии

Поддержание вашей системы Linux в актуальном состоянии с использованием последних исправлений и обновлений безопасности необходимо для предотвращения известных уязвимостей и эксплойтов. Вам следует регулярно проверять наличие обновлений и устанавливать их как можно скорее.

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

Используйте хост-бастион или сервер перехода.

Бастионный хост или сервер перехода — это выделенный сервер, который действует как единая точка входа в вашу сеть или инфраструктуру. Все SSH-подключения к вашей сети маршрутизируются через хост-бастион, который можно настроить для обеспечения соблюдения политик безопасности, таких как контроль доступа и аутентификация.

Использование хоста-бастиона или сервера перехода может помочь вам уменьшить поверхность атаки на вашу сеть и предотвратить несанкционированный доступ к вашим системам.

Заключение

Таким образом, защита вашего SSH-сервера необходима для предотвращения несанкционированного доступа к вашей системе Linux. Следуя 5 рекомендациям, упомянутым выше, вы можете значительно снизить риск атаки методом перебора входа на ваш SSH-сервер. Не забудьте использовать надежные пароли, включить аутентификацию с открытым ключом, изменить порт SSH по умолчанию, ограничить доступ к SSH, а также установить и использовать Fail2ban для мониторинга журналов SSH. Применяя эти методы, вы можете обеспечить безопасность своей системы Linux и защитить свои данные от несанкционированного доступа.

Статьи по данной тематике: