Mikrotik – Zabezpieczenie routera
Założenia
- Wyłączenie usług z których nie będziemy korzystać
- Konfiguracja podstawowego firewalla (filtrujemy ruch przychodzący do routera, pozwalamy na ruch wychodzący bez ograniczeń)
- Ograniczamy dostęp do usług nasłuchujących na MT tylko do znanych IP
Wyłączamy zbędne usługi
Mikrotik domyślnie posiada właczone usługi które według mojej oceny nie powinny być wystawione na świat bez zabezpieczenia. Nie jestem w stanie zagwarantować, że poniższa konfiguracja idealnie nada się do Waszego środowiska. Jest to konfiguracja którą ja stosuje i u mnie się sprawdza po większym lub mniejszym dostosowaniu do danych potrzeb. Mam na celu pokazać w jaki sposób to robię abyście mogli sami dostosować swoją konfigurację pod siebie.
Sprawdźmy jakie usługi są domyślnie właczone na naszym MT.
IP > Services w winbox lub w terminalu
/ip service print
Jak widzimy jest tego całkiem sporo. Ja korzystam w większości przypadków tylko w winboxa zatem resztę wyłączam.
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
Jeśli nie będziemy korzystać z usługi testowania przepustowości to proponuję również ją wyłączyć. Osobiście jeśli muszę skorzystać to włączam ją jednorazowo.
Tools > BTest server > Odznaczamy Enabled
/tool bandwidth-server set enabled=no
Konfiguracja firewalla
Tworzymy listę zaufanych adresów / domen
/ip firewall address-list
add address=adres1.damianmac.pl list=management
add address=adres2.damianmac.pl list=management
add address=adres3.damianmac.pl list=management
Na liście pojawiły się nasze statyczne wpisy oraz wpisy dynamiczne (litera D w pierwszej kolumnie D = dynamic) rozwiązujące nazwę na adres IP. Na moim przykładzie adres1, adres2 i adres3 rozwiązuje się na adresy serwerów DNS google 8.8.8.8, 8.8.4.4 oraz cloudflare 1.1.1.1. Dodałem te wpisy tylko do celów testowych w praktyce nie mają zastosowania bo musielibyśmy logować się np. do winboxa z powyższych adresów co jest niemożliwe.
Czas utworzyć nasze reguły firewalla.
/ip firewall filter
add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related
add action=accept chain=input comment="established and related input" connection-state=established,r
add action=accept chain=input comment="allow snmp" disabled=yes dst-port=161 protocol=udp
add action=accept chain=input comment="allow vpn" disabled=yes dst-port=1701,500,4500 protocol=udp
add action=accept chain=input comment="allow vpn" disabled=yes protocol=ipsec-esp
add action=accept chain=input comment="allow winbox from management" dst-port=8291 protocol=tcp src-address-list=management
add action=accept chain=input comment="allow ntp" disabled=yes dst-port=123 protocol=tcp
add action=accept chain=input comment="allow icmp" protocol=icmp
add action=accept chain=input comment="allow all input from lan" in-interface=bridge1
add action=drop chain=input comment="drop all input !=management" src-address-list=!management
Do każdego wpisu dodałem komentarz który powinien wystarczyć żeby zrozumieć za co odpowiada dana reguła. Część reguł jest wyłączonych ponieważ odpowiada za połączenie VPN, snmp lub ntp. Mam w planie w późniejszych artykułach wykorzystać te reguły przy konfiguracji serwera VPN czy monitorowania mikrotika przy pomocy zabbix.
MrTomek
Wydaj mi się że w komendach firewall masz błąd
bodajże powinienes miec
/ip firewall filter add action=accept chain=input comment=”allow winbox from management” dst-port=8291 protocol=tcp src-address-list=management
Damian
Masz rację, ucięło przy kopiowaniu. Już poprawione. Dzięki!
eLMo
Zastanawia mnie fakt, że dwie prierwsze polityki masz na początku:
add action=fasttrack-connection chain=forward comment=fasttrack connection-state=established,related
add action=accept chain=input comment=”established and related input” connection-state=established,r
Ja zawsze daję, je na końcu, przed polityką blokowania całego ruchu.
Damian
Firewall leci po regułach od góry, najważniejsze żeby było przed dropem, według mnie warto zrobić na pierwszym miejscu, żeby dla połączeń już nawiązanych nie musiał sprawdzać pozostałych reguł.
Marcin
Zrobiłem wszystko jak w tutorialu. Aktualnie loguję się przez Mikrotik Cloud. Jednak jak właczam firewala z moją AdressListIP, nie moge się zalogować z zewnątrz. Lokalnie nie wiem, gdyz router mam poza domem.
Damian
Dodałeś adresy IP czy nazwy domenowe do listy?
Marcin
U mnie tak samo. Jak dodam Moją ListęIP to nie moge sie połaczyć. Łączę się domeną Cloud Mikrotika.
Marcin
🙂 Nie zauważyłem, że to mój komentarz. Jeszcze raz. Tak, łaczę sie za pomocą nazwy domenowej Cloud Mikrotik.
Damian
Czy jak wyłączysz regułę DROP to połączenie działa?
Marcin
Niestety nic się nie zmienia. Nadal jak uaktywnię moją listę IP, nie mogę się zalogować.
aldii
Niestety. Nic sie nie zmienia. Dalej nie moge sie zalogować. Mogę jakoś pokazać ci moją zakładkę Ip/firewall?
Damian
Na czym stanęło?
Aleksander
Mam problem. Nie mogę dodać repeatera do mikrotika hap ac2. Repeater to asus rp-ac51. Nie umiem nic w Internecie znaleźć. Pomoże ktoś?