abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:33 | IT novinky

    Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.

    Ladislav Hagara | Komentářů: 0
    dnes 15:55 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 2
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (39%)
     (45%)
     (16%)
     (17%)
     (21%)
     (16%)
     (18%)
     (16%)
     (16%)
    Celkem 187 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: iptables ddos ochrana

    26.3.2017 04:14 newone
    iptables ddos ochrana
    Přečteno: 805×
    Ahoj, mám CentOS6, na kterém mi běží webserver (tcp80+443). Před serverem je firewall, který všechen příchozí provoz z internetu blokuje, kromě portů 80/tcp a 443/tcp (víc o firewallu nevím, neadminuju ho). Provoz z internetu jde na eth1, eth0 je management sitovka.

    Pomocí iptables chci zabránit malému DDOS útoku na eth1, nepotřebuju logování, jde mi o jednoduchost, přehlednost a funkčnost. Předpokládám návštěvnost cca 30 připojení za sekundu. Ve špičce i víc.

    Podle tohoto článku jsem si sepsal pravidla, výsledek vypadá takto:
    [root@svweb1 ~]# iptables-save
    # Generated by iptables-save v1.4.7 on Sun Mar 26 03:11:48 2017
    *filter
    :INPUT ACCEPT [46:3090]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [150647:109863890]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i eth1 -p tcp -m connlimit --connlimit-above 200 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
    -A INPUT -i eth1 -p tcp -m tcp --tcp-flags RST RST -m limit --limit 2/sec -j ACCEPT
    -A INPUT -i eth1 -p tcp -m tcp --tcp-flags RST RST -j DROP
    -A INPUT -i eth1 -p tcp -m conntrack --ctstate NEW -m limit --limit 60/sec --limit-burst 50 -j ACCEPT
    -A INPUT -i eth1 -p tcp -m conntrack --ctstate NEW -j DROP
    COMMIT
    # Completed on Sun Mar 26 03:11:48 2017
    # Generated by iptables-save v1.4.7 on Sun Mar 26 03:11:48 2017
    *mangle
    :PREROUTING ACCEPT [252606:111663529]
    :INPUT ACCEPT [252500:111649961]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [150664:109868456]
    :POSTROUTING ACCEPT [150664:109868456]
    -A PREROUTING -m conntrack --ctstate INVALID -j DROP
    -A PREROUTING -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j DROP
    -A PREROUTING -p tcp -m conntrack --ctstate NEW -m tcpmss ! --mss 536:65535 -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,PSH,URG -j DROP
    -A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP
    -A PREROUTING -f -j DROP
    COMMIT
    # Completed on Sun Mar 26 03:11:48 2017
    
    [root@svweb1 ~]# iptables -vnL --line-numbers
    Chain INPUT (policy ACCEPT 113 packets, 7696 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    1    33061   14M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    2        0     0 REJECT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           #conn/32 > 200 reject-with tcp-reset
    3        0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x04/0x04 limit: avg 2/sec burst 5
    4        0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x04/0x04
    5      195 10824 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           ctstate NEW limit: avg 60/sec burst 50
    6        0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           ctstate NEW
    
    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    
    Chain OUTPUT (policy ACCEPT 22804 packets, 15M bytes)
    num   pkts bytes target     prot opt in     out     source               destination
    
    Co si o tomto řešení myslíte? Uvítám vaše názory, popřípadě vaše řešení z podobně dimenzované aplikace. Dík

    Odpovědi

    26.3.2017 08:46 iptables
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Představ si, co to je DDOS.

    Zahlcení linky za účelem znepřístupnění služeb.

    Skutečně si myslíš, že pomůže omezení provozu?

    Pokud vím (ostatní mě opraví), proti DDOS pomůže jen dostatečně "široká" linka.

    Existuje mnoho řešení za mnoho peněz.

    Žádné ale nefunguje.

    Pokud se začne omezovat provoz (včetně omezení IP na země nebo rozsahy) DDOS vyhrál.
    26.3.2017 10:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Ne, DDoS je distribuované znepřístupnění služeb. Nemusí jít o zahlcení linky, klidně se může útočník pokoušet zahltit aplikaci nebo operační systém. Mnoho aplikací nezvládne obsloužit tolik požadavků, kolik k nim pustí linka.

    Nicméně nacpat do firewallu spoustu divných pravidel je právě způsob, jak omezit propustnost OS, aby ten DDoS byl snazší.
    26.3.2017 09:36 NN
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Dve veci. Nedelej zbytecne praci za firewall, kdyz ho tam mas. Definovanim legitimniho provozu a zahozenim zbytku by jsi si usetril dost pravidel i prace.
    26.3.2017 10:41 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Vůbec nepíšete, čeho tím nastavením firewallu chcete dosáhnout („zabránit malému DDoS“ je příliš obecné – má vaše aplikace problém s počtem spojení, nebo s počtem nových spojení,nebo s délkou spojení, s objemem přenesených dat?). Takže těžko můžeme posoudit, zda vaše řešení vede k požadovanému výsledku a zda je efektivní. Osobně mi nepřipadá jako dobrý nápad nutit firewall sledovat všechna spojení ani nutit ho procházet spoustu pravidel.

    Je vůbec nějaký důvod mít tam firewall? Máte tam nějaké aplikace, které naslouchají na IP adrese dostupné z venku, které nemají být z venku dostupné? Pokud ano, nemůžete je nakonfigurovat tak, aby naslouchaly jenom tam, kde mají?

    Jaké jsou limity té vaší aplikace? Opravdu je nutné aplikaci před přetížením chránit firewallem, který nic neví ani o komunikaci ani o stavu aplikace? Nedokázala by se ta aplikace lépe ubránit sama?
    26.3.2017 12:17 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Můžeš se inspirovat zde: ipset: odlehčete přetíženým iptables
    ipset create zakazane hash:ip timeout 86400
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m set --match-set zakazane src -j DROP
    iptables -A INPUT -p tcp --dport 22 -m hashlimit --hashlimit-above 5/min --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name SSH-bruteforce -j SET --add-set zakazane src
    Ale jak psaly pokud je to fakt masivní DDOS a vytíží linku tak nic nezmůžeš.

    Pokud je to DDOS pouze na nějakou službu tak by to ta služba měla ustát (měly by ty parametry být nastaveny už v té službě) ale pokud to tam nejde nastavit tak pak takové pravidlo co dočasně blokne útočící IP pomůže.

    Ale pokud půjdou útoky z hromady různých IP třeba 10 dotazů z jedné IP dalších 10 dotazů z druhé + 10 dotazů z třetí tak ti to stejně nepomůže....
    26.3.2017 12:23 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Pokud je to útok z jedné nebo několika málo IP adres, není to DDoS, ale „jen“ DoS. To první „D“ v DDoS znamená „distribuovaný“. Celé je to „(distributed) denial of service“.
    26.3.2017 13:16 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Jasně ale je rozdíl zda to jde z stovek rozdílných IP a nebo z tisíců a více....

    PS. Kdy je to DoS a kdy už DDoS?
    26.3.2017 18:14 iptables
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Pokud na tebe zaútočím z jedné IP na tvou službu a uměle vytvořím provoz, co tu službu znapřístupní, je to DoS a pomocí pravidel ve firewallu lze občas Dos zabránit.

    Pokud si vezmu na pomoc pár desítek tisíc mých zombíků a zaútočím na tebe, jedná se o DDoS a ty se můžeš jít klouzat, pokud nesedíš na páteřní síti. :-)
    27.3.2017 14:28 Elvis
    Rozbalit Rozbalit vše Re: iptables ddos ochrana
    Lepším řešením by bylo pustit veškerý webový provoz na nějakou proxy a na té omezovat počet existujících a nových spojení. A na zbytek dávat tcp/reset.
    Na firewallu můžeš blokovat provoz z nějakých exotických rozsahů, pokud takové jsou.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.