Suojautuminen DDoS-hyökkäyksiltä Rahdissa
Palvelunestohyökkäys (DoS-hyökkäys) on kyberhyökkäys, jossa hyökkääjä pyrkii tekemään koneen tai verkkoresurssin sen aiotuille käyttäjille saavuttamattomaksi häiritsemällä internetiin yhdistetyn palvelimen palveluita tilapäisesti tai pysyvästi. Palvelunesto toteutetaan tyypillisesti tulvimalla kohteena oleva kone tai resurssi ylimääräisillä pyynnöillä, jotta järjestelmät ylikuormittuvat ja osa tai kaikki oikeutetut pyynnöt jäävät toteutumatta. Hajautettu palvelunestohyökkäys (DDoS) on laajamittainen DoS-hyökkäys, jossa hyökkääjä käyttää useampaa kuin yhtä yksilöllistä IP-osoitetta tai konetta, usein tuhansista haittaohjelmalla saastutetuista isännistä.
Rahdin reitittimet on jo valmiiksi määritetty sisältämään jonkin verran suojaa DDoS-hyökkäyksiä vastaan. Aikakatkaisu http-request ja muut on lisätty oletusarvoiseen HAProxy-reititinkuvaan suojaamaan klusteria DDoS-hyökkäyksiltä (esimerkiksi slowloris). Tällä hetkellä määritetyt arvot ovat:
| Parametri | Oletusaikakatkaisu | Kuvaus |
|---|---|---|
| http-request | 10s | HAProxy antaa asiakkaalle 10 sekuntia aikaa lähettää HTTP-pyynnön otsakkeet. http-request -ohje |
| connect | 10s | Asettaa enimmäisajan, jonka verran odotetaan, että yhteydenmuodostus palvelimeen onnistuu. connect -ohje |
| http-keep-alive | 10s | Asettaa suurimman sallitun ajan odottaa uuden HTTP-pyynnön saapumista. http-keep-alive -ohje |
| check | 10s | Asettaa ylimääräisen tarkistuksen aikakatkaisun, mutta vasta sen jälkeen kun yhteys on jo muodostettu. check -ohje |
On mahdollista ottaa käyttöön lisäsuojauksia reittikohtaisesti. Nämä annotaatiot täytyy lisätä sen mukaisesti siihen Route-resurssiin, jota haluat suojata:
| Asetus | Kuvaus |
|---|---|
| haproxy.router.openshift.io/rate-limit-connections | Ottaa määritettävät asetukset käyttöön (esimerkiksi kun arvoksi asetetaan true). |
| haproxy.router.openshift.io/rate-limit-connections.concurrent-tcp | Samasta IP-osoitteesta tähän reittiin muodostettavien samanaikaisten TCP-yhteyksien määrä. |
| haproxy.router.openshift.io/rate-limit-connections.rate-tcp | TCP-yhteyksien määrä, jonka asiakas-IP voi avata. |
| haproxy.router.openshift.io/rate-limit-connections.rate-http | HTTP-pyyntöjen määrä, jonka asiakas-IP voi tehdä 3 sekunnin aikana. |
Voit esimerkiksi ottaa HTTP-suojauksen käyttöön suorittamalla tämän komennon:
oc annotate route test-rates haproxy.router.openshift.io/rate-limit-connections='true' \
haproxy.router.openshift.io/rate-limit-connections.rate-http='10'
Tämä ottaa käyttöön rajoituksen, jossa sallitaan 10 yhteyttä lähde-IP-osoitetta kohden 3 sekunnin aikana.
- Katso päädokumentaatiomme reitistä.
- Katso täältä upstream-dokumentaatio reittikohtaisista annotaatioista