Посоветуйте, пожалуйста, как защитить проброс RDP ? есть правила chain=input action=add-src-to-address-list protocol=tcp address-list=rdp_list address-list-timeout=1d in-interface=RT-5G dst-port=3399 log=no log-prefix="" chain=dstnat action=netmap to-addresses=192.168.0.100 to-ports=3389 protocol=tcp src-address-list=rdp_list in-interface=RT-5G dst-port=3399 log=no log-prefix="" как сделать, чтобы блокировался проброс для адреса после пяти не правильных попыток подключиться?
Настройка фильтрации трафика на Mikrotik. Часть 4 Переделайте правило на ssh Удлините цепочку, так как RDP соединение создает дважды.
Илья, вопрос - а какое правило firewall вперед срабатывает Filter Rules или NAT ? попробовал - если Вы замените в примере цепочку input на forward, а dst-port замените на 3389, Вы защитите таким образом опубликованный терминальный сервер. не заработало когда chain=input то соединение происходит, но оно установилось с сервером, а дальше начинается перебор паролей на сервере...
... Получается, что после первой попытки подключиться адрес заносится в list rdp_stage1 chain=input action=add-src-to-address-list connection-state=new protocol=tcp address-list=rdp_stage1 address-list-timeout=1m dst-port=3399 log=no log-prefix="" и срабатывает правило NAT chain=dstnat action=netmap to-addresses=192.168.0.100 to-ports=3399 protocol=tcp src-address-list=rdp_stage1 in-interface=RT-5G dst-port=3399 log=yes log-prefix="RDP" А последующие попытки подключения уже не обрабатываются Filer Rules chain=input action=add-src-to-address-list connection-state=new protocol=tcp src-address-list=rdp_stage1 address-list=rdp_stage2 address-list-timeout=1m dst-port=3399 log=no log-prefix="" так как срабатывает вышеописанное правило NAT
Спойлер: /ip firewall filter /ip firewall filter add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="Port scanners to list " protocol=tcp psd=\ 21,3s,3,1 add action=drop chain=input disabled=yes dst-port=3399 protocol=tcp src-address-list=rdp_blacklist add action=add-src-to-address-list address-list=rdp_blacklist address-list-timeout=1d chain=forward connection-state=new disabled=yes dst-port=3399 protocol=\ tcp src-address-list=rdp_stage6 add action=add-src-to-address-list address-list=rdp_stage6 address-list-timeout=1m chain=forward connection-state=new disabled=yes dst-port=3399 protocol=tcp \ src-address-list=rdp_stage5 add action=add-src-to-address-list address-list=rdp_stage5 address-list-timeout=1m chain=forward connection-state=new disabled=yes dst-port=3399 protocol=tcp \ src-address-list=rdp_stage4 add action=add-src-to-address-list address-list=rdp_stage4 address-list-timeout=1m chain=input connection-state=new disabled=yes dst-port=3399 protocol=tcp \ src-address-list=rdp_stage3 add action=add-src-to-address-list address-list=rdp_stage3 address-list-timeout=1m chain=input connection-state=new disabled=yes dst-port=3399 in-interface=\ RT-5G protocol=tcp src-address-list=rdp_stage2 add action=add-src-to-address-list address-list=rdp_stage2 address-list-timeout=1m chain=forward connection-state=new disabled=yes dst-port=3399 in-interface=\ RT-5G protocol=tcp src-address-list=rdp_stage1 add action=add-src-to-address-list address-list=rdp_stage1 address-list-timeout=1m chain=input connection-state=new disabled=yes dst-port=3399 in-interface=\ RT-5G protocol=tcp add action=drop chain=input comment="dropping port scanners" src-address-list="port scanners" add action=drop chain=input in-interface=RT-5G log=yes log-prefix=BLOCK- src-address-list=block_hack add chain=input comment="default configuration" connection-state=established,related add chain=input dst-port=22 in-interface=RT-5G protocol=tcp src-address-list=white_list_ssh add action=drop chain=forward in-interface=RT-5G src-address-list=block_hack add action=add-src-to-address-list address-list=white_list_ssh address-list-timeout=1h chain=input in-interface=RT-5G packet-size=128 protocol=icmp \ src-address-list=ICMP_SSH_128_stage1 add action=add-src-to-address-list address-list=ICMP_SSH_128_stage1 address-list-timeout=1m chain=input in-interface=RT-5G packet-size=128 protocol=icmp \ src-address-list=ICMP_SSH_98_stage2 add action=add-src-to-address-list address-list=ICMP_SSH_98_stage2 address-list-timeout=1m chain=input in-interface=RT-5G packet-size=98 protocol=icmp \ src-address-list=ICMP_SSH_98_stage1 add action=add-src-to-address-list address-list=ICMP_SSH_98_stage1 address-list-timeout=1m chain=input in-interface=RT-5G packet-size=98 protocol=icmp add chain=input comment="default configuration" protocol=icmp add action=drop chain=input dst-port=53 in-interface=RT-5G protocol=udp add action=drop chain=input dst-port=53 in-interface=RT-unlim protocol=udp add action=drop chain=input in-interface=RT-5G src-address-list=block_hack add action=add-src-to-address-list address-list=block_hack address-list-timeout=1h chain=input dst-port=22 in-interface=RT-5G protocol=tcp add action=drop chain=input comment="default configuration" in-interface=ether1-gateway add action=fasttrack-connection chain=forward comment="default configuration" connection-state=established,related add chain=forward comment="default configuration" connection-state=established,related add action=drop chain=forward comment="default configuration" connection-state=invalid add action=drop chain=forward comment="default configuration" connection-nat-state=!dstnat connection-state=new in-interface=ether1-gateway add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="NMAP FIN Stealth scan" protocol=tcp tcp-flags=\ fin,!syn,!rst,!psh,!ack,!urg add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="SYN/FIN scan" protocol=tcp tcp-flags=fin,syn add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="SYN/RST scan" protocol=tcp tcp-flags=syn,rst add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="FIN/PSH/URG scan" protocol=tcp tcp-flags=\ fin,psh,urg,!syn,!rst,!ack add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="ALL/ALL scan" protocol=tcp tcp-flags=\ fin,syn,rst,psh,ack,urg add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=input comment="NMAP NULL scan" protocol=tcp tcp-flags=\ !fin,!syn,!rst,!psh,!ack,!urg /ip firewall nat add action=masquerade chain=srcnat comment="default configuration" out-interface=RT-unlim add action=netmap chain=dstnat dst-port=3399 in-interface=RT-5G log=yes log-prefix=RDP protocol=tcp to-addresses=192.168.0.100 to-ports=3389 add action=netmap chain=dstnat comment=ADSL-WWW dst-port=8880 in-interface=RT-5G log=yes protocol=tcp to-addresses=192.168.5.1 to-ports=80 add action=masquerade chain=srcnat comment=NAT_to_Modem_Web_Interface dst-address=192.168.5.1 dst-port=80 out-interface=ether1-gateway protocol=tcp /ip firewall service-port set ftp disabled=yes set tftp disabled=yes set irc disabled=yes set h323 disabled=yes set sip disabled=yes
Здесь chain=forward должно быть. И включить его. input это когда пакет идет на ЦПУ маршрутизатора. netmap это транслирование СЕТИ 1:1. Вот пример NAT. Часть 4 В вашем случае action=dst-nat
сделал, но результат тот же первый раз срабатывает правило add action=add-src-to-address-list address-list=rdp_stage1 address-list-timeout=1m chain=input connection-state=new disabled=yes dst-port=3399 in-interface=RT-5G protocol=tcp и при следующем подключении срабатывает NAT add action=dst-nat chain=dstnat dst-port=3399 in-interface=RT-5G log=yes log-prefix=RDP protocol=tcp to-addresses=192.168.0.100 to-ports=3389 а после него следующие подключения не попадают (не доходят) в Filter Rules что я делаю не правильно?
... получается внешний адрес сохраняется только в листе rdp_stage1, а в другие списки он не попадает...
DST-NAT срабатывает еще ДО ТОГО как первый пакет соединения доберется до /ip firewall filter Попробуйте отключить правило с fasttrack connection
отключил - без изменений. попробовал выключить NAT add action=dst-nat chain=dstnat dst-port=3399 in-interface=RT-5G log=yes log-prefix=RDP protocol=tcp to-addresses=192.168.0.100 to-ports=3389 правила со списками заработали, каждое новое подключение добавляет список...
Так. А поясните мне еще такую вещь. У вас вижу dst-nat на вход и не src-nat для интерфейса RT-5G Там не получается, что соединение идет "мимо кассы" ?
у меня два провайдера. первый с белым ip, но лимитный =5GB в месяц, через только вход из вне на сервер. ну я удаленно winbox'ом на МТ. второй безлимитный и через него все в сети идут в инет...
Ага. Еще раз посмотрев правила нашел у вас ошибку. Как я уже говорил, Firewall срабатывает в данном случае ПОСЛЕ dst-nat. И dst-port у вас уже будет преобразован. т.е. вам надо в правилах файрволла вместо порта 3399 писать 3389
Небольшая ремарка из опыта. Если вы публикуете RDP на который снаружи подключается достаточно много юзеров, то время блокировки нужно ставить минут в 10. Иначе замучаетесь "продвинутых" юзеров из адрес-листа удалять.
Надо вот это куданить в ФАКи записать. Бился с файером часа 3, правило с forward и левым портом для RDP стоит выше и не срабатывает, все дропится более нижним правилом. А оказцо порт после NAT уже не левый, а дефолтный! Вот этого нигде нет в мануалах. Все таки надо на курсы топать =) Спасибо Илья!