MikroTik naprakész feketelisták

Üdv,

Érdeklődnék, hogy ki milyen/melyik folyamatosan naprakész feketelistát (IPv4/IPv6) használja MikroTik-hez? Intrusdave/Squidblacklist sajnos már nem üzemel. Joshaven még üzemelteti.

Hozzászólások

Szia!

Mi a cél? Melyik szolgáltatást akarod feketelistázni?

Van egy érintőlegesen kapcsolódó projektem, így piackutatás gyanánt kicsit ellopnám a szálat.

Milyen threat feed-ekre van szükségetek, hogyan használnátok és hajlandóak lennétek fizetni is érte?

Ez ugyan nem külső lista, de én használok dinamikus saját listát, úgy mint a port-knocking. Figyelem a legjobban támadott portokat és aki rápróbálkozik megy tiltásra. Még sosem okozott gondot.

Pl így:

chain=input action=add-src-to-address-list protocol=tcp address-list=port_hack_first_attempt address-list-timeout=1d in-interface=ether1-gateway dst-port=22,23,8291[, stb...] log=no  log-prefix=""

chain=input action=add-src-to-address-list protocol=tcp src-address-list=port_hack_first_attempt address-list=hacker_ip address-list-timeout=4w2d in-interface=ether1-gateway dst-port=22,23,8291 log=no log-prefix=""

chain=input action=drop src-address-list=hacker_ip log=yes log-prefix="hacking attempt"

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Azért van különbség, ha van pl egy web szerver ami kiszolgál a https-t és egy adott ip-ről bepróbálkoznak mondjuk az ssh-ra akkor ban-ra kerül a cím (én általában 30 napra szoktam) ami ha később próbálkozna a https-en bármit, már tiltva lesz. Van forgalmasabb gépem ahol már 30.000+ a kitiltottak darabszáma. A portscan-t külön is vizsgálni szoktam, azok is mennek a levesbe. Ez a módszer még soha nem okozott gondot azzal hogy olyan ip vág ki amit nem kéne.
Ez nyilván nem csodaszer, én még erősen használom az ország szűrést, amit pl csak itthonról használnak azt csak magyar címekről engedem be.

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Portscanre milyen szűrőd van? Gondolom azt nem mikrotiken feiügyeled? Vpn próbálkozókat is figyeled? Én próbáltam szabályt létrehozni rá, de egyszerűbb volt a logokból kihámozni címeket majd teljes tartományokat kitiltanom (van merítés... tartományok jellemzően keletiek, de van olyan is, amiben benne van az union.hu is pl (az talán digitaloceanos tartomány...)). Egyébként van egy ügyfelünk, nála ez a kis lista megfogott már pár millió próbálkozót. Teljesen szűz telepítés volt (új ccr1009), az első nap elhagytuk a milliót, szóltam szolgáltatónak, hogy az ipjük kicsit kakás, erre a válaszuk: hát a mikrotiket támadják, nem cserélik le az ip-t. Znet... pedig vagyunk velük olyan kapcsolatba (személy szerint rühellem őket, de ez az én problémám). Ja, természetesen bérelt vonal... Nem tudom elképzelni, ilyen kevés címük lenne, pláne, hogy ezt a címet mondjuk jegelik 3-6 hónapig, biztos kevesebben próbálnának rá...

Off:találtam egy szolgáltatói ip-t, pécsit, amiről a mikrotikjuk próbálkozott. Jeleztem abusenál meg a kapcsolatunknál. Válasz:állítsak be drop szabályt az ipre! :D (már be van, csak gondoltam érdekli őket, hogy van egy zombijuk, kéne vele valamit kezdeni....)

Ezt szoktam használni alap beállításnak:

https://wiki.mikrotik.com/wiki/Drop_port_scanners

Senkinek nincs köze világod belsejéhez, neked sincs közöd mások életéhez, csak az Irgalom útján van közöd, Istenektől rendelt kötelességed.

Így már értelek, szerverek vannak mögötte. 1 szerver esetén ugye felesleges, azon az 1 szerveren érdemes intézni mindent.

Ha egy szerverpark van mögötte, akkor érdemes 1 helyen, koncentráltan kezelni a tíltást. Nem tudom, hogy a mikrotik-e erre a legmegfelelőbb helyszín.

GeoIP tíltást én is használni ipset-tel a szervereken. Lehet, hogy a mikrotik csak meghívna egy scriptet, ami egy közös listába addol IP-ket és ezt a listát etetném a sok-sok szerverrel. Még is csak több meg ráadásul elosztott azaz arőforrás.

Úgy tudom ipset szintű kis terhelést generáló tűzfal modul nincs a mikrotikhez.

1 szerver esetén is (több szervernél meg pláne) érdemes már a router-en (jelen esetben MT-n) tiltani a próbálkozót akkor is, ha a szerver érzékel támadást.

Én teljes IP tartományt védek a fenti módszerrel úgy, hogy egyrészt a MT figyel minden, legálisan nem használt IP:port párosra irányuló kísérletet, másrészt a szervereken futó fail2ban API-n keresztül szintén a MT banlist-jébe pakolja az IP címeket. Nem nagyon volt még panasz fals pozitívra.

"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

CCR-ben azért van erre elég erőforrás és így 1 szerveren észlelt támadó onnantól az egész hálózat előtt meg meg fogva (branch office-ok is vannak mögötte bérelt vonalakon, amikre így szintén nem ró felesleges terhelést)

"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

Szerkesztve: 2020. 02. 23., v – 09:19

Amiket eddig találtam, és még üzemelnek:

http://joshaven.com/resources/tricks/mikrotik-automatically-updated-address-list/

https://pawelgrzes.pl/blog/mikrotik-blacklist  --> ezt még nem próbáltam

Csak azért van/lenne rá szükség, hogy olyan IP címek/tartományok felé/felől ne menjenek/jöjjenek forgalmak, amik esetlegesen kárt okozhatnak (web-oldalak stb). IPv6-os feketelistát még nem találtam.

BOGON-okra ezt találtam: https://www.team-cymru.com/bogon-reference-http.html

Szerkesztve: 2020. 02. 24., h – 12:38
urllist = (
'https://rules.emergingthreats.net/fwrules/emerging-Block-IPs.txt',
'https://www.talosintelligence.com/documents/ip-blacklist'
)

Írsz egy scriptet, ami a fentieket feldolgozza, a duplikációkat kiszedi, teszel mellé a biztonság kedvéért egy fehér listát nehogy abszurd esetben saját subneteket csukd ki.
Naponta 1x frissíted, és olyan formátumban rakod ki amiben csak akarod.

Pl. Mikrotikhez ilyet generálsz:

/do {ip firewall address-list add list=xxx-BlackList address=100.6.23.40 timeout=2d } on-error={}
/do {ip firewall address-list add list=xxx-BlackList address=101.100.137.135 timeout=2d } on-error={}
/do {ip firewall address-list add list=xxx-BlackList address=101.141.5.17 timeout=2d } on-error={}
/do {ip firewall address-list add list=xxx-BlackList address=101.187.134.207 timeout=2d } on-error={}
/do {ip firewall address-list add list=xxx-BlackList address=101.187.197.33 timeout=2d } on-error={}

A fentieket praktikus nem Mikrotik alatt megírni, biztos nem lehetetlen. De python/perl … -el ahol tudsz azért IP címet validálni, duplikációt keresni gyorsan, lényegesen egyszerűbb.
Az eredményt kirakod valahol HTTP-re, Mikrotik-ek (és más eszközök) napi egyszer letöltik, majd betöltik.

Kb. mindenhol használjuk a fenti két listát, központosított terjesztéssel BSD, Linux, Mikrotik, Cisco, … alatt, soha semmi gond nem volt vele.

Nyilván attól függ hogy ki mit üzemeltet, nálam VPS ügyfelek vannak, ott adnom kell publikus SSH/RDP hozzáférést az ügyfeleknek, viszont rengeteg SSH/RDP bruteforce támadás érkezik kínából, ügyfél viszont egy se volt még APNIC tartományból, így ezeket letiltottam.

ipv6 firewall address-list
:local update do={
:do {
:local data ([:tool fetch url=$url output=user as-value]->"data")
remove [find list=blacklist comment=$description]
:while ([:len $data]!=0) do={
:if ([:pick $data 0 [:find $data "\n"]]~"^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}") do={
:do {add list=blacklist address=([:pick $data 0 [:find $data $delimiter]].$cidr) comment=$description timeout=1d} on-error={}
}
:set data [:pick $data ([:find $data "\n"]+1) [:len $data]]
}
} on-error={:log warning "Address list <$description> update failed"}
}
$update url=https://www.spamhaus.org/drop/dropv6.txt description="Spamhaus DROPIPv6" delimiter=("\_")

 

Hol lehet a script-ben a hiba, mert az összes sort nem teszi be az IPv6-os address-list-be, ami a linken található (https://www.spamhaus.org/drop/dropv6.txt)?

ipv6 firewall address-list
:local update do={
:do {
:local data ([:tool fetch url=$url output=user as-value]->"data")
remove [find list=blacklist comment=$description]
:while ([:len $data]!=0) do={
:if ([:pick $data 0 [:find $data "\n"]]~"^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}") do={
:do {add list=blacklist address=([:pick $data 0 [:find $data $delimiter]].$cidr) comment=$description timeout=1d} on-error={}
}
:set data [:pick $data ([:find $data "\n"]+1) [:len $data]]
}
} on-error={:log warning "Address list <$description> update failed"}
}
$update url=https://www.spamhaus.org/drop/dropv6.txt description="Spamhaus DROPIPv6" delimiter=("\_")

 

Hol lehet a script-ben a hiba, mert az összes sort nem teszi be az IPv6-os address-list-be, ami a linken található (https://www.spamhaus.org/drop/dropv6.txt)?