Я составил для себя список шагов которые применяю для защиты портала dealers.ekzorchik.ru
где в качестве операционной системы используется Ubuntu 18.04 Server.
Я решил что можно заморочиться и настроить связку firewalld + fail2ban
, а можно пойти по-другому способу, предопределить что можно и откуда, а все остальное запретить. Хотя заморочка выше — это вызов самому себе, у меня уже есть такая связка, но ufw + fail2ban которая защищает мой портал ekzorchik.ru.
Итого какие команды применены для защиты
sudo ufw disable sudo apt-get install -y firewalld sudo systemctl enable firewalld sudo systemctl start firewalld sudo firewall-cmd --state ip r | awk '{print $5}' | head -n1 eth0 sudo firewall-cmd --zone public --change-interface=eth0 --permanent sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ftp" source address="WAN-IP-COMPANY/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ftp" source address="WAN-IP-PODRYDCHIKI/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" source address="WAN-IP-COMPANY/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" source address="WAN-IP-MY/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" source address="WAN-IP-MY-VPN/32" accept' --permanent sudo firewall-cmd --remove-service=ssh --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" port port="587" protocol="tcp" source address="WAN-IP-COMPANY/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" port port="49152-65534" protocol="tcp" source address="WAN-IP-COMPANY/32" accept' --permanent sudo firewall-cmd --add-rich-rule 'rule family="ipv4" port port="49152-65534" protocol="tcp" source address="WAN-IP-PODRYDCHIKI/32" accept' --permanent sudo firewall-cmd --reload
Просмотр всех правил
sudo firewall-cmd --zone=public --list-all
диапазон портов 49152-65534
, это предопределенный диапазон из файла /etc/proftpd/proftpd.conf
Итого это боевые правила на портале который я перенес из CentOS 7 (Docker)
в пользу правильно настроенной системы Ubuntu 18.04 + nginx + php7.3 + php7.4 (for phpmyadmin) + ProFTPD.
На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.