Cryptology Academy · Урок

Усиление защиты SSH и лучшие практики аудита

Применяйте усиление защиты через sshd_config, практики ротации ключей и журналирование аудита для повышения безопасности развертываний SSH.

Урок 4 из 413 шагов

«Усиление защиты SSH и лучшие практики аудита» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Отключение аутентификации по паролю

Наиболее эффективный шаг по усилению защиты SSH — задать PasswordAuthentication no в /etc/ssh/sshd_config. Это заставляет всех пользователей проходить аутентификацию с помощью открытых ключей, устраняя риски, связанные со слабыми или повторно используемыми паролями и атаками перебором. Перед отключением аутентификации по паролю убедитесь, что установлен хотя бы один разрешённый ключ, чтобы не заблокировать себе доступ.

Ограничение разрешённых пользователей и групп

Директивы AllowUsers и AllowGroups ограничивают доступ по SSH для указанных пользователей или участников групп. Например, AllowGroups sshusers разрешает доступ только участникам группы sshusers. Это обеспечивает эшелонированную защиту: даже если злоумышленник узнает имя пользователя и получит учётные данные, доступ по SSH будет запрещён, если для этой учётной записи он явно не разрешён.

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

Изменение порта SSH с 22 на порт с большим номером — это мера сокрытия, а не защиты. Однако она значительно уменьшает количество лишних записей в журналах от автоматических сканеров, нацеленных на порт 22. Благодаря этому журналы легче анализировать в поисках настоящих угроз. Всегда используйте правила межсетевого экрана как основной механизм контроля доступа; сокрытие порта может быть только дополнительной мерой.

Отключение входа суперпользователя

Настройка PermitRootLogin no запрещает непосредственную аутентификацию суперпользователя через SSH. Атакующие, нацеленные на учётную запись root, получают гарантированно действительное имя пользователя и неограниченные права в случае успеха. Рекомендуемая настройка — PermitRootLogin prohibit-password: она разрешает вход суперпользователя только с помощью аутентификации по открытому ключу, блокируя перебор пароля root и сохраняя возможность аварийного доступа.

Ограничение числа попыток аутентификации

MaxAuthTries 3 ограничивает число попыток аутентификации для одного соединения тремя. После трёх неудач сервер разрывает соединение. Это замедляет попытки перебора. В сочетании с экспоненциальной задержкой, реализуемой fail2ban или SSHGuard, которые временно блокируют IP-адреса после повторяющихся неудач, атаки перебором становятся вычислительно неосуществимыми.

Ограничение времени входа

LoginGraceTime указывает, как долго сервер ожидает успешной аутентификации перед отключением. Значение по умолчанию — 120 секунд; уменьшение его до 20 секунд предотвращает медленные попытки перебора и сокращает удержание ресурсов неаутентифицированными соединениями. ClientAliveInterval и ClientAliveCountMax управляют проверками состояния соединения, отключая неактивные или неработающие сеансы.

Ограничение разрешённых криптографических алгоритмов

Современные конфигурации SSH должны ограничивать набор алгоритмов надёжными и современными вариантами. В sshd_config задайте для Ciphers значения chacha20-poly1305@openssh.com,aes256-gcm@openssh.com, для MACs — hmac-sha2-256-etm@openssh.com, а для KexAlgorithms — curve25519-sha256. Это устраняет устаревшие алгоритмы, такие как arcfour, DES и MAC на основе MD5, которые могут оставаться доступными для обратной совместимости.

Блокировка перебора с помощью fail2ban

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

Аудит с помощью ssh-audit

Инструмент ssh-audit подключается к SSH-серверу и оценивает его конфигурацию: какие алгоритмы обмена ключами, типы ключей сервера, шифры и MAC он предлагает, а также отмечает устаревшие или слабые варианты. Запуск ssh-audit на серверах до и после усиления защиты даёт объективную оценку изменений и помогает выявить пробелы в конфигурации.

Ведение журналов и аудит доступа

События аутентификации SSH записываются через syslog. В Linux файл /var/log/auth.log (Debian) или /var/log/secure (RHEL) регистрирует каждый успешный и неудачный вход, включая метку времени, имя пользователя, исходный IP-адрес и отпечаток использованного ключа. Отправка этих журналов в централизованную SIEM позволяет обнаруживать необычные модели доступа, например входы из неожиданных стран или в необычное время.

Полный пример усиленной конфигурации

Усиленная конфигурация sshd_config объединяет следующие настройки: PasswordAuthentication no, PermitRootLogin prohibit-password, MaxAuthTries 3, LoginGraceTime 20, AllowGroups sshusers, ограниченные наборы Ciphers и MACs, X11Forwarding no и AllowTcpForwarding no (если туннелирование не требуется). Каждая директива устраняет определённый вектор атаки, а вместе они формируют эшелонированную защиту SSH.

Конфигурация усиления защиты SSH

Какая настройка sshd_config наиболее эффективно устраняет атаки перебором паролей против SSH?

Повторение материала об усилении защиты SSH

Контрольный список усиления защиты SSH: отключите аутентификацию по паролю, ограничьте доступ с помощью AllowGroups/AllowUsers, отключите вход суперпользователя или разрешите его только по ключу, задайте MaxAuthTries 3, уменьшите LoginGraceTime, ограничьте алгоритмы только современными шифрами, разверните fail2ban или SSHGuard, запускайте ssh-audit для объективной оценки и централизуйте журналы для обнаружения аномалий.

Можно начать бесплатно

Изучай Cryptology Academy с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
67
Уроки
261

Часто задаваемые вопросы

Урок «Усиление защиты SSH и лучшие практики аудита» бесплатный?

Да — полный текст урока «Усиление защиты SSH и лучшие практики аудита» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «Усиление защиты SSH и лучшие практики аудита»?

Применяйте усиление защиты через sshd_config, практики ротации ключей и журналирование аудита для повышения безопасности развертываний SSH. Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Усиление защиты SSH и лучшие практики аудита»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Рукопожатие SSH и аутентификация ключом хоста
  2. Аутентификация открытым ключом и перенаправление агента
  3. Туннелирование SSH и методы перенаправления портов
  4. Усиление защиты SSH и лучшие практики аудита
← Назад к Cryptology Academy