Stránka 1 z 1

ddos utok (resp. dns)

Napsal: 24 Mar 2018 07:55
od jany
Mam taky mensi problem:
RB450 Mikrotik 6.39.3
Linka VDSL (verejna IP adresa)
Od vcera vecera mam CPU load na 100%
V ip firewall connections mam cez 2500 spojeni (Max entries 23080)

ip firewall filter export

Kód: Vybrat vše

add action=drop chain=input comment=Drop_INVALID_connection connection-state=invalid
add action=drop chain=forward connection-state=invalid
add action=accept chain=input comment=Allow_ping icmp-options=8:0-255 protocol=icmp
add action=accept chain=forward comment=Allow_ESTABILISHED_and_RELATED_connection connection-state=established
add action=accept chain=forward connection-state=related
add action=accept chain=input connection-state=related
add action=accept chain=input comment=Allow_DNS_requests dst-port=53 in-interface=!pppoe-out1 protocol=udp
add action=accept chain=input dst-port=53 in-interface=!pppoe-out1 protocol=tcp
add action=accept chain=forward comment=moj_pc out-interface=pppoe-out1 src-mac-address=AA:1D:7D:A9:A1:CC
add action=accept chain=forward comment=server out-interface=pppoe-out1 src-mac-address=BB:50:99:36:9A:DD
add action=accept chain=forward comment=raspberry_pi_3 out-interface=pppoe-out1 src-mac-address=B8:27:EB:65:70:EE
add action=accept chain=forward comment=testing_virtual_01 out-interface=pppoe-out1 src-mac-address=AB:61:D2:2C:36:2
add action=drop chain=forward comment=pravidlo_na_blokovanie_ip_adresy src-address=217.81.214.135
add action=accept chain=forward comment=OpenVPN_tcp dst-port=1194 protocol=tcp
add action=accept chain=input comment=access_ftp_mk_from_mypc dst-port=21 protocol=tcp src-address=192.168.1.2
add action=accept chain=input comment=Allow_SNMP dst-port=161 in-interface=!pppoe-out1 protocol=udp
add action=drop chain=forward comment=DRP_everithing_else out-interface=pppoe-out1

Ak pozrem na http://openresolver.com/ tak Open recursive resolver detected on 178.x.x.x

Neviem kde moze byt problem.
Tieto 2 pravidla hovoria

Kód: Vybrat vše

add action=accept chain=input comment=Allow_DNS_requests dst-port=53 in-interface=!pppoe-out1 protocol=udp
add action=accept chain=input dst-port=53 in-interface=!pppoe-out1 protocol=tcp
ze dns bude pouzity na vsetkych rozhraniach okrem pppoe (co je brana)

Ak v ip dns zrusim allow remote request, tak spojenia v ip firewall connections postupne klesaju a CPU load sa upravi na normalnych 5-10%, ale to nie je riesenie, lebo nefunguje internet

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 08:12
od mirek.k
Ja tam nevidím zakaz portu 53 na wan interface.

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 08:23
od K3NY
proc to pravidlo zapisujes takhle? Kdybys to napsal jako DROP input dst-address a dst-port tak by to fungovalo urcite.

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 08:52
od jany
Mne to nastavoval asi 15 rokov s5 jeden chlapik, ja som do toho nejak nikdy velmi nesprtal (nie som nejaky spec. sietar) a fungovalo to. Az dnes to zacalo blbnut.
OK nastavil som to na drop a je to uz dobre.

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 09:04
od iTomB
Se podivej poradne.

Mas tam 2x input 53 accept, ale zadny drop na inputu ...

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 09:18
od jany
mirek.k píše:Ja tam nevidím zakaz portu 53 na wan interface.
Ako som uz spomenul, nie som sietar, mikrotik pouzivam ako domaci smerovac.

Kód: Vybrat vše

