Шаг за шагом: Руководство по настройкам SSH в CentOS7
1. Установим Fail2Ban
Fail2Ban – это программная среда, предназначенная для предотвращения вторжений, защищающая серверы от атак методом перебора.Fail2Ban работает, отслеживая файлы журналов (например, /var/log/auth.log, /var/log/apache/access.log и т. Д.) для выбранных сервисов и запускает сценарии на их основе.
Чаще всего используется для блокировки выбранных IP-адресов, которые могут принадлежать хостам, которые пытаются нарушить безопасность системы.
Добавляем в систему репозиторий EPEL, обновляемся и устанавливаем программное обеспечение
1.2 Настройка Fail2Ban
Fail2Ban хранит свои настройки в файле /etc/fail2ban/jail.conf, и при обновлении перезаписывает этот файл, по-этому скопируем файл jail.conf под именем jail.local
cp -pf /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Создадим новый файл sshd.local, и добавим в него следующие строки
- enable = true – проверка ssh активна.
- action используется для получения IP-адреса, который необходимо заблокировать, используя фильтр, доступный в /etc/fail2ban/action.d/firewallcmd-ipset.conf.
- logpath – путь, где хранится файл журнала. Этот файл журнала сканируется Fail2Ban.
- maxretry – лимита для неудачных входов в систему.
- bantime – время блокировки (24 часа).
Добавим сервис Fail2Ban в автозагрузку и запустим его
systemctl enable fail2ban && systemctl start fail2ban
Что бы проверить статус, выполним команду fail2ban-client status
2. Настроим SSH соединение
В идеале нужно поменять default порт для соединения, напомню что стандартный порт 22.
Чтобы изменить порт, на котором работает SSH-сервер (sshd) в CentOS 7, выполните следующие шаги:
- Откройте конфигурационный файл sshd: Используйте текстовый редактор, например, nano или vi, чтобы отредактировать файл /etc/ssh/sshd_config sudo nano /etc/ssh/sshd_config или vi /etc/ssh/sshd_config
- Найдите строку с портом: Замените 22 на новый номер порта, который вы хотите использовать. Например: 2222 Выберите неиспользуемый порт, предпочтительно номер больше 1024, чтобы избежать конфликтов с зарезервированными портами.
- Сохраните и закройте файл: В nano, нажмите Ctrl + X, затем Y для подтверждения изменений, и Enter для выхода. В vi, нажмите Esc, затем введите :wq и нажмите Enter.
- Перезапустите SSH-сервер:После внесения изменений в конфигурацию, перезапустите службу sshd: sudo systemctl restart sshd
- Проверьте новый порт: После перезапуска службы проверьте, что SSH работает на новом порте:bashCopy codess -tnl | grep ssh Вы должны увидеть вывод, указывающий на новый порт, который вы настроили.
Теперь нужно открыть порт, указанный в конфиге sshd в firewall
Для открытия порта (допустим, порт 80), выполните команду:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent и перезапустим службу sudo firewall-cmd --reload
Теперь SSH-сервер будет слушать на новом порту, и вы сможете подключаться к серверу, указывая этот порт при подключении:
ssh -p <новый порт> пользователь@ваш_сервер