Смена стандартного порта SSH для снижения шума в логах
Смена стандартного порта SSH: как избавиться от ботов и шума в логах
Вы когда-нибудь заглядывали в логи своего сервера и видели сотни попыток подбора пароля по SSH? Это не параноидальные фантазии — каждый день автоматизированные боты сканируют интернет в поисках открытых портов 22 (стандартный порт SSH), чтобы атаковать слабые пароли или устаревшие версии протокола.
Проблема: Эти атаки забивают логи, нагружают сервер и отвлекают от реальных угроз. Решение: сменить порт SSH на нестандартный. Это не панацея (опытный хакер найдёт любой открытый порт), но 90% автоматизированного шума исчезнет уже через час после изменения.
В этом уроке вы научитесь: ✅ Почему боты атакуют именно порт 22 и как это работает. ✅ Как безопасно сменить порт SSH без потери доступа к серверу. ✅ Как настроить fail2ban и firewall, чтобы усилить защиту. ✅ Какие ошибки приводят к блокировке самого себя и как их избежать.
1. Почему боты любят порт 22: анатомия атаки
Представьте, что вы живёте в доме с красной дверью (порт 22). Воры знают, что в 99% случаев вход именно здесь, поэтому они стучат только в красные двери. Если вы перекрасите дверь в фиолетовый цвет (например, порт 2222), большинство воров пройдёт мимо — они ищут стандартные цели.
Как работают сканеры портов
- Массовое сканирование: Боты (например, Shodan, Masscan) просматривают диапазоны IP-адресов на наличие открытых портов.
- Целевой порт 22: Поскольку SSH по умолчанию работает на 22/TCP, сканеры сразу атакуют его.
- Атака по словарю: После обнаружения открытого порта боты пробуют популярные логины (
root,admin) и пароли (123456,password).
Пример из жизни: На новом сервере с порт 22 за сутки может быть 5000+ попыток входа. После смены порта на 2222 их количество падает до 5-10 в день (это уже целевые атаки, а не массовый спам).
Минусы смены порта
- Не защищает от целевых атак: Если хакер знает ваш IP, он просканирует все порты.
- Не заменяет другие меры безопасности: Всегда используйте ключи SSH вместо паролей и fail2ban.
⚠️ Важно: Смена порта — это первый шаг, а не финальная защита.
2. Подготовка: что сделать до смены порта
Прежде чем менять настройки, убедитесь, что:
- У вас есть резервный доступ (например, через VNC или панель хостинга).
- Вы знаете текущие настройки SSH (файл
/etc/ssh/sshd_config). - Firewall разрешает новый порт (иначе вы потеряете доступ).
Шаг 1: Проверьте текущие подключения
ss -tulnp | grep sshd
или
netstat -tulnp | grep sshd
Вы должны увидеть что-то вроде:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1234/sshd
Это значит, что SSH слушает все интерфейсы на порту 22.
Шаг 2: Выберите новый порт
- Рекомендуемые порты: 2222, 2022, 22222 (легко запомнить).
- Избегайте портов ниже 1024 (они требуют прав root).
- Не используйте популярные порты (80, 443, 8080) — их тоже сканируют.
Совет: Выберите порт, который легко набрать на клавиатуре (например, 2222), чтобы не путаться при подключении.
3. Меняем порт SSH: пошаговая инструкция
Шаг 1: Редактируем конфиг SSH
Откройте файл /etc/ssh/sshd_config в любом редакторе (например, nano):
sudo nano /etc/ssh/sshd_config
Найдите строку:
#Port 22
Раскомментируйте её и измените на выбранный порт (например, 2222):
Port 2222
Внимание:
- Если строки
#Port 22нет, добавьте её вручную.- Не удаляйте старую строку
Port 22, а закомментируйте её (#Port 22), чтобы при ошибке можно было откатиться.
Шаг 2: Сохраняем и перезапускаем SSH
Сохраните файл (Ctrl+O → Enter → Ctrl+X в nano) и перезапустите службу:
sudo systemctl restart sshd
или (для старых систем):
sudo service ssh restart
Шаг 3: Проверяем, что новый порт работает
Не закрывайте текущую сессию! Откройте новый терминал и попробуйте подключиться:
ssh пользователь@ваш_сервер -p 2222
Если подключение прошло — отлично. Если нет, проверьте:
- Firewall (разрешает ли он новый порт?).
- Опечатки в
/etc/ssh/sshd_config. - Логи SSH (
sudo tail -f /var/log/auth.log).
Шаг 4: Закрываем старый порт (опционально)
Если новый порт работает, можно заблокировать порт 22 в firewall. Например, для UFW:
sudo ufw deny 22/tcp
sudo ufw allow 2222/tcp
sudo ufw reload
Для iptables:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
sudo service iptables save # (для CentOS)
Предупреждение: Если вы используете панель управления (например, ISPmanager), убедитесь, что она не зависит от порта 22.
4. Дополнительная защита: fail2ban + firewall
Смена порта уменьшает шум, но не останавливает целевые атаки. Усилим защиту:
Настройка fail2ban
- Установите fail2ban (если ещё не установлен):
sudo apt install fail2ban # Debian/Ubuntu sudo yum install fail2ban # CentOS - Создайте локальный конфиг:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local - Откройте
/etc/fail2ban/jail.localи найдите секцию[sshd]. Измените:[sshd] enabled = true port = 2222 # ваш новый порт filter = sshd logpath = /var/log/auth.log maxretry = 3 bantime = 1h - Перезапустите fail2ban:
sudo systemctl restart fail2ban
Настройка firewall (UFW)
Если вы ещё не настроили firewall, сделайте это сейчас:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp # ваш новый порт SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw enable
5. Типичные ошибки и как их избежать
| Ошибка | Последствия | Как исправить |
|---|---|---|
| Не проверили новый порт перед блокировкой старого | Потеря доступа к серверу | Используйте screen или tmux, чтобы не потерять сессию |
Опечатка в /etc/ssh/sshd_config |
SSH не стартует | Проверьте логи: sudo journalctl -u sshd |
| Firewall блокирует новый порт | Нельзя подключиться | Разрешите порт: sudo ufw allow 2222/tcp |
| Забыли обновить клиентские конфиги | Приходится каждый раз указывать -p 2222 |
Добавьте в ~/.ssh/config: Host ваш_сервер Port 2222 |
| Использовали порт ниже 1024 | SSH не запускается без прав root | Выберите порт выше 1024 |
Совет для арбитражников: Если вы используете много серверов, стандартизируйте порт (например, 2222 везде). Так проще управлять подключениями.
6. Проверка результата: анализ логов
Через 24 часа после смены порта проверьте логи:
sudo grep "Failed password" /var/log/auth.log | wc -l
Сравните с количеством атак до изменения. Вы увидите, что 90-95% шума исчезло.
Пример:
- До: 4872 попытки входа за день.
- После: 12 попыток (и то, скорее всего, целевые сканы).
Практика для закрепления
Упражнение 1: Проверка текущих подключений
- Зайдите на свой сервер по SSH.
- Выполните команду:
ss -tulnp | grep sshd - Вопрос: Какой порт слушает SSH? Сколько активных подключений сейчас?
Упражнение 2: Смена порта (симуляция)
- Откройте
/etc/ssh/sshd_configв редакторе. - Найдите строку
Port 22и замените наPort 2222. - Вопрос: Какую команду нужно выполнить, чтобы изменения вступили в силу?
Упражнение 3: Настройка fail2ban
- Откройте
/etc/fail2ban/jail.local. - Найдите секцию
[sshd]и изменитеportна ваш новый порт. - Вопрос: Что сделает директива
maxretry = 3?
Упражнение 4: Блокировка старого порта
- Проверьте, что новый порт работает (
ssh -p 2222 user@server). - Заблокируйте порт 22 в UFW.
- Вопрос: Какую команду вы использовали для блокировки?
Упражнение 5: Анализ логов
- Посмотрите логи аутентификации:
sudo tail -n 50 /var/log/auth.log - Вопрос: Сколько попыток входа было за последние 50 строк? Видны ли атаки на новый порт?
Итоги и дальнейшие шаги
✅ Вы научились:
- Меняться стандартный порт SSH для снижения шума в логах.
- Настраивать fail2ban и firewall для дополнительной защиты.
- Избегать типичных ошибок при смене порта.
🚀 Следующий шаг:
- Отключите вход по паролю (используйте только ключи SSH).
- Настройте двухфакторную аутентификацию (2FA) для SSH.
- Изучите SSH-туннелирование для безопасного доступа к внутренним сервисам.
Помните: Безопасность — это процесс, а не одноразовая настройка. Регулярно обновляйте SSH и следите за логами!
Генератор паролей с длинной 64 символа
Женская одежда с бахромой
Кадастровые работы в Бийске
Как Aptum хостинг помогает малым бизнесам в управлении CRM-системами
Как выбрать планировку сайта для блогов на DreamHost
Как выбрать Vdsina вечный хостинг для своего проекта
Казань окна VEKA - профессионализм и опыт
Курьерская вода
Новостройки Оренбурга: недвижимость с отличной ценой
Онлайн чат-партнерство
Пиломатериалы для возведения бани
Почему VDSina — лучший выбор хостинга
Секреты Вконтакте: тонкости и хитрости
Скидки до 50% на тур в Коста-Рике
Видеочат рулетка бесплатно