This is my amazing life!
Niedawno zostały stworzone nowe exploity wykorzystujące to, że serwer przy otrzymaniu uszkodzonego pakietu serwer wyłącza się wyświetlając:
Host_Error: SV_ParseVoiceData: invalid incoming packet
lub
./hlds_run: line 321: 3997 Naruszenie ochrony pamięci $HL_CMD
Informacje:
Błędy te istnieją od początku istnienia CS 1.6 (binarki 2738 dla HLDS), są zawarty w każdej następnej wersji serwera HLDS (prawodpoodobnie kolejna wersja będzie już spatchowana przez Valve).
Od tego błędu nie są wolne również serwery only Steam, a póki co Valve milczy w tej sprawie, tak więc instalacja tej poprawki dla serwerów only Steam jest również potrzebna.
Changelog:
2.11 beta
- dodana łatka zabezpieczająca serwer przed nowym exploitem wykorzystującym lukę w funkcji SV_ParseCvarValue2(), umożliwiającą przepełnienie bufora, a więc crashowanie serwera.
2.10
- kontrola w celu obrony przed hlds_fuck będzie jedynie przy połączeniu z prot. 48 (w celu uniknięcia zgłaszania fałszywych ataków)
2.9
- atak hlds_fuck jest wykrywany już w bardzo wczesnym etapie, co pozwala na bezkolizyjne stosowanie łatki (poprawne zapisywanie ataków do pliku etc) wraz z nowym dproto
- poprawione wykrywanie ataków hlds_fuck
2.7
- Dodane dwa tryby logowania / rejestrowania: verbose (gadatliwy) i debug
2.6
- Nowość: Banowanie na firewallu atakujących IP (opcjonalne) (użycie via iptables) (pliki i instrukcję do włączenia tej opcji wydam na życzenie)
2.5
- Poprawione błędne wykrywanie ataków hlds_fuck
2.4
- Zabezpieczenie przed atakami hlds_fuck
2.3
- Dodana opcja logowania ataków do pliku hlshield.log
- Zabezpieczenie przed atakiem hlds_vcrash (exploit SV_ParseVoiceData)
O poprawce:
Poprawka sama w sobie jest bezinwazyjna, nie podmieniamy plików serwerowych, tak więc nie naruszamy prawa.
Chroni ona przed każdym do tej pory wykrytym exploitem, nie potrzebuje do tego żadnych dodatkowych programów typu. Metamod/dproto.
IP atakujących wraz z rodzajem ataku są zapisywane do pliku hlshield.log w głównym katalogu serwera.
Poprawka chroni przed wszystkimi wykrytymi do tej pory exploitami !
Sposoby logowania (rejestrowania) do pliku ataków:
Aby zmienić sposób logowania ataków należy znaleźć poniższą linię i dostosować ją do własnych potrzeb
export HLSHIELD_LOG=1
1 - standardowe logowanie - Nick, Adres IP i userfield. (domyślnie)
2 - wszystko co dla wartości 1 + dumpowanie klucza.
3 - logowanie każdego łączącego się z serwerem klienta (przydatne przy rozpoznawaniu nowego rodzaju ataków)
Ja polecam pozostawienie wartości 1, czyli takiej, jaka domyślnie jest ustawiona w paczce.
Wymagania:
- l Serwer oparty na prot. 47 lub 48 (zarówno serwery Nonsteam jak i only Steam)
l Serwer oparty o system Linux ( binarka 4617 - Jak rozpoznać wersję serwera? )
1) Wypakuj odpowiednią paczkę w głównym katalogu serwera, w przypadku pojawienia się informacji o niemożności podmiany jakiegoś pliku przejdź do punktu Błędy podmiany plików
2) Jeśli punkt pierwszy został pomyślnie wykonany zrestartuj serwer (koniecznie restart, zmiana mapy odpada)
Jak rozpoznać wersję serwera?
Będąc na serwerze wpisz status (lub zdalnie rcon status), powinno Ci się pojawić mniej więcej coś takiego:
hostname: Nazwa serwera
version : 48/1.1.2.6/Stdio 4617 secure (10)
tcp/ip : 80.54.30.248:27000
map : de_dust2 at: 0 x, 0 y, 0 z
players : 0 active (6 max)
W tym przypadku wersja serwera to 4617.
Błędy podmiany plików:
1) Jeśli podczas wypakowania paczki natrafisz na niemożność podmiany pliku hlds_run spróbuj go usunąć przed wgraniem paczki.
2) Jeśli powyższy krok udało się wykonać pomyślnie (plik hlds_run z paczki został wgrany na serwer) nadaj mu uprawnienia na wykonanie przez serwer (chmod 755 lub wyższy), jeśli natomiast nie udało się usunąć starego hlds_run'a poproś usługodawcę (hosting) o możliwość podmiany przez Ciebie lub niego samego.
Jaką paczkę pobrać ?
1) Jeśli mamy serwer pracujący na dwóch protokołach to zawsze wybieramy paczkę INTEL.
2) Jeśli nie mamy na sztywno ustawionej używanej binarki (-binary ./hlds_i686 - INTEL, ./hlds_amd - AMD) w linii startowej to pobieramy paczkę zgodnie z tym, na jakim procesorze pracuje serwer.
3) Jeśli nadal nie masz pewności jaką paczkę pobrać zacznij od paczki INTEL, jeśli serwer po restarcie nie będzie chciał się ponownie uruchomić zastosuj paczkę AMD.
Kopiowanie na inne fora dozwolone wyłącznie po uzyskaniu zgody !
świetnie,przydatne
Drobny update w punkcie 'Instalacja'
EDIT: Paczki wrzucone jako załącznik na forum.
UWAGA:
Poprawka ta nie chroni jednak serwera przed exploitem hlds_fuck !
Aby uchronić serwer przed atakiem z owego skryptu należy zaktualizować dproto do nowej wersji 0.4.1 - instrukcja i download tutaj
Administratorzy serwerów only Steam będą zmuszeni poczekać na wydanie dla nich osobnego fixa.
UPDATE:
1) Poprawka bezinwazyjna, nie podmieniamy plików serwerowych, tak więc nie naruszamy prawa.
2) Dodana ochrona przed exploitem hlds_fuck
Aby uchronić się przed nim w poprzedniej poprawce musieliśmy zaktualizować dproto do wersji 0.4.1, nowa łatka nie potrzebuje innych dodatków, nawet Metamoda/Dproto, co nie jest bez znaczenia dla serwerów only Steam.
3) IP atakujących są zapisywane do pliku hlshield.log w głównym katalogu serwera.
Poprawka do pobrania w pierwszym poście.
Przydadzą się te Twoje poradniki i weba.
UPDATE:
Świetnie,aktualizacja wykonana...Wielkie dzięki
windows ? ;X
UPDATE:
UPDATE:
Warto dodać, że mimo, że na procesorach AMD powinna działać wersja AMD, to często zdarza się, że trzeba zainstalować wersję Intelowską, bo inaczej serwer się nie podniesie przez crash podczas próby alokacji pewnego obszaru pamięci.
Jak sprawdzić czy już wszystko zostało zainstalowane na serverze?:)
UPDATE: