Прошу прощения
Объясняю с самого начала.
Вы правильно сказали, что у RDP нет никакой защиты, в связи с этим её необходимо реализовать с помощью шлюза, на котором установлен Debian 8.
Нашел статью на хабре (которую указал выше в первом сообщении) и начал реализовывать. Сделал отдельный файл, куда теперь логи с префиксом Iptables: пишутся.
А вот с fail2ban не получилось. Как я понял, там все на питоне и важна версия, у меня
# python --version
Python 2.7.9
далее решил почитать документацию по синтаксису pyton (я с ним никогда не работал), нашел как составлять регулярные выражения в следствии чего строчка в файле
/etc/fail2ban/filter.d/rdp-bruteforce.conf
а именно failregex = hashlimit: .* SRC=<HOST> ну вроде как верная
далее начал рассматривать файл
/etc/fail2ban/action.d/iptables-nat.conf
в частности на строчки
actionban = <iptables> -t nat -I f2b-<name> 1 -s <ip> -j DNAT --to <ip>
<iptables> -I FORWARD -s <ip> -d <ip> -j ACCEPT
первое, что смутило, так это почему ACCEPT в ban?
второе, посмотрел соседние файлы в /etc/fail2ban/action.d и увидел, что iptables везде написано без ковычек.
итог какой
строки в логе с меткой hashlimit есть, а вот срабатываний по ним нет судя по выводу команд
iptables -L
iptables -t nat -L
Chain fail2ban-rdp-bruteforce (0 references)
target prot opt source destination
P.S. почему-то все коннекты на 3389 ставятся с меткой hashlimit (но это я уж сам разберусь)
спасибо
Пользователь добавил сообщение 12 Апреля 2018, 10:56:51:
небольшое добавление/поправка
сейчас проверил и действительно, на Centos 6.9 у меня работает <iptables> , в дебиане iptables. Вот такой вот он fail2ban для разный версий Linux

Хотя может дело и в pyton, хотя на centos 6.9 команда pyton --version говорит, что незнама я такое

при этом
ls -l /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Авг 18 2016 /usr/bin/python