«Из коробки» Proxmox не имеет никакой защиты от грубой силы, как это делают некоторые другие технологии виртуализации. Например, при использовании VMWare EXSi он по умолчанию блокирует порт SSH, а при открытии добавляет некоторые строгие правила доступа.
Таким образом, для наших серверов proxmox мы хотели повысить безопасность на двух открытых портах: порт SSH 80 и порт веб-портала 8006 (портал веб-управления Proxmox).
Для этого мы использовали fail2ban. На proxmox fail2ban очень легко установить:
apt-get install fail2ban
После установки нам нужно добавить нашу конфигурацию в: /etc/fail2ban/jail.local.
nano /etc/fail2ban/jail.local
В него мы помещаем наш конфиг для блокировки атак Brute Force на два служебных порта.
[sshd]
port = ssh
logpath = %(sshd_log)s
enabled = true
[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
logpath = /var/log/daemon.log
maxretry = 3
# 7 days
bantime = 604800
Далее нам нужно создать файл: /etc/fail2ban/filter.d/proxmox.conf
nano /etc/fail2ban/filter.d/proxmox.conf
В этот файл добавляем:
[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
После этого нам нужно перезапустить fail2ban
systemctl перезапустить fail2ban
Теперь это должно означать, что ваш хост proxmox более безопасен, а IP-адрес заносится в черный список, если пароль введен неправильно 3 раза. Наша конфигурация довольно строгая, она блокируется на 7 дней, но вы можете настроить это по своим требованиям. Например:
# Bad Time 1 час
bantime = 3600
# Bad Time 24
bantime = 86400
Если вы хотите проверить, работает ли ваш запрет, взгляните на:
fail2ban-client status fail2ban sshd
или же
fail2ban-client status fail2ban proxmox
Мы надеемся, что это было полезно, и если вы хотите, чтобы мы расширили это, пожалуйста, оставьте свои пожелания в комментариях.