
Mashambulizi ya DDoS: aina, dalili na ulinzi
Table of Contents
DDoS si jambo jipya, lakini leo limekuwa rahisi zaidi, la bei nafuu na linaloweza kupanuliwa. Zamani, seva chache zilizo na mipangilio mibaya au botnet ndogo zilitosha kuvuruga huduma. Leo tunaona mashambulizi yanayoweza kusaza link kwa sehemu ndogo ya sekunde, kuishinda firewall, au kuiangusha programu kwa maombi yanayoonekana “ya kawaida”.
Makala hii si ya kutisha watu. Ni ya kuweka mambo katika muktadha: DDoS ni nini hasa, ni aina zipi za mashambulizi zinazojali kwenye uhalisia, unazigunduaje ukiwa production, na ni hatua zipi za kinga zina faida zaidi.
(D)DoS ni nini?
Katika shambulio la Denial-of-Service (DoS), mshambuliaji hujaribu kufanya huduma isitumike sio kwa kuiba data, bali kwa kuifurika au kuimaliza rasilimali zake. Lengo ni availability: tovuti haifunguki, API inapata timeout, gateway ya VPN haikubali sessions, au DNS resolver haziwezi kuendana na mzigo.
“D” kwenye Distributed ina maana trafiki haitoki kwenye chanzo kimoja, bali vingi. Inaweza kuwa botnet ya vifaa vilivyoathirika, miundombinu halali (reflection/amplification), au mchanganyiko. Kwa mwendeshaji, matokeo yanafanana: haukabiliani na mshambuliaji mmoja, bali mafuriko yaliyosambazwa.
Motisha: kwa nini mashambulizi ya DDoS hufanywa?
Sababu mara nyingi si za kuvutia, lakini zinafanya kazi:
- Utekaji wa fidia: “Lipa, au tutakuangusha tena.”
- Uanaharakati/siasa: mwonekano, ujumbe, kuvuruga.
- Kuvuruga umakini: DDoS inaweza kushikilia timu wakati kitu kingine kinafanyika sambamba.
- Ushindani/sabotage: kwenye muda muhimu (ticketing, releases, launches), hata downtime fupi huuma.
- Kusukuma gharama: si kila shambulio linalenga outage kamili; wakati mwingine lengo ni kuongeza gharama za cloud, mzigo wa support au msongo wa uendeshaji.
Tabaka muhimu (na kwa nini ni muhimu)
DDoS mara nyingi huelezwa kwa tabaka (layers) kwa sababu tabaka huamua ishara za kuangalia na kinga zipi zinawezekana.
- Layer 3 (IP): inatoka wapi na inaenda wapi.
- Layer 4 (TCP/UDP): ports, connections, handshakes, state.
- Layer 7 (Application): maombi ya HTTP(S), API, endpoints za biashara.
- “Layer 8” (Business logic): si rasmi, lakini halisi: mantiki ghali ndani ya app inayoweza kutumiwa vibaya.
Hoja kuu: ulinzi unaofanya kazi vizuri kwenye Layer 3/4 unaweza kushindwa kwenye Layer 7, kwa sababu maombi yanaweza kuonekana halali na kuwa ghali tu yanapoingia kwenye application.
Aina ya shambulio 1: volume na amplification (mara nyingi UDP)
Mashambulizi ya volumetric hulenga kushinda bandwidth au packet processing (pps). Amplifier wa kawaida ni reflection/amplification:
- Mshambuliaji hutuma requests ndogo kwa seva zinazopatikana hadharani (kwa mfano open DNS resolvers).
- Hufanya spoofing ya source address na kuweka IP ya mhanga kama “source”.
- Seva hizo hujibu kwa responses kubwa zaidi kuelekea kwa mhanga.
Kama request ya bytes 100 inatoa response ya bytes 1,000, tayari una factor 10. Kulingana na protokali na payload, inaweza kuwa kubwa zaidi. Changamoto: kwa upande wa mhanga, trafiki inaonekana kutoka kwa huduma “za kawaida” ambazo hutaki kuzizuia.
Jambo muhimu: amplification mara nyingi hutegemea source IP spoofing. Ndiyo maana ingress filtering (BCP 38) ni muhimu sana. Watoa huduma wakizuia source addresses za uongo pembeni (edge), vector hii inakuwa ngumu zaidi.
Aina ya shambulio 2: protocol na state exhaustion (TCP/Layer 4)
Si kila DDoS ni kuhusu bandwidth ya juu. Mara nyingi ni bora zaidi kutengeneza state kwenye target mpaka tables au resources zijae.
Mfano wa kawaida ni SYN flood dhidi ya TCP:
- Kawaida TCP huanzisha connection kupitia three-way handshake (SYN -> SYN/ACK -> ACK).
- Kwenye SYN flood, mshambuliaji hutuma SYN nyingi sana, lakini ACK ya mwisho haiji.
- Server hushikilia connections nyingi zenye nusu-ufunguzi (state) na hujaribu tena mpaka timeouts zitokee.
Hii hutumia memory na CPU, na inaweza kuathiri bandwidth ya outgoing pia. Na hata ukiwa na bandwidth ya kutosha: session tracking ikijaa, huduma “inashuka”.
Kundi linalofanana ni mashambulizi ya low and slow: mshambuliaji hufungua connections halisi na kuzishikilia wazi kwa trafiki ndogo sana mpaka web server au load balancer ifikie limit ya connections. Haya yanaweza yasionekane sana ukilinganisha na spike kubwa ya bandwidth.
Aina ya shambulio 3: Layer 7 na “Layer 8” (HTTP, API, endpoints ghali)
Mashambulizi ya Layer 7 mara nyingi ndiyo magumu zaidi, kwa sababu ni vigumu kuyatofautisha na trafiki halali. Mfano:
- HTTP floods: requests nyingi kwa kurasa dinamik, endpoints za search, au login flows.
- Slowloris/slow headers: connections hushikiliwa wazi kwa kutuma headers au bodies polepole sana.
- Business logic “ghali”: endpoints zinazosababisha DB queries, calls za APIs za nje, kutengeneza PDF, cryptography, au hata AI/agent workflows.
Ujanja sio lazima “trafiki zaidi”, bali kazi zaidi kwa kila request. Kiasi kidogo cha trafiki kilicholengwa vizuri kinaweza kuwa ghali zaidi kuliko wimbi kubwa la GET za static zilizo cache.
Unagunduaje DDoS production?
Ukiangalia CPU na RAM pekee, utagundua baadhi ya mashambulizi umechelewa. Kwa vitendo, baselines pamoja na metrik chache imara husaidia sana:
- Trafiki: bps na pps kwenye edge (router, firewall, load balancer).
- Connection metrics: connections mpya/s, sessions zilizo wazi, SYN backlog, TLS handshakes/s.
- HTTP metrics: RPS, latency (p95/p99), 4xx/5xx ratios, timeouts.
- Upstream symptoms: packet loss, RTT kuongezeka, links zilizojaa, BGP events.
- Log na WAF signals: paths zisizo za kawaida, headers batili, requests nyingi zisizokamilika, user agents/patterns zinazotia shaka.
Sehemu muhimu zaidi ni rahisi: unahitaji baseline. Bila baseline, kila kitu kinaonekana “kingi”. Ukiwa na baseline, unaona haraka kuwa, kwa mfano, “pakiti ndogo” au “requests zisizokamilika” zinapotoka sana kwenye kawaida.
Mitigation: nini hufanya kazi kwa vitendo
Kuna njia mbili kuu: make (kujenga mwenyewe) au buy (kutumia huduma). Kwa timu nyingi, “buy” ni ya kweli zaidi, kwa sababu DDoS mitigation hukua haraka na kuwa tatizo kubwa ambalo huwezi kuendesha kama side project.
1) Weka kitu mbele ya app: CDN/WAF/mtoa huduma wa DDoS
Kwa tovuti na API, hii mara nyingi ndiyo hatua yenye nguvu zaidi:
- Anycast husambaza trafiki kwenye maeneo mengi.
- WAF rules huchuja patterns za wazi za Layer 7.
- Bot management, rate limits na challenge/response hupunguza mashambulizi “rahisi”.
Muhimu: si kila shambulio ni HTTP. Ukiwa na huduma kama VPN, VoIP, game servers au protokali nyingine za UDP, utahitaji tabaka nyingine za ulinzi kulingana na setup yako.
2) Weka rate limiting na timeouts vizuri
Rahisi, lakini yenye nguvu ikiwa imefanywa vizuri:
- ICMP/“ping”: ipunguze, usiizuie kabisa (inahitajika kwa troubleshooting).
- HTTP: limit kwa IP/token/route, hasa kwenye endpoints ghali.
- Slow requests: timeouts ngumu kwa headers/bodies zisizokamilika.
Mfano (Nginx, uliorahisishwa sana) wa limits kwenye route:
limit_req_zone $binary_remote_addr zone=api_per_ip:10m rate=10r/s;
location /api/ {
limit_req zone=api_per_ip burst=40 nodelay;
}
Huu si “silver bullet”, lakini hubadilisha economics: mashambulizi “rahisi” yanakuwa magumu zaidi.
3) Architecture: tenganisha kazi ghali
DDoS ya Layer 7 mara nyingi haiui bandwidth. Huua sehemu ambazo request moja ni ghali kupita kiasi. Na kwenye kampuni nyingi, mifano iko kila mahali: login, search, PDF exports, reports, uploads, queries ngumu, au calls za APIs za nje.
Mfano halisi: portal ya wateja ina kitufe cha export (“invoice kama PDF”, “tengeneza report”, “download yote kama ZIP”). Kwa kawaida, mtu hukibonyeza mara chache. Kwenye shambulio, endpoint hiyo inaitwa mara mamia au maelfu kwa dakika. Bandwidth si tatizo; tatizo ni CPU (rendering), DB (queries) na worker pools (threads/connections). Kwa nje inaonekana “site ni slow”. Ndani, unaona timeouts, queueing, na DB ambayo haifiki.
Habari njema: sio lazima ujenge upya kila kitu. Mara nyingi maamuzi machache ya architecture yanatosha kutenganisha sehemu ghali na request path na kuweka breki:
- Caching (ikiwemo error pages), TTL zenye maana, edge caching.
- Asynchronous processing (queues) kwa kazi ghali: badala ya “PDF sasa”, anzisha job na toa baadaye.
- Input validation kali na kukatisha mapema: punguza complexity, weka limits kwa kila request.
- Ulinzi tofauti kwa login, search, upload, export: rate limits na timeouts maalum, na ikiwezekana worker pools maalum.
- “Degraded mode” (feature flags): zima baadhi ya features kwa muda bila deployment stress.
4) Chaguo za upstream: filtering, scrubbing, mipango ya dharura
Ikiwa inakuwa kubwa sana, lazima uchuje trafiki kabla haijafika kwenye connection yako:
- Filtering ya provider / scrubbing center
- Block rules za muda (mfano: “kwa nini UDP inafika kwenye web server yangu?”)
- Emergency routing (mfano: hamisha trafiki kwenye IP “protected”)
Hii hufanya kazi tu ikiwa umezungumza na provider mapema. Kuanza “ad hoc” katikati ya incident ni ghali na polepole.
Checklist ya vitendo (kwa timu zisizo na wataalamu wa DDoS)
- Inventory: ni huduma gani ziko public? HTTP, DNS, VPN, mail, gaming, VoIP?
- Single points of failure: DNS provider, reverse proxy, load balancer, region moja?
- Observability: bps/pps, RPS, latencies, errors, connection counts, alerts zenye baseline.
- Harden defaults: timeouts, limits, maximum header sizes, connection limits, backpressure.
- Provider plan: nani huscrub, nani huchuja, escalation paths.
- Runbook: “ikiwa X inatokea, basi Y”, pamoja na contacts, thresholds na switches (feature flags).
- Practice: load tests zilizodhibitiwa na incident drills (kisheria na zilizoratibiwa).
Mwisho: test, lakini iwe legal na yenye maana
Kujaribu DDoS ni mada nyeti. Kitu chochote kinachogusa public internet, mifumo ya watu wengine, au miundombinu bila ruhusa ya wazi ni marufuku. Unachoweza na unachopaswa kufanya:
- Load tests kwenye staging yako (kwa mfano kwa endpoints ghali).
- Chaos tests kwa dependencies (cache down, DB slow, rate limits kali zaidi).
- Fanya mazoezi ya response process: alerts, mawasiliano, escalation kwa provider, emergency measures.
Vyanzo na kusoma zaidi
- Cloudflare: Defending the Internet: How Cloudflare blocked a monumental 7.3 Tbps DDoS attack (2025)
- Cloudflare: DDoS threat report for 2025 Q1
- CISA: Understanding Denial-of-Service Attacks
- RFC 2827 (BCP 38): Network Ingress Filtering
- RFC 3704: Ingress Filtering for Multihomed Networks
Mpaka wakati ujao, Joe


