< BACK_TO_CORE
DATAGUARD // IMPORT
routeros_auto_import // mikrotik_routeros_v7

ΤΙ ΚΑΝΕΙ

Το DataGuard είναι threat-intelligence platform που συσχετίζει syslog από MikroTik nodes, WAF, RDP και mail auth failures, και εξάγει τις banned διευθύνσεις σε RouterOS .rsc μορφή. Ο παρακάτω κώδικας κατεβάζει αυτόματα τη λίστα κάθε 6 ώρες, την περνάει σε address-list και την εφαρμόζει σε RAW prerouting — δηλαδή πριν καν φτάσει το πακέτο στο connection tracking.

Κάνε paste κάθε block με τη σειρά στο terminal (Winbox → New Terminal).

01SCRIPT

PASTE ΣΤΟ TERMINAL
/system/script

add dont-require-permissions=yes name=DataGuard owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":do {\r\
    \n    :local fileName \"dataguard.rsc\"\r\
    \n    :local portalUrl \"https://www.rpmz.gr/dataguard.rsc\"\r\
    \n    \r\
    \n    # 1. Download the RSC file (check-certificate over HTTPS)\r\
    \n    /tool fetch url=\$portalUrl mode=https check-certificate=yes dst-path=\$fileName;\r\
    \n    \r\
    \n    # DataGuatd Update list Import Stage\r\
    \n    :delay 2s;\r\
    \n\r\
    \n    # 2. Import it\r\
    \n    /import \$fileName verbose=no;\r\
    \n    \r\
    \n    # 3. Delete the file to keep storage clean\r\
    \n    /file remove \$fileName;\r\
    \n    \r\
    \n    :log info \"DataGuard: Address-list updated from rpmz.gr\";\r\
    \n} on-error={ :log error \"DataGuard: Import failed from rpmz.gr\" }"

/system script run DataGuard

Η τελευταία γραμμή τρέχει το script μία φορά αμέσως, ώστε η address-list DataGuard-Blacklist να έχει ήδη γεμίσει πριν μπουν οι RAW κανόνες — αλλιώς θα περίμενες τον scheduler. Έλεγξε με /ip firewall address-list print count-only where list=DataGuard-Blacklist ότι επέστρεψε εγγραφές πριν προχωρήσεις στο STEP_03.

02SCHEDULERS

ΑΝΑΝΕΩΣΗ 6h + ΦΟΡΤΩΜΑ ΣΤΟ BOOT
/system scheduler
add interval=6h name=DataGuard-Updater on-event=DataGuard policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-time=startup
add name=DataGuard-Startup on-event=":delay 120s\
    \n/system script run DataGuard" policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup

03FIREWALL — RAW PREROUTING

ΠΡΟΣΟΧΗ — κίνδυνος να κλειδωθείς έξω. Αν η δική σου public IP βρίσκεται μέσα στη λίστα, ο κανόνας θα κόψει και τη δική σου απομακρυσμένη πρόσβαση. Πριν τους περάσεις:
· τρέξε /system safe-mode (ή F4 στο Winbox terminal) — αν χαθεί η σύνδεση, το RouterOS κάνει αυτόματο rollback
· έλεγξε αν είσαι μέσα: /ip firewall address-list print where list=DataGuard-Blacklist address~"Η_IP_ΣΟΥ"
· αν διαχειρίζεσαι το router απομακρυσμένα, βάλε έναν action=accept κανόνα με τη δική σου IP πάνω από τα drops
· οι κανόνες δεν έχουν interface filter — ισχύουν σε κάθε interface, άρα και στο LAN: αν μια εσωτερική IP βρεθεί στη λίστα, κόβεται κι αυτή
RAW RULES
/ip firewall raw
add action=drop chain=prerouting \
    src-address-list=DataGuard-Blacklist \
    comment="DataGuard: drop inbound from blacklisted sources"

add action=drop chain=prerouting \
    dst-address-list=DataGuard-Blacklist \
    comment="DataGuard: drop outbound to blacklisted destinations"

04ΕΠΑΛΗΘΕΥΣΗ

VERIFY
/log print where message~"DataGuard"
/ip firewall address-list print count-only where list=DataGuard-Blacklist
/ip firewall raw print stats
/system scheduler print detail where name~"DataGuard"

Το script έχει ήδη τρέξει μία φορά στο STEP_01 και από εκεί και πέρα το αναλαμβάνει ο DataGuard-Updater κάθε 6 ώρες — δεν χρειάζεται χειροκίνητο run. Το raw print stats δείχνει τους μετρητές πακέτων· αν μένουν στο μηδέν, είτε η λίστα είναι άδεια είτε δεν περνάει κίνηση από τους κανόνες.

ΑΛΛΕΣ ΛΙΣΤΕΣ

Ίδιο script — αλλάζεις μόνο τα τρία :local στο block του Step 01 και το name= του script.

FEEDURLΧΡΗΣΗ
DataGuarddataguard.rscdrop — κύρια blocklist
DataGuard Extenddataguard-extend.rscdrop — εκτεταμένη, με subnet escalation
M365DataGuard-M365.rscaccept / QoS — όχι drop
Windows UpdateDataGuard-WindowsUpdate.rscaccept / QoS — όχι drop

ΑΦΑΙΡΕΣΗ

UNINSTALL
/system scheduler remove [find name~"DataGuard"]
/system script remove [find name~"DataGuard"]
/ip firewall raw remove [find comment~"DataGuard"]
/ip firewall address-list remove [find list=DataGuard-Blacklist]
DATAGUARD_IMPORT · rpmz.gr DIGITAL CORE · ROUTEROS_V7
✓ COPIED_TO_CLIPBOARD