Уразливість DDoS/Dice і заходи безпеки P2P на серверах Metin2 Pvp
Найбільш цільовими точками серверів Metin2 pvp для кіберзловмисників є порти P2P (Peer-to-Peer) і вразливості Dice. Використовуючи ці вразливості, зловмисники можуть знизити рівень внутрішньоігрових каналів (CH), вивести з ладу сервер або надати собі недійсні дозволи. У цьому посібнику ми зібрали кроки, які потрібно виконати, щоб забезпечити безпеку вашого сервера та запобігти цим атакам.
1. Закриття портів P2P для зовнішнього світу (найважливіший захід)
Порти P2P дозволяють ігровим каналам обмінюватися даними між собою. Якщо ці порти залишаються відкритими назовні, зловмисники можуть отримати права адміністратора або закрити канали, надіславши фальшиві команди на сервер. Для вирішення потрібно активувати брандмауер FreeBSD (IPFW або PF):
- ваш сервер із Filezilla
/etc/rc.confВідкрийте файл і ввімкніть брандмауер, додавши ці рядки:
firewall_enable="YES" firewall_script="/etc/ipfw.rules"
- Потім
/etc/ipfw.rulesСтворіть файл під назвою , дозвольте портам гри, які мають бути відкриті назовні (вхідний порт, порти CH), і запишіть, як написано у ваших файлах CONFIG. Порти P2P лише на локальному хості (127.0.0.1) Додайте правило для прослуховування.
2. Налаштування безпеки P2P у файлах CONFIG
Якщо ви не використовуєте вихідні файли та налаштування ipfw є складними, ви можете обмежити P2P-з’єднання всередині сервера лише з файлу CONFIG кожного каналу:
/usr/game/cores/channel1/CONFIGВідкрийте файл.- Додайте таку команду в нижній рядок файлу:
bind_ip 127.0.0.1 - Завдяки цій команді цей канал відхилятиме прямі запити прослуховування портів із зовнішніх мереж. Повторіть цей процес для всіх файлів CH, Auth і Game99 CONFIG.
3. Відключення команди вразливості "Dice".
У файлах старішого покоління або незахищених файлах гравці могли зациклювати ігровий движок і скидати CH, ввівши певну команду кубика (`/dice`) у рядку чату. Щоб усунути цю прогалину:
- Якщо у вас є вихідний код,
cmd.cppВідкрийте файл іACM(do_dice)повністю видаливши рядок або поч//повністю вимкніть команду та перекомпілюйте джерело. - Якщо ви не використовуєте вихідні файли, ви можете завантажити в грі квест (скрипт Lua) Використовуйте фільтри, які автоматично викидають гравця з гри або блокують слово, коли слово «/dice» згадується в рядку чату під час введення.
Ця стаття спеціально підготовлена для PvPServer.