====== Важное по security сервера ====== **Рекомендации по настройке ssh** Сменить стандартный порт. В файле конфигурации: /etc/ssh/sshd_config поменять #Port 22 на произвольный порт Port 3568 Запретить root для ssh (предварительно создать юзера для доступа по ssh). В файле конфигурации /etc/ssh/sshd_config поменять #PermitRootLogin yes на PermitRootLogin no Перезапустить службу ssh ---- **Установка и настройка утилиты fail2ban** Установка в Centos 8 yum install epel-release -y yum install fail2ban -y и активируем его командой: systemctl enable fail2ban Установка в Debian 10 apt-get update sudo apt-get install fail2ban Настройка. По умолчанию файлом конфигурации является /etc/fail2ban/jail.conf. Однако разработчики крайне не рекомендуют редактировать его напрямую, чтобы избежать осложнений при работе с сервером. Поэтому создайте локальную копию данного файла командой: sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local Вносим изменения в конфиг nano /etc/fail2ban/jail.local Пример конфигурации Fail2ban на порту SSH: [ssh] enabled = true port = ssh filter = sshd action = iptables[name=sshd, port=ssh, protocol=tcp] logpath = /var/log/auth.log maxretry = 3 bantime = 600 Запись выше означает, что, если выполнено более 3 неудачных попыток подключения к ssh, то ip-адрес, с которого выполнялась авторизация, попадет в бан на 10 минут. Правило запрета будет добавлено в iptables. Дополнительно для защиты SSH активируйте следующую секцию: [ssh-ddos] enabled = true port = ssh filter = sshd-ddos logpath = /var/log/auth.log maxretry = 2 Перезапуск службы: Centos systemctl restart fail2ban Debian services fail2ban restart ---- **Настройка iptables** Также, настоятельно рекомендуем закрыть сервер через iptables. прописываем следующие правила # localhost iptables -A INPUT -i lo -j ACCEPT # related iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Добавляем нужные локальные сети. Ниже - для примера iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -s 172.16.0.0/12 -j ACCEPT iptables -A INPUT -s 192.168.0.0/16 -j ACCEPT # Разрешаем порт dhcp (если необходимо) iptables -A INPUT -p udp --dport 67 -j ACCEPT # Разрешаем порты web-сервера iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 81 -j ACCEPT iptables -A INPUT -p tcp --dport 82 -j ACCEPT iptables -A INPUT -p tcp --dport 83 -j ACCEPT iptables -A INPUT -p tcp --dport 84 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT # Радиус iptables -A INPUT -p udp --dport 1812 -j ACCEPT iptables -A INPUT -p udp --dport 1813 -j ACCEPT # Запрещаем всё остальное iptables -A INPUT -j DROP Далее добавить свои разрешительные правила через iptables -I INPUT по мере надобности. Сохраняем правила Centos yum install -y iptables-services systemctl enable iptables.service /usr/libexec/iptables/iptables.init save Debian apt-get install iptables-persistent service iptables-persistent save