Konfiguracja zapory ogniowej (firewall) na urządzeniu MikroTik jest kluczowa dla zapewnienia bezpieczeństwa sieci. Poniżej przedstawiam zaawansowany skrypt konfiguracji firewall dla MikroTik, który obejmuje podstawowe zasady bezpieczeństwa, takie jak blokowanie niechcianego ruchu, ochrona przed atakami oraz zarządzanie dostępem do usług.

Zaawansowany skrypt konfiguracji firewall dla MikroTik

# Skrypt konfiguracji firewall dla MikroTik
# Autor: [Twoje Imię]
# Data: [Data]

# 1. Czyszczenie istniejących reguł firewall
/ip firewall filter remove [find]

# 2. Blokowanie niechcianego ruchu
# Blokowanie ruchu spoofowanego (fałszywe adresy IP)
/ip firewall filter add chain=input src-address-list=spoofed drop comment="Block spoofed traffic"

# Blokowanie ruchu z prywatnych zakresów adresów IP
/ip firewall filter add chain=input src-address=10.0.0.0/8 action=drop comment="Block private IP range 10.x.x.x"
/ip firewall filter add chain=input src-address=172.16.0.0/12 action=drop comment="Block private IP range 172.16.x.x - 172.31.x.x"
/ip firewall filter add chain=input src-address=192.168.0.0/16 action=drop comment="Block private IP range 192.168.x.x"

# 3. Ochrona przed atakami
# Ochrona przed atakami typu SYN flood
/ip firewall filter add chain=input protocol=tcp tcp-flags=syn connection-limit=32,32 action=drop comment="SYN flood protection"

# Ochrona przed atakami typu ICMP flood
/ip firewall filter add chain=input protocol=icmp limit=10,10 action=accept comment="ICMP flood protection"
/ip firewall filter add chain=input protocol=icmp action=drop comment="Drop excess ICMP"

# 4. Zarządzanie dostępem do usług
# Zezwalanie na ruch SSH tylko z zaufanych adresów IP
/ip firewall filter add chain=input protocol=tcp dst-port=22 src-address-list=trusted action=accept comment="Allow SSH from trusted IPs"
/ip firewall filter add chain=input protocol=tcp dst-port=22 action=drop comment="Drop SSH from untrusted IPs"

# Zezwalanie na ruch HTTP/HTTPS
/ip firewall filter add chain=input protocol=tcp dst-port=80 action=accept comment="Allow HTTP"
/ip firewall filter add chain=input protocol=tcp dst-port=443 action=accept comment="Allow HTTPS"

# 5. Blokowanie niechcianego ruchu wychodzącego
# Blokowanie ruchu wychodzącego do prywatnych zakresów adresów IP
/ip firewall filter add chain=output dst-address=10.0.0.0/8 action=drop comment="Block outgoing traffic to private IP range 10.x.x.x"
/ip firewall filter add chain=output dst-address=172.16.0.0/12 action=drop comment="Block outgoing traffic to private IP range 172.16.x.x - 172.31.x.x"
/ip firewall filter add chain=output dst-address=192.168.0.0/16 action=drop comment="Block outgoing traffic to private IP range 192.168.x.x"

# 6. Ochrona przed atakami typu DDoS
# Ochrona przed atakami DDoS na porty usług
/ip firewall filter add chain=input protocol=tcp dst-port=80 connection-limit=50,32 action=drop comment="DDoS protection for HTTP"
/ip firewall filter add chain=input protocol=tcp dst-port=443 connection-limit=50,32 action=drop comment="DDoS protection for HTTPS"

# 7. Logowanie nieudanych prób połączeń
/ip firewall filter add chain=input action=log log-prefix="Failed Connection Attempt" comment="Log failed connection attempts"

# 8. Zezwalanie na ruch loopback
/ip firewall filter add chain=input in-interface=lo action=accept comment="Allow loopback traffic"

# 9. Blokowanie pozostałego ruchu
/ip firewall filter add chain=input action=drop comment="Drop all other traffic"

# 10. Zapisanie konfiguracji
/system configuration save

Opis skryptu:

  1. Czyszczenie istniejących reguł firewall:
    • Usuwa wszystkie istniejące reguły firewall, aby uniknąć konfliktów.
  2. Blokowanie niechcianego ruchu:
    • Blokuje ruch spoofowany oraz ruch z prywatnych zakresów adresów IP.
  3. Ochrona przed atakami:
    • Chroni przed atakami typu SYN flood i ICMP flood.
  4. Zarządzanie dostępem do usług:
    • Zezwala na ruch SSH tylko z zaufanych adresów IP oraz na ruch HTTP/HTTPS.
  5. Blokowanie niechcianego ruchu wychodzącego:
    • Blokuje ruch wychodzący do prywatnych zakresów adresów IP.
  6. Ochrona przed atakami typu DDoS:
    • Chroni przed atakami DDoS na porty usług.
  7. Logowanie nieudanych prób połączeń:
    • Loguje nieudane próby połączeń.
  8. Zezwalanie na ruch loopback:
    • Zezwala na ruch loopback.
  9. Blokowanie pozostałego ruchu:
    • Blokuje cały pozostały ruch.
  10. Zapisanie konfiguracji:
    • Zapisuje konfigurację.

Jak użyć skryptu:

  1. Skopiuj skrypt do schowka.
  2. Otwórz terminal w MikroTik (np. przez Winbox, SSH lub WebFig).
  3. Wklej skrypt do terminala i naciśnij Enter.

Uwaga:

  • Przed zastosowaniem skryptu w środowisku produkcyjnym przetestuj go w kontrolowanym środowisku.
  • Dostosuj skrypt do swoich potrzeb, np. zmieniając zakresy adresów IP, porty lub reguły.