Skocz do zawartości
tomaszq

Bezpieczenstwo Serwera VPS

Polecane posty

Witam, postawiłem nie dawno serwer VPS w firmie ovh, na nim serwer ts3 oraz serwer www. Od jakiegoś czasu zaczęły dziać się dziwne rzeczy, typu serwer teamspeak3 mi się bez powodu wyłączał. Potrzebowałbym informacji co zainstalować oprócz Fail2Ban na takim serwerze.

 

Pozdrawiam,

Tomasz

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Filip Nowacki

Pokaż logi ts3, strzelam że ktoś wali Ci bugiem w telnecie albo po prostu crack licencja się sypie ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Serwer nie ma licencji, ma 32 sloty. (dla znajomych itp). Sprawa wygląda tak:

 

<23:09:29> "TS3 Support" połączono z kanałem "Poczekalnia"
<23:11:07> Utracono połączenie z serwerem

Znajomi podobno zostali "poknięci" na serwerze (ja nie zostałem może dla tego ze mam administratora?) po tym sam serwer ts3 padł, vps dalej śmigał.

 

"<23:10:25> "TS3 Support" pokes you: New Version Of Our Teamspeak IP : 62.104.20.215"

 

TS3 Support ma dość ciekawe IP 160.176.222.103

Location ma.gif MA, Morocco

 

 

Logi TS mi nic nie mówią w sumie nic tam nie ma są tak mało precyzyjne ze masakra:

2016-05-09 21:14:29.632011|INFO    |VirtualServer |  1| listening on 0.0.0.0:9987
2016-05-09 21:14:30.485472|INFO    |VirtualServerBase|  1| client connected 'Seoth'(id:38) from 83.xx.5xx3.104:63214
2016-05-09 21:14:30.686329|INFO    |VirtualServerBase|  1| client connected 'teufel'(id:5) from 83.xx.xx.71:55976
2016-05-09 21:14:30.881760|INFO    |VirtualServerBase|  1| client connected 'frnk'(id:11) from xx.xx.xx.xxx:28218
2016-05-09 21:14:30.945248|INFO    |VirtualServerBase|  1| client connected 'dmn'(id:14) from xxxxxx:51713
2016-05-09 21:14:30.976479|INFO    |VirtualServerBase|  1| client connected 'Tomasz'(id:51) from xxx:54423
2016-05-09 21:15:31.025059|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:42411'(id:16)
2016-05-09 21:15:31.267859|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:42411'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:15:31.369266|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:55667'(id:16)
2016-05-09 21:15:31.425667|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:38394'(id:16)
2016-05-09 21:15:31.612622|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:55667'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:15:31.666624|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:38394'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:15:31.814255|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:35366'(id:16)
2016-05-09 21:15:32.056611|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:35366'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:15:33.460291|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:46836'(id:16)
2016-05-09 21:15:33.671663|INFO    |VirtualServer |  1| query client connected 'Unknown from xxx:2368'(id:16)
2016-05-09 21:15:33.693030|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from 94.23.235.222:2368'(id:16) reason 'reasonmsg=disconnecting'
2016-05-09 21:15:33.700579|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:46836'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:15:34.203394|INFO    |VirtualServer |  1| query client connected 'Unknown from 37.59.31.160:60766'(id:16)
2016-05-09 21:15:34.325037|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from 37.59.31.160:60766'(id:16) reason 'reasonmsg=disconnecting'
2016-05-09 21:15:49.824225|INFO    |VirtualServer |  1| query client connected 'Unknown from 108.61.78.148:51539'(id:16)
2016-05-09 21:15:49.989058|INFO    |VirtualServerBase|  1| query client disconnected 'GameTracker'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:16:31.764810|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:54325'(id:16)
2016-05-09 21:16:32.010840|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:60916'(id:16)
2016-05-09 21:16:32.013125|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:53309'(id:16)
2016-05-09 21:16:32.014267|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:54325'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:16:32.252586|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:60916'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:16:32.256711|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:53309'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:16:32.717157|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:38474'(id:16)
2016-05-09 21:16:32.958118|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:38474'(id:16) reason 'reasonmsg=connection lost'
2016-05-09 21:16:34.562149|INFO    |VirtualServer |  1| query client connected 'Unknown from MÓJ VPS:56841'(id:16)
2016-05-09 21:16:34.804589|INFO    |VirtualServerBase|  1| query client disconnected 'Unknown from MÓJ VPS:56841'(id:16) reason 'reasonmsg=connection lost'

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A tak z ciekawości zapytam - jaką wersje TSa masz?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Filip Nowacki

Ten drugi plik z logiem wszystko powie, ten jest bezużyteczny

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ten drugi plik z logiem wszystko powie, ten jest bezużyteczny

Gdzie znajduje się drugi plik z logiem?

 

Wersja TS3 Servera: Version:3.0.10.3 on Linux

 

 

ADD znalazłem coś jeszcze w logach:

2016-05-01 00:00:32.026935|INFO    |VirtualSvrMgr |   | executing monthly interval
2016-05-01 00:00:32.027769|INFO    |VirtualSvrMgr |   | reset virtualserver traffic statistics
2016-05-02 01:14:08.237220|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 01:34:13.119056|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 02:14:18.031283|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 02:34:08.289121|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 03:14:18.172654|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 03:54:18.282685|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 04:34:18.572289|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 04:54:08.853541|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 05:14:09.156987|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 05:34:08.989720|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 06:04:19.025124|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 10:14:15.433633|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 13:24:21.273777|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 14:44:21.509418|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -3 (Odwzorowanie nazwy jest chwilowo niemożliwe) 11
2016-05-02 15:24:16.685990|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 21:04:18.641964|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 22:44:19.090212|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-02 23:44:14.290787|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-03 01:44:20.015451|ERROR   |              |   | TS3ANetwork::ResolveHostName failed error: -2 (Ta nazwa lub usługa jest nieznana) 0
2016-05-09 21:10:38.759067|CRITICAL|ParamParser   |   | Assertion "positionHint <= m_MyPiece.m_paramSize" failed at common/parameter/parameterparser.cpp:252; 

Zaktualizowałem serwer do najnowszej wersji :)

Edytowano przez tomaszq (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Filip Nowacki
Assertion "positionHint <= m_MyPiece.m_paramSize" failed at common/parameter/parameterparser.cpp:252; 

Tak jak mówiłem, krytyczny bug w query. Zmień port 10011 w ts3 lub zablokuj go na świat w iptables. Ktoś celowo łączy się telnetem z Twoim serwerem i tym bugiem crashuje Ci serwer.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ktoś ci crashuje serwer, zmień porty query oraz zrób update wersji serwera. Zainteresuj się też blokadą GEO IP w iptables, limitowaniem streserów dla tsa, zablokowanie logowania się na konto root tu pamiętaj by dodać użytkownika nowego do grupy root, zmiana portu ssh. Ogólnie wywalenie niepotrzebnych rzeczy które mogą się zapychać szybko, typu serwer www jeśli nie używasz.. Dodaj tsa do autostartu, zainteresuj się też skrypcikiem którego wrzucisz w crona będzie on miał za zadanie automatyczne włączenie serwera jeśli np sam się wyłączy, w cronie ustawisz np sprawdzanie skryptu co 5min.. Tak nawiasem to serwera VPS sam nie obronisz jedynie co możesz to zminimalizować ryzyko strat lub takich sytuacji jak twoja.

Edytowano przez Gość (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przede wszystkim - update wersji serwera. Bez tego nawet nie ma co ruszać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A więc tak od tamtego czasu pozabezpieczałem trochę serwer, zastosowałem się do rad kolegów czyli:

Zmieniłem port ssh

Zaktualizowałem wersje TS3

Logowanie SSH zrobiłem tylko dla swojego adresu IP.

Zrobiłem, sobie mały panel w php dla serwerów teamspeak oraz serwera gry.

Automatycznie sprawdzam czy serwer jest online co 15 minut jeśli nie restartuje go.

 

No i właśnie z tym panelem, mam parę pytań, bo robię to po swojemu nie do końca pewnie dobrze :)

Przykładowo do uruchomienia serwera z poziomu www, stosuje klasę Net_SSH2 oraz Gameq(status serwera), niby to działa ale nie jest do końca funkcjonalne. Przykładowo jeśli chce włączyć serwer przez www, skryptem loguje się na ssh i tworze screen, przy wyłączaniu po prostu stosuje komendę pkill. Jeżeli do tego panelu chciałbym dorzucić konsole serwera ts3 to już jest problem. Jak mniej więcej napisane są takie panele?Php znam bardzo dobrze, problem tylko stoi po stronie systemu linux, ale też pomału się uczę :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Podejrzewam że chodzi mu o polecenia query z portu 10011.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Żeby zrobić console musisz wejść w screena i tam odczytać/wysłać dane.

 

edit:

koledze jak panel do csa napisałem to ma taki podgląd (bez możliwości wpisywania komend)

console_57500c966d918.png

Edytowano przez Kamikadze (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A z możliwością wysyłania komend? Samo wyświetlenie screena to nie problem. Odświeżanie też by szło zrobić ale w bardzo nie optymalny sposób.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

No to robisz sobie funkcje wejścia w screen i wklepania komendy i wyjście ze screena i wsio.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

a odświeżanie konsoli w pętli w ajaxie? nie ma jakiś gotowych klas przykładowo w flash, wydaje mi się, że było by to bardziej optymalne:)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Gotowców raczej nikt ci nie udostępni od tak za darmo. Nie po to ludzie płacą tyle kasy za takie panele :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×