Многие не знают, что наши соседи оставили в своих сборках доступ из вне через Alias ,
С помощью которого можно выполнить взлом и вызвать перегрузку сервера.
Исправление этой уязвимости заключается в удалении сокета и обработке пакета непосредственно в локальной сети.
Для этого вам нужно открыть файл gs.conf и найти настройки локаций, для каждый локи свои настройки.
Перед начало работы исправим переменную Root из массива [Template]
Она должна выглядеть так
Рассмотрим в качестве примера мировую локацию:
Нас интересует строка
Её нужно перенаправить на локальную сеть, тем самым мы избавимся от текущей уязвимости,
для этого надо заменить значение listen_addr на вот такое
Но это не очень удобно и лично я предпочитаю использовать localhost
После выполнения этого шага во всех настройках локаций вы должны удалить файл gsalias.conf и перезапустить все службы.
На этом устранение данной уязвимости можно считать закрытым.
Так же прилагаю отредактированный файл gs.conf со сборки 1.5.5
С помощью которого можно выполнить взлом и вызвать перегрузку сервера.
Исправление этой уязвимости заключается в удалении сокета и обработке пакета непосредственно в локальной сети.
Для этого вам нужно открыть файл gs.conf и найти настройки локаций, для каждый локи свои настройки.
Перед начало работы исправим переменную Root из массива [Template]
Она должна выглядеть так
Root = /home/gamed/config/
Рассмотрим в качестве примера мировую локацию:
[World_gs01]
index = 1
tag = 1
cid = 0,2,13
base_path = world/
limit = allow-root;anti-cheat;commondata;permit_fix_position_transmit;home_entrance;
grid = {800,800,25,-10000.0,-10000.0}
base_region = {-4096.0,-5632.0} , {4096.0,5632.0}
local_region = {-4096.0,-5632.0} , {4096.0,5632.0}
dps_rank = 1
height_limit = 800.0
[Terrain_gs01]
szMapPath = map
nAreaWidth = 512
nAreaHeight = 512
nNumAreas = 88
nNumCols = 8
nNumRows = 11
vGridSize = 2.0f
vHeightMin = 0.0f
vHeightMax = 800.0f
[MsgReceiverTCP_gs01]
type = tcp
listen_addr = WORLD01:10901
so_sndbuf = 16384
so_rcvbuf = 16384
tcp_nodelay = 0
listen_backlog = 10
[MsgReceiverUNIX_gs01]
type = unix
address = /tmp/gssock_world1
listen_addr = /tmp/gssock_world1
so_sndbuf = 16384
so_rcvbuf = 16384
listen_backlog = 10
Нас интересует строка
listen_addr = WORLD01:10901
из массива [MsgReceiverTCP_gs01]
Её нужно перенаправить на локальную сеть, тем самым мы избавимся от текущей уязвимости,
для этого надо заменить значение listen_addr на вот такое
listen_addr = 127.0.0.1:10901
Но это не очень удобно и лично я предпочитаю использовать localhost
listen_addr = localhost:10901
После выполнения этого шага во всех настройках локаций вы должны удалить файл gsalias.conf и перезапустить все службы.
На этом устранение данной уязвимости можно считать закрытым.
Так же прилагаю отредактированный файл gs.conf со сборки 1.5.5