Mikrotik - Firewall - Obrana proti hádání hesel, proti více spojení

Když se podíváte do logu mikrotiku, nebo ssh serveru za mikrotikem určitě tam uvídíte, jedno neplatné heslo za druhým. Tady si ukážeme pár pravidel firewallu, kterými se velké časti těchto útoků zbavíme. Princip je jednoduchý mikrotik vytvoří dynamický addess list zakázaných IP. Prostě blacklist na kterém bude adresa stanovenou dobu.
Ještě bych chtěl upozornit na pořadí pravidel, až budete něco zkoušet dejte si někam nahoru nad DROP pravidlo, které povoluje připojení k winboxu, nebo ssh na mikrotik. Mohlo by se stát že se do něj ze své IP deset dní nedostanete. Tato pravidla by ale měla být někde nad pravidly, která povolují to co chcete chránit.
A ještě jedna poznámka chain input chrání mikrotik, chain forward chrání to za mikrotikem.

Jako první si vytvoříme pravidlo, které zakáže adresy na blaclistu.
/ip firewall filter add action=drop chain=forward comment="Zakaze blacklist" disabled=no protocol=tcp src-address-list=blacklist

Teď pravidlo, které bude dávat adresy na blacklist.
Toto pravidlo dá na blacklist na 10 dní IP adresu která otevře během dvou minut 4 nová SSH spojení.
/ip firewall filter add action=add-src-to-address-list address-list=blacklist address-list-timeout=1w3d chain=forward connection-limit=3,32 connection-state=new disabled=no dst-port=22 limit=2/1m,0 protocol=tcp

Taky jsem viděl pravidla s grey listem. První DROP pravidlo zůstane stejné.
První řádek: Pokud je IP na greylistu a otevře nové SSH spojení dá jí toto pravidlo na 10 dní na blacklist.
Druhý řádek: Dá IP adresu která otevře nové SSH spojení na 10s na greylist.
A teď česky: Pokud chcete otevřít více SSHček musíte mezi každým novým připojením čekat 10s, jinak budete čekat 10dní.
/ip firewall filter add action=add-src-to-address-list address-list=blacklist address-list-timeout=1w3d chain=forward comment="SSH na blacklist 10 dni" connection-state=new disabled=no dst-port=22 protocol=tcp src-address-list=ssh_grey
/ip firewall filter add action=add-src-to-address-list address-list=ssh_grey address-list-timeout=10s chain=forward comment="SSH na greylist na 10 sekund" connection-state=new disabled=no dst-port=22 protocol=tcp

Oba příklady řeší stejnou věc jde o to co se komu líbí více. U druhého příkladu jsem také viděl řetěz tří greylistů, kde postupně od blacklistu dolu měli v podmínce "nižší" greylist. Bylo to jen pro to aby bylo možné bez čekání otevřít více nových spojení.

Děkuji Petru Fiedlerovi za upozornění na dvě nepřesnosti v nastavení pravidel firewallu. Jsem uvedl disabled=yes, což pravidlo vypne. Pravidla jsou zapnuta při disabled=no.