add action=accept chain=input comment=Allow_DNS_requests dst-port=53 in-interface=!pppoe-out1 protocol=udp
add action=accept chain=input dst-port=53 in-interface=!pppoe-out1 protocol=tcp
Neviem ci to poviem spravne, ale myslim si, ze tieto 2 pravidla (dns vacsinou funguje na udp, ale moze aj na tcp (preto 2 pravidla)) hovoria to:
Ak pridu pakety na vstupny retazec paketoveho stavoveho filtra (chain=input), konkretne na zdrojovy port 53 (dst-port=53) tak ich vsetky spracuj (action=accept) okrem tych, ktore pridu z rozhrania pppoe (in-interface=!pppoe-out1).
Ak paket tomu pravidlu vyhovie, tak sa dalej nespracuvava. Ak mu nevyhovie, pokracuje dalsimi pravidlami az pride na koniec a tam by malo byt pravidlo, ktore vsetko ostatne co nevyhovie predoslim pravidlam bez milosti zahodi.
Ja mam sice na konci firewallu pravidlo

Kód: Vybrat vše

add action=drop chain=forward comment=DRP_everithing_else out-interface=pppoe-out1
Ale toto pravidlo zahadzuje len komunikaciu, ktora pakety smeruje na ine interface. A pozeram, ze tam nemam pravidlo pre input.
Avsak to pravidlo mam uplne hore (vid moj prvy prispevok).
Teraz si nie som celkom isty.
Myslim, ze aj v linuxe sa v iptables najprv nastavi politika

Kód: Vybrat vše

iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
a potom sa ridavaju dalsie pravidla.
No teraz naozaj neviem ci mam ten firewall spravne

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 09:22
od mirek.k
Pokud je pravidlo accept, nikdy nic nezakáže. Podmínky jen určují, kdy se uplatní.
Doporučuji si přečíst alespoň základy o fungování firewallů.

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 09:31
od radik
On poneti nejaky ma. Problem je v tom, ze u mikrotiku nejde nastavit defaultni chovani firewalli jak na linuxu. Mikrotik me bohuzel u vseho accept jako vychozi politiku, proto se musi vzdy na konec dat drop vseho, aby se to obeslo.

Re: ddos utok (resp. dns)

Napsal: 24 Mar 2018 10:42
od ludvik
Také na inputu nemá povolení ESTABLISHED.

Pravidla prostě piš: accept established,related, accept na služby přesně co chci, drop všeho. Alespoň na inputu. Na forwardu to možná budeš chtít obráceně (jen výběrově zákaz něčeho). A nemíchej si chainy mezi sebou. Sice je to funkčně fuk, ale blbě se to čte.

Ona je totiž pěkná blbost mikrotiku, že na všechny služby lze určit povolené IP (ip/services), kromě DNS. Někdy mi to přijde jako dohoda s provozovateli botnetů ...

Re: ddos utok (resp. dns)

Napsal: 25 Mar 2018 23:01
od jany
jany píše:Mne to nastavoval asi 15 rokov s5 jeden chlapik, ja som do toho nejak nikdy velmi nesprtal (nie som nejaky spec. sietar) a fungovalo to. Az dnes to zacalo blbnut.
OK nastavil som to na drop a je to uz dobre.

Pridal som

Kód: Vybrat vše

add action=drop chain=input dst-port=53 in-interface=pppoe-out1 protocol=udp
add action=drop chain=input dst-port=53 in-interface=pppoe-out1 protocol=tcp
A je to OK, ale za tych par hodin (nieco viac ako 24 hod) mi to droplo cez 26 000 000 paketov a 1.6GB .
Chcem sa opytat ci sa s tym musim zmierit, alebo po case ked botnety zistia ze resolver je zavrety, tak si najdu inu obet s otvorenym resolverom.

Re: ddos utok (resp. dns)

Napsal: 25 Mar 2018 23:19
od ludvik
a) lepší řešení je DROP na všechno na konci firewallu. Zabráníš tím chybám jako jsi udělal teď.
b) nikdy nevíš, kdy to skončí. Pokud za pár dnů ne, tak si musíš změnit IP. Jiná možnost nejspíš neexistuje. Ale těch dat asi teď už nebude tolik, aby to nějak extrémně vadilo.

Re: ddos utok (resp. dns)

Napsal: 26 Mar 2018 08:01
od jany
Chvalabohu to skoncilo, dnes od skoreho rana neprisiel ani jeden paket.
Ale ten firewall mi treba dat nejako dokopy :)

Re: ddos utok (resp. dns)

Napsal: 26 Mar 2018 12:07
od Noxus28
to už default konfigurácia firewallu po vybalení z krabičky by bola rozumnejšia ako to čo tam máš teraz :nerd:

Re: ddos utok (resp. dns)

Napsal: 27 Mar 2018 16:10
od jany
Nieco som pripravil (zatial netestovane)

Kód: Vybrat vše

ip firewall filter
1 add chain=input action=accept protocol=icmp comment="povolit_ping"
2 add chain=input action=accept connection-state=established,related comment="povolit_nadviazane_spojenia_mk"
3 add chain=forward action=accept connection-state=established,related comment="povolit_nadviazane_spojenia_lan"       
4 add chain=input action=accept dst-port=53 in-interface=!pppoe-out1 protocol=udp comment="povolit_dns_udp_okrem_wan"
5 add chain=input action=accept dst-port=53 in-interface=!pppoe-out1 protocol=tcp comment="povolit_dns_tcp_okrem_wan"
6 add chain=input action=drop dst-port=53 in-interface=pppoe-out1 protocol=udp comment="zahodit_dns_udp_wan"
7 add chain=input action=drop dst-port=53 in-interface=pppoe-out1 protocol=tcp comment="zahodit_dns_tcp_wan"       
8 add chain=forward action=accept out-interface=pppoe-out1 src-mac-address=AA:1D:7D:A9:A1:CC comment="moj_pc"
9 add chain=forward action=accept out-interface=pppoe-out1 src-mac-address=BB:50:99:36:9A:DD comment="server"
10 add chain=forward action=accept dst-port=1194 protocol=tcp comment="openvpn_tcp"
11 add chain=input action=accept dst-port=21 protocol=tcp src-address=192.168.1.2 comment="ftp_z_mojho_pc"
12 add chain=input action=accept dst-port=161 in-interface=!pppoe-out1 protocol=udp comment="povolit_snmp"
13 add chain=forward action=drop connection-state=invalid comment="zahodit_neplatne_spojenia"
14 add chain=forward action=drop src-address=213.81.214.130 comment="blokovanie_ip_adresy"
15 add chain=forward action=drop connection-state=new connection-nat-state=!dstnat in-interface=pppoe-out1 comment="zahodit_vsetko_ostatne_z_wan_na_dstnat"
16 add chain=input action=drop connection-state=invalid comment="zahodit_neplatne_spojenia"
17 add chain=input action=drop in-interface=pppoe-out1 comment="zahodit_vsetko_ostatne"

pravidlo:
1 povolit ping
2. spojenie ktore nadviazalo mk uz nepreverovat
3. spojenia, ktore nadviazal niekto z lan uz nepreverovat
4,5 povolit dns resolver v LAN
6,7 zahodit pakety, ktore pridu na resolver z wan
8,9 povolit v LAN pristup z konkretnej MAC na wan interface
10. povolit v LAN ovpn
11. povolit ftp z konkretnej IP na mikrotik
12 povolit port SNMP (napr. zber dat na server)
13 neplatne spojenia zahodit (toto pravidlo neviem presne co znamena, ale v roznych navodoch je vzdy na zaciatku filtra)
14 blokovanie IP adresy
15 vsetko co pride z wan na dstnat zahodit
16 vid 13 ale input
17 ine pakety, ktore nevyhoveju predoslym pravidlam, zahodit bez odpovede

a nat

Kód: Vybrat vše

ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1 comment="snat_wan"
add action=masquerade chain=srcnat out-interface=ovpn-out1 comment="snat_ovpn"
add action=dst-nat chain=dstnat comment=ovpn_na_linux_servery_tcp dst-port=1194 in-interface=pppoe-out1 log=yes protocol=tcp to-addresses=192.168.1.3 to-ports=1194
add action=dst-nat chain=dstnat comment=virtualhost_z_vonku disabled=yes dst-port=80 in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.1.3 to-ports=80
add action=dst-nat chain=dstnat comment=virtualhost_z_vonku_kvm disabled=yes dst-port=80 in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.1.100 to-ports=80
add action=dst-nat chain=dstnat comment=virtualhost_z_vonku_ssl_443 dst-port=443 in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.1.3 to-ports=443
Zatial to neviem vyskusat (so mimo mk). Do komentarov som dal popis. Myslim si, ze by to mohlo byt OK. Ak je tam nieco blbo, tak dajte vediet