User
Pass
2FA
 
 

Anti CSDoS [Linux] - Cea mai buna metoda - HL Shield
Go to page     
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash
Author Message21230
Hidden

[Very Important Person]



Status: Offline
(since 25-01-2009 20:13)
Joined: 15 Nov 2006
Posts: 3391, Topics: 172
Location: Universul meu interior

Reputation: 440.7
Votes: 48

Post Posted: 18-04-2007, 13:46:33 | Translate post to: ... (Click for more languages)

Cum vã protejaþi serverul de Counter-Strike impotiva atacurilor cu csdos.pl (pentru servere gãzduite pe Linux)

Ce este csdos.pl?

Este un script perl care exploateazã un bug din serverul de Half-Life (ºi toate mod-urile sale, printre care si Counter-Strike), provocând un Denial of Service (refuz al serviciului). Ce înseamnã acest lucru mai exact ºi cum vã afecteazã pe dumneavoastrã ca owner de server de Counter-Strike? Pãi e foarte simplu, serverul intrã intr-o buclã infinitã care nu mai permite jucãtorilor sã se mai conecteze; în plus, dacã pe maºina respectivã mai aveþi ºi alte servicii, serviciile respective vor fi ºi ele afectate, pentru cã serverul de Counter-Strike are tendinþa de a consuma foarte mult timp de procesor (99%), provocând încetinirea generalã a sistemului. OK, aþi înteles despre ce este vorba, dar ce este de facut în cazul în care serverul nostru este supus unui atac de acest fel? Momentan nu existã nici un patch oficial pentru aceastã vulnerabilitate (descoperitã în februarie 2006). Trebuie menþionat cã aceasta problemã NU afecteazã serverele STEAM.


Ce este de fãcut?

Din fericire existã mai multe variante de a opri atacurile de acest gen. Una din metode este analizarea traficului dintre server ºi clienþi, cu snort sau iptables (utilizând string matching). Ambele metode au însã dezavantajul cã analizeazã fãrã discernãmânt TOT traficul, crescând inutil încãrcarea procesorului. În plus implementarea acestor metode este relativ greoaie ºi dificilã pentru un începãtor (necesitã cunostinþe destul de bune de administrare a serverelor Linux). Un alt dezavantaj este cã aceste metode nu rezistã atacurilor cu csdos.pl modificat.

Soluþia dezvoltatã de Serghei Amelian ºi propusã atenþiei dvs. abordeazã altfel aceastã problemã. În principiu este vorba de o bibliotecã care se interpune între server ºi internet, care analizeazã doar request-urile de tip CONNECT care vin dinspre clienþi (csdos.pl exploateazã un bug care se manifestã doar pentru aceste tipuri de request-uri).

Versiunea curentã a HLShield-ului este 1.6

Instalarea este extrem de simplã, pur ºi simplu rulaþi grupul de comenzi de mai jos în folderul radãcinã a serverului Half Life:
Code:

wget http://download.freakz.ro/hlshield-install.sh
chmod 755 hlshield-install.sh
./hlshield-install.sh


Bineinteles, dupã aceastã operaþiune trebuie sã restartaþi serverul. Dacã totul a fost corect executat, în consola ar trebui sã vedeþi ceva de genul ãsta:

Code:

[AMXX] Loaded 28 admins from file
HLShield[10062]: HLShield 1.6 - (c) 2007 by Serghei Amelian
Master server communication disabled.



Acum a sosit momentul pentru a testa protecþia. Porniþi serverul Half Life, asiguraþi-vã cã pe sistemul dumneavoastrã exista perl (cam orice Linux vine cu perl preinstalat), apoi executaþi comenzile de mai jos:

Code:

wget http://hobby.sarichioi.com/cstrike/csdos.pl
perl csdos.pl IP.SERVER


Pentru a afla dacã atacul iniþiat a fost respins, verificaþi aici:

Code:

tail -f /var/log/daemon.log


Dacã patch-ul a fost corect aplicat, trebuie sa vedeþi ceva de genul ãsta:

Code:

Jan 26 11:26:48 gw HLShield[28563]: rejected atack from IP.SERVER


Începând cu versiunea 0.9, HLShield[.b] are câteva noi opþiuni, care se configureazã prin adãugarea câtorva variabile de mediu în [b]hlds_run. Pentru a le introduce, deschideþi cu editorul de text preferat (vi, nano, joe, mcedit, etc.) fiºierul hlds_run ºi introduceþi (înainte de linia cu "export LD_PRELOAD=./hlshield.so") variabilele corespunzãtoare. De exemplu pentru mesaj de rãspuns la atac trebuie sã arate cam aºa:

Code:

export HLSHIELD_REPLY="Ratatii sã se lase de meserie!"
export LD_PRELOAD=./hlshield.so


Dacã doriþi sã blocaþi un IP care incearcã prea multe connect-uri într-un interval de timp foarte scurt (în general atacatorii procedeazã astfel), editaþi hlds_run pentru a arata astfel:

Code:

export HLSHIELD_INTERVAL=30
export LD_PRELOAD=./hlshield.so


Acest lucru înseamnã cã într-un interval de 30 de secunde nu pot fi efectuate mai mult de 3 încercãri de conectare. Puteþi testa asta conectând-vã/de-conectându-vã (în serie rapidã) cu clientul de counter. O sã vã aparã o fereastrã ca cea de mai jos. Dacã atacatorul nu respectã cele 30 de secunde, intervalul se prelungeºte cu încã 30 de secunde, º.a.m.d.



Aceastã ultimã opþiune poate proteja serverul dvs. de exploit-ul cu "born to be pig", care blocheazã serverul dupã încercãri repetate de reconectare.

Începând cu versiunea 1.5 (aceastã opþine nu funcþioneazã împreunã cu versiunea 3561 a engine-ului Half Life), am introdus posibilitatea de a ºterge din numele jucãtorului unele caractere, cum ar fi de exemplu ` sau ~. Pentru a face acest lucru, hlds_run trebuie editat pentru a arãta în felul urmãtor:

Code:

export HLSHIELD_REMOVE='`~'
export LD_PRELOAD=./hlshield.so


Începând cu versiunea 1.6, HLShield poate funcþiona cu versiunea 3561 a engine-ului Half Life. Notaþi cã dacã veþi folosi versiunea 3561, opþiunea HLSHIELD_REMOVE nu va putea fi utilizatã (aceastã versiune a Half Life-ului nu acceptã sã fie modificat string-u CONNECT).


Notã: Locaþia fiºierului daemon.log poate diferi, în funcþie de distribuþia folositã.

Notã: patch-ul a fost testat doar pentru Counter Strike 1.6 non-steam, dar este posibil sã funcþioneze ºi cu alte MOD-uri HalfLife.

Autor:Serghei Amelian


...va asigur ca greselile ortografice, ortoepice, de punctuatie, morfosintactice si folosirea inadecvata a unitatilor lexico-semantice imi apartin, mi le asum, dar la scoala sa stiti ca tot nu ma duc!

0 0
  
Back to top
View user's profile Send private message
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash  
Go to page     


The time now is 20-04-2024, 05:54:56
Copyright info

Based on phpBB ro/com
B

 
 
 







I forgot my password


This message appears only once, so
like us now until it's too late ! :D
x