Hi All,
Could I ask someone to have a look at my firewall rules below and suggest any improvements, mistakes or additions. Thanks I’ve been reading up a bit and copied most of the rules form various sites.
Support list is all local LAN 192.168.88.0/24
/ip firewall filter
add chain=input action=accept comment="allow already established and related connections"
connection-state=established,related
add chain=input action=accept comment="allow ICMP" protocol=icmp
add chain=input action=accept comment="allow vpn" dst-port=1723 in-interface=ether1-gateway protocol=tcp
add chain=input action=accept comment="" in-interface=ether1-gateway protocol=gre
add chain=input action=accept comment="Accept DNS - UDP" disabled=no port=53 protocol=udp
add chain=input action=accept comment="Accept DNS - TCP" disabled=no port=53 protocol=tcp
add chain=input action=drop comment="Block all access to the winbox - except to support list disabled=no dst-port=8291 protocol=tcp src-address-list=!Support
add chain=input action=drop comment="Block all access to the API - except to support list disabled=no dst-port=8728 protocol=tcp src-address-list=!Support
add chain=input action=drop comment="drop ftp" disabled=no dst-port=21 protocol=tcp
add chain=input action=add-src-to-address-list address-list=trying_to_login address-list-timeout=1d comment="list IP's who try remote login" disabled=no dst-port=20-23 protocol=tcp
add chain=input action=drop comment="drop ssh brute forcers" disabled=no dst-port=22 protocol=tcp src-address-list=ssh_blacklist
add chain=input action=add-src-to-address-list address-list=ssh_blacklist address-list-timeout=1w3d connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage3
add chain=input action=add-src-to-address-list address-list=ssh_stage3 address-list-timeout=1h connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage2
add chain=input action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1h connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_stage1
add chain=input action=add-src-to-address-list address-list=ssh_stage1 address-list-timeout=1h connection-state=new disabled=no dst-port=22 protocol=tcp
add chain=input action=accept comment="allow ssh" disabled=no dst-port=22 protocol=tcp
add chain=input action=add-src-to-address-list address-list=Syn_Flooder address-list-timeout=30m comment="Add Syn Flood IP to the list" connection-limit=30,32 disabled=no protocol=tcp tcp-flags=syn
add chain=input action=drop comment="Drop to syn flood list" disabled=no src-address-list=Syn_Flooder
add chain=input action=add-src-to-address-list address-list=Port_Scanner address-list-timeout=1w comment="Port Scanner Detect" disabled=no protocol=tcp psd=21,3s,3,1
add chain=input action=drop comment="Drop to port scan list" disabled=no src-address-list=Port_Scanner
add chain=input action=accept comment="acccept lan" disabled=no in-interface=!bridge-local src-address=192.168.88.0/24
add chain=input action=drop comment="" in-interface=!bridge-local
add chain=forward action=fasttrack-connection connection-state=established,related
add chain=forward action=accept comment="allow already established and related connections" connection-state=established,related
add chain=forward action=drop comment="drop invalid connections" connection-state=invalid
add chain=forward in-interface=bridge-local action=accept
add chain=forward action=add-src-to-address-list address-list=spammers address-list-timeout=3h comment="Add Spammers to the list for 3 hours" connection-limit=30,32 disabled=no dst-port=25,587 limit=30/1m,0 protocol=tcp
add chain=forward action=drop comment="Avoid spammers action" disabled=no dst-port=25,587 protocol=tcp src-address-list=spammers
add chain=forward action=reject reject-with=icmp-host-unreachable protocol=icmp in-interface=!bridge-local out-interface=bridge-local icmp-options=8:0-255
add chain=forward action=reject reject-with=icmp-host-unreachable protocol=icmp in-interface=!bridge-local out-interface=bridge-local icmp-options=17:0-255
add chain=forward action=reject reject-with=icmp-host-unreachable protocol=icmp in-interface=!bridge-local out-interface=bridge-local icmp-options=15:0-255
add chain=forward action=reject reject-with=icmp-host-unreachable protocol=icmp in-interface=!bridge-local out-interface=bridge-local icmp-options=30:0-255
add chain=forward action=drop protocol=tcp port=0
add chain=forward action=drop protocol=udp port=0
add chain=forward action=drop
add action=accept chain=input comment="Full access to SUPPORT address list" disabled=no src-address-list=Support
add chain=input action=drop comment="drop everything else"