Блокировка посторонних IP для XRDP подключений через fail2ban
В отличие от другой похожей статьи, где речь шла про блокировку только вредоносных ботов, здесь приведен вариант, когда любой IP, который не прописан в белом списке, попадает под блокировку, даже если введены верные логин и пароль.
Сразу оговорюсь, что настраивать такой фильтр имеет смысл, только если у вас статический (постоянный) IP, который не меняется (в противном случае заблокируете себе доступ к серверу). У большинства домашних интернет-провайдеров эта услуга либо не предоставляется, либо является платной и подключается отдельно.
Создаем правило
suno nano /etc/fail2ban/filter.d/xrdp-try.conf
[Definition] failregex = ^.*connection received from (?:::ffff:)?<HOST> ignoreregex = datepattern = \[%%Y%%m%%d-%%H:%%M:%%S\]
Cоздаем jail
suno nano /etc/fail2ban/jail.d/xrdp-try.conf
[xrdp-try] enabled = true filter = xrdp-try logpath = /var/log/xrdp.log maxretry = 1 port = 0:65535 findtime = 1d bantime = 30m bantime.increment = true bantime.multiplier = 2 bantime.overalljails = true bantime.maxtime = 30d
где logpath — путь к логу xrdp.
Редактируем
sudo nano /etc/fail2ban/jail.conf
#этот параметр изначально закомментирован, его нужно отредактировать ignoreip = 127.0.0.1/8 ::1 123.456.78.90
где 123.456.78.90 — ваш IP.
sudo service fail2ban restart