Отново разглеждаме старата схема. Рутер управляващ достъпа от/към Интернет и клиент ползващ услугите управлявани от рутера. Клиентите са два. Единия е сървър, другия локален компютър.

До тук имаме рутер който прави NAT на вътрешната мрежа. Същия получава Internet по DHCP клиент на ether1. Останалите портове са в бридж на който има пуснат DHCP сървър. До тук настройката изглежда така:
### MikroTik играе ролята на DNS сървър /ip dns set allow-remote-requests=yes servers=8.8.8.8 ### Връзка към Internet /ip dhcp-client add disabled=no interface=ether1 ### Изграждане на bridge и портовете към него /interface bridge add name=bridge1 /interface bridge port add bridge=bridge1 interface=ether2 add bridge=bridge1 interface=ether3 add bridge=bridge1 interface=ether4 add bridge=bridge1 interface=ether5 ### IP адрес на bridg-a /ip address add address=10.0.0.1/24 interface=bridge1 network=10.0.0.0 ### DHCP сървър върху bridg-a /ip pool add name=dhcp_pool0 ranges=10.0.0.200-10.0.0.254 /ip dhcp-server add address-pool=dhcp_pool0 disabled=no interface=bridge1 name=dhcp1 /ip dhcp-server network add address=10.0.0.0/24 dns-server=10.0.0.1 gateway=10.0.0.1 ### FireWALL, SNAT и DNAT съответно за WEB и FTP /ip firewall nat add action=masquerade chain=srcnat comment=\ "Default masquerade for Internet access" out-interface=ether1 \ src-address=10.0.0.0/24 add action=dst-nat chain=dstnat comment=\ "Example DNAT: Forward Port 80 to internal Web Server" dst-port=80 \ in-interface=ether1 protocol=tcp to-addresses=10.0.0.100 to-ports=80 add action=dst-nat chain=dstnat comment=\ "Example DNAT: Forward Port 21 to internal FTP Server" dst-port=21 \ in-interface=ether1 protocol=tcp to-addresses=10.0.0.100 to-ports=21
Тази конфигурация следи за неуспешни опити за влизане. При 3 грешни опита в рамките на 1 минута, IP адресът на нападателя се добавя в черен списък (black_list) за 10 дни. Започваме със създаване на верига за засичане на SSH атаки.
/ip firewall filter ### Създаване на верига за засичане на SSH атаки add action=jump jump-target=SSH_BF chain=input dst-port=22 protocol=tcp comment="Jump to SSH Brute Force detection" add chain=SSH_BF connection-state=new src-address-list=ssh_stage3 comment="3rd failed attempt -> Ban" action=add-src-to-address-list address-list=black_list address-list-timeout=10d add chain=SSH_BF connection-state=new src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1m add chain=SSH_BF connection-state=new src-address-list=ssh_stage1 action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m add chain=SSH_BF connection-state=new action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1m ### Създаване на верига за засичане на WinBox атаки add action=jump jump-target=WinBox_BF chain=input dst-port=8291 protocol=tcp comment="Jump to WinBox Brute Force detection" add chain=WinBox_BF connection-state=new src-address-list=wb_stage3 comment="3rd failed attempt -> Ban" action=add-src-to-address-list address-list=black_list address-list-timeout=10d add chain=WinBox_BF connection-state=new src-address-list=wb_stage2 action=add-src-to-address-list address-list=wb_stage3 address-list-timeout=1m add chain=WinBox_BF connection-state=new src-address-list=wb_stage1 action=add-src-to-address-list address-list=wb_stage2 address-list-timeout=1m add chain=WinBox_BF connection-state=new action=add-src-to-address-list address-list=wb_stage1 address-list-timeout=1m ### Блокиране на всички IP адреси от черния списък add action=drop chain=input src-address-list=black_list comment="Drop permanently banned IPs" ### Достъп до рутера от Internet през WinBOX add chain=input action=accept protocol=tcp in-interface=ether1 dst-port=8291
Правила за защита на самия рутер (input) и трафика, преминаващ през него (forward). Блокират се невалидни връзки и неоторизиран достъп от WAN (интернет) интерфейса. Забележка: Заменете ether1 с името на вашия WAN (интернет) интерфейс.
/ip firewall filter ### 1. Разрешаване на вече установени и свързани сесии (ускорява работата) add action=accept chain=input connection-state=established,related comment="Accept established/related to router" add action=accept chain=forward connection-state=established,related comment="Accept established/related through router" ### 2. Блокиране на невалидни пакети (Invalid packets) add action=drop chain=input connection-state=invalid comment="Drop invalid packets to router" add action=drop chain=forward connection-state=invalid comment="Drop invalid packets through router" ### 3. Разрешаване на ICMP (Ping) - лимит срещу Ping Flood add action=accept chain=input protocol=icmp limit=5,5:packet comment="Accept ICMP with limit" ### 4. Разрешаване на достъп от локалната мрежа (LAN) # Заменете !ether1 с вашия LAN интерфейс или bridge, ако е необходимо add action=accept chain=input in-interface=!ether1 comment="Accept access from Local Network" ### 5. Блокиране на всичко останало към рутера (Drop All input from WAN) add action=drop chain=input comment="Drop everything else from WAN" ### 6. Блокиране на опити от интернет да се достъпва локалната мрежа без DNAT add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface=ether1 comment="Drop WAN traffic without DST-NAT"