Защитете домашния си сървър на Minecraft от DDOS атаки с AWS

Искате да стартирате сървър на Minecraft от вкъщи, без да разкривате своя IP адрес? Можеш! Просто настройте безплатно прокси с Amazon Web Services, за да защитите сървъра си от атаки за отказ на услуга. Ще ви покажем как.

Това ръководство ще работи за всеки сървър за игри, не само за Minecraft. Всичко, което прави, е прокси трафик на конкретен порт. Просто трябва да промените порта на Minecraft 25565 на порта, на който работи сървърът ви за игри.

Как работи това?

Да приемем, че искате да хоствате сървър на Minecraft и да го отворите към интернет. Не е толкова трудно да пуснеш такъв. Те са лесни за инсталиране, използват само една нишка за обработка и дори силно модифицираните сървъри не отнемат повече от 2 до 3 GB RAM с няколко играча онлайн. Можете лесно да стартирате сървър на стар лаптоп или във фонов режим на вашия настолен компютър, вместо да плащате на някой друг да го хоства вместо вас.

Но за да могат хората да се свържат с него, трябва да дадете своя IP адрес. Това създава няколко проблема. Това е голям риск за сигурността, особено ако вашият рутер все още има администраторска парола по подразбиране. Освен това ви оставя отворени за разпределени атаки за отказ на услуга (DDOS), които не само биха спрели вашия сървър на Minecraft, но биха могли да изключат и вашия интернет, докато атаката отшуми.

Не е нужно да позволявате на хората да се свързват директно с вашия рутер. Вместо това можете да наемете малка кутия за Linux от Amazon Web Services, Google Cloud Platform, или Microsoft Azure – всички те имат безплатни нива. Този сървър не трябва да е достатъчно силен, за да хоства сървъра на Minecraft – той просто препраща връзката вместо вас. Това ви позволява да дадете IP адреса на прокси сървъра вместо своя собствен.

Да речем, че някой иска да се свърже с вашия сървър, така че да въведе IP адреса на вашия AWS прокси в своя клиент на Minecraft. Пакет се изпраща до прокси сървъра на порт 25565 (порт по подразбиране на Minecraft). Прокси сървърът е конфигуриран да съответства на трафика на порт 25565 и да го препраща към вашия домашен рутер. Това се случва зад кулисите – лицето, което се свързва, дори не знае.

  Как да получите безплатното изтегляне на Minecraft Java Edition (пробна версия)

След това вашият домашен рутер трябва да бъде пренасочен към порт, за да пренасочи връзката по-нататък към действителния ви компютър. Вашият компютър управлява сървъра и отговаря на пакета на клиента. Той го препраща обратно към проксито, а след това проксито пренаписва пакета, за да изглежда, че проксито е този, който отговаря. Клиентът няма представа, че това се случва и просто си мисли, че проксито е системата, управляваща сървъра.

Това е като да добавите друг рутер пред сървъра по същия начин, по който домашният рутер защитава вашия компютър. Този нов рутер обаче работи на Amazon Web Services и получава пълното смекчаване на DDOS на транспортния слой, което се предлага безплатно с всяка услуга на AWS (наречен AWS Shield). Ако бъде открита атака, тя се смекчава автоматично, без да се притеснява вашия сървър. Ако не бъде спрян по някаква причина, винаги можете да изключите инстанцията и да прекъснете връзката с къщата си.

За да управлявате прокси сървъра, използвате помощна програма, наречена sslh. Предназначен е за мултиплексиране на протоколи; ако искате да стартирате SSH (обикновено порт 22) и HTTPS (порт 443) на един и същ порт, ще срещнете проблеми. sslh седи отпред и пренасочва портовете към предвидените приложения, решавайки този проблем. Но той прави това на ниво транспортен слой, точно като рутер. Това означава, че можем да съпоставим трафика на Minecraft и да го препратим към вашия домашен сървър. sslh по подразбиране е непрозрачен, което означава, че пренаписва пакети, за да скрие вашия домашен IP адрес. Това прави невъзможно някой да го надуши с нещо подобно Wireshark.

Създайте и се свържете с нов VPS

За да започнете, сте настроили прокси сървъра. Това определено е по-лесно да се направи, ако имате опит с Linux, но не е задължително.

Насочете се към Уеб услуги на Amazon и създайте акаунт. Трябва да предоставите информация за вашата дебитна или кредитна карта, но това е само за да попречите на хората да правят дублиращи се сметки; не се таксуват за екземпляра, който създавате. Безплатното ниво изтича след една година, така че не забравяйте да го изключите, след като приключите с него. Google Cloud Platform има f1-micro екземпляр, наличен безплатно през цялото време, ако предпочитате да го използвате. Google също така предлага кредит от $300 за една година, който всъщност бихте могли да използвате за стартиране на подходящ облачен сървър.

  Как да си направим хартия в Minecraft

AWS таксува малко за честотна лента. Получавате 1 GB безплатно, но се облагате с данък от $0,09 на GB за всичко над това. Реално погледнато, вероятно няма да преминете през това, но го следете, ако видите такса от 20 цента на сметката си.

След като създадете своя акаунт, потърсете „EC2“. Това е платформата за виртуален сървър на AWS. Може да се наложи да изчакате малко AWS да активира EC2 за вашия нов акаунт.

От раздела „Instances“ изберете „Launch Instance“, за да изведете съветника за стартиране.

Щракнете върху

Можете да изберете по подразбиране „Amazon Linux 2 AMI“ или „Ubuntu Server 18.04 LTS“ като ОС. Щракнете върху Next и ще бъдете помолени да изберете типа на екземпляра. Изберете t2.micro, който е безплатният екземпляр на ниво. Можете да стартирате този екземпляр 24/7 под безплатното ниво на AWS.

Изберете

Изберете „Преглед и стартиране“. На следващата страница изберете „Стартиране“ и ще видите диалоговия прозорец по-долу. Щракнете върху „Създаване на нова двойка ключове“ и след това щракнете върху „Изтегляне на двойка ключове“. Това е вашият ключ за достъп до екземпляра, така че не го губете – поставете го в папката си Документи за безопасно съхранение. След като се изтегли, щракнете върху „Стартиране на екземпляри“.

  Щракнете върху

Връщат ви се на страницата с екземпляри. Потърсете IPv4 Public IP на вашия екземпляр, който е адресът на сървъра. Ако желаете, можете да настроите AWS Elastic IP (който няма да се променя при рестартиране) или дори безплатно име на домейн с dot.tk, ако не искате да се връщате на тази страница, за да намерите адреса.

Запазете адреса за по-късно. Първо, трябва да редактирате защитната стена на екземпляра, за да отворите порт 25565. От раздела Групи за защита изберете групата, която вашият екземпляр използва (вероятно launch-wizard-1), след което щракнете върху „Редактиране“.

Щракнете върху

Добавете ново персонализирано TCP правило и задайте диапазона на портовете на 25565. Източникът трябва да бъде настроен на „Anywhere“ или 0.0.0.0/0.

Добавете ново персонализирано TCP правило и задайте диапазона на портовете на 25565. Източникът трябва да бъде настроен на 0.0.0.0/0 (или

Запазете промените и актуализациите на защитната стена.

Сега отиваме към SSH към сървъра, за да настроим проксито; ако сте на macOS/Linux, можете да отворите терминала си. Ако сте на Windows, трябва да използвате SSH клиент, напр PuTTY или инсталирайте подсистемата на Windows за Linux. Препоръчваме последното, тъй като е по-последователно.

Първото нещо, което трябва да направите, е cd към папката с документи, където е ключовият файл:

cd ~/Documents/

Ако използвате подсистема на Windows за Linux, вашето C устройство се намира в /mnt/c/ и трябва да отидете надолу до папката с документи:

cd /mnt/c/Users/username/Documents/

Използвайте флага -i, за да кажете на SSH, че искате да използвате ключовия файл за свързване. Файлът има разширение .pem, така че трябва да включите това:

ssh -i keyfile.pem [email protected]

Заменете „0.0.0.0“ с вашия IP адрес. Ако сте направили сървър на Ubuntu, а не AWS Linux, свържете се като потребител „ubuntu“.

  Как да си направим компостер в Minecraft

Трябва да ви бъде предоставен достъп и да видите как вашият команден ред се променя в подканата на сървъра.

Конфигурирайте SSLH

Искате да инсталирате sslh от мениджъра на пакети. За AWS Linux това би било ням, за Ubuntu използвате apt-get. Може да се наложи да добавите EPEL хранилището на AWS Linux:

sudo yum install epel-release
sudo yum install sslh

След като бъде инсталиран, отворете конфигурационния файл с nano:

nano /etc/default/sslh

Променете параметъра RUN= на „да“:

А

Под последния ред на DAEMON въведете следното:

DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address:25565 --pidfile /var/run/sslh/sslh.pid

Заменете “your_ip_address” с вашия домашен IP адрес. Ако не знаете своя IP, потърсете „Какъв е моят IP адрес?“ в Google – да, сериозно.

Тази конфигурация кара sslh прокси да слуша на всички мрежови устройства на порт 25565. Заменете това с различен номер на порт, ако вашият клиент на Minecraft използва нещо различно или играете друга игра. Обикновено с sslh съпоставяте различни протоколи и ги насочвате към различни места. За нашите цели обаче ние просто искаме да съпоставим целия възможен трафик и да го препратим на your_ip_address:25565.

Натиснете Control+X и след това Y, за да запазите файла. Въведете следното, за да активирате sslh:

sudo systemctl enable sslh
sudo systemctl start sslh

Ако systemctl не е наличен във вашата система, може да се наложи да използвате командата service.

sslh вече трябва да работи. Уверете се, че вашият домашен рутер пренасочва портове и изпраща 25565 трафик към вашия компютър. Може да искате да дадете на компютъра си статичен IP адрес, така че това да не се промени.

За да видите дали хората имат достъп до вашия сървър, въведете IP адреса на проксито в an онлайн проверка на състоянието. Можете също да въведете IP адреса на вашия прокси във вашия Minecraft клиент и да опитате да се присъедините. Ако не работи, уверете се, че портовете са отворени в групите за сигурност на вашия екземпляр.