Proteja seu servidor doméstico do Minecraft contra ataques DDOS com AWS

Quer executar um servidor do Minecraft em casa sem revelar seu endereço IP? Você pode! Basta configurar um proxy gratuito com Amazon Web Services para proteger seu servidor de ataques de negação de serviço. Vamos mostrar como.

Este guia funcionará para qualquer servidor de jogo, não apenas para o Minecraft. Tudo o que ele faz é o tráfego de proxy em uma porta específica. Você só precisa alterar a porta 25565 do Minecraft para qualquer porta em que seu servidor de jogo seja executado.

Como é que isso funciona?

Digamos que você queira hospedar um servidor do Minecraft e abri-lo na Internet. Não é tão difícil administrar um. Eles são fáceis de instalar, usam apenas um thread de processamento e mesmo os servidores fortemente modificados não ocupam mais do que 2 a 3 GB de RAM com alguns jogadores online. Você pode facilmente executar um servidor em um laptop antigo ou em segundo plano em seu computador desktop, em vez de pagar a alguém para hospedá-lo para você.

Mas para as pessoas se conectarem a ele, você precisa fornecer seu endereço IP. Isso apresenta alguns problemas. É um grande risco à segurança, especialmente se o roteador ainda tiver a senha de administrador padrão. Ele também deixa você aberto a ataques de negação de serviço distribuído (DDOS), que não apenas interromperiam seu servidor do Minecraft, mas também desligariam sua Internet até que o ataque diminuísse.

Você não precisa permitir que as pessoas se conectem diretamente ao seu roteador. Em vez disso, você pode alugar uma pequena caixa de Linux na Amazon Web Services, Google Cloud Platformou Microsoft Azure – todos com níveis gratuitos. Este servidor não precisa ser forte o suficiente para hospedar o servidor do Minecraft – ele apenas encaminha a conexão para você. Isso permite que você forneça o endereço IP do servidor proxy em vez do seu próprio.

Digamos que alguém queira se conectar ao seu servidor, então ela digita o endereço IP do seu proxy AWS em seu cliente Minecraft. Um pacote é enviado ao proxy na porta 25565 (porta padrão do Minecraft). O proxy está configurado para corresponder ao tráfego da porta 25565 e encaminhá-lo ao seu roteador doméstico. Isso acontece nos bastidores – a pessoa que está se conectando nem sabe.

  Como semear mundos no Minecraft Bedrock Edition no Windows 10

Seu roteador doméstico deve então ser encaminhado pela porta para encaminhar a conexão para o seu PC real. Seu PC executa o servidor e responde ao pacote do cliente. Ele o encaminha de volta ao proxy e, em seguida, o proxy reescreve o pacote para fazer com que pareça que é o proxy quem está respondendo. O cliente não tem ideia de que isso está acontecendo e simplesmente pensa que o proxy é o sistema que está executando o servidor.

É como adicionar outro roteador na frente do servidor, da mesma forma que o roteador doméstico protege o computador. Este novo roteador, no entanto, é executado na Amazon Web Services e obtém a mitigação DDOS de camada de transporte completa que vem gratuitamente com todos os serviços AWS (chamado AWS Shield) Se um ataque for detectado, ele será mitigado automaticamente sem incomodar o servidor. Se não for interrompido por algum motivo, você sempre pode desligar a instância e cortar a conexão com sua casa.

Para lidar com o proxy, você usa um utilitário chamado sslh. Destina-se à multiplexação de protocolo; se você quiser executar SSH (geralmente porta 22) e HTTPS (porta 443) na mesma porta, terá problemas. sslh fica na frente e redireciona as portas para os aplicativos pretendidos, resolvendo esse problema. Mas ele faz isso no nível da camada de transporte, assim como um roteador. Isso significa que podemos corresponder ao tráfego do Minecraft e encaminhá-lo para o seu servidor doméstico. sslh é, por padrão, não transparente, o que significa que ele reescreve os pacotes para ocultar seu endereço IP residencial. Isso torna impossível para alguém farejar com algo como Wireshark.

Criar e conectar a um novo VPS

Para começar, você configurou o servidor proxy. Isso é definitivamente mais fácil de fazer se você tiver alguma experiência em Linux, mas não é obrigatório.

Dirigir a Amazon Web Services e criar uma conta. Você deve fornecer suas informações de cartão de débito ou crédito, mas isso serve apenas para evitar que as pessoas façam contas duplicadas; você não é cobrado pela instância que está criando. O nível gratuito expira depois de um ano, portanto, certifique-se de desativá-lo depois de concluí-lo. Google Cloud Platform tem uma instância f1-micro disponível gratuitamente o tempo todo se você preferir usá-la. O Google também oferece um crédito de $ 300 por um ano, que você pode realmente usar para executar um servidor de nuvem adequado.

  Como instalar skins e pacotes de textura no Minecraft Windows 10 UWP

A AWS cobra um pouco pela largura de banda. Você ganha 1 GB de graça, mas é tributado em US $ 0,09 por GB por qualquer coisa acima disso. Realisticamente, você provavelmente não vai superar isso, mas fique de olho se vir uma cobrança de 20 centavos em sua conta.

Depois de criar sua conta, pesquise “EC2.” Esta é a plataforma de servidor virtual da AWS. Você pode ter que esperar um pouco para que a AWS habilite o EC2 para sua nova conta.

Na guia “Instâncias”, selecione “Iniciar instância” para abrir o assistente de inicialização.

Clique

Você pode selecionar o padrão “Amazon Linux 2 AMI” ou “Ubuntu Server 18.04 LTS” como o sistema operacional. Clique em Avançar e você será solicitado a selecionar o tipo de instância. Selecione t2.micro, que é a instância do nível gratuito. Você pode executar esta instância 24 horas por dia, 7 dias por semana no nível gratuito da AWS.

Selecione

Selecione “Rever e lançar”. Na próxima página, selecione “Iniciar” e você verá a caixa de diálogo abaixo. Clique em “Criar um novo par de chaves” e, em seguida, clique em “Baixar par de chaves”. Esta é a sua chave de acesso à instância, portanto, não a perca – coloque-a na pasta Documentos por segurança. Após o download, clique em “Iniciar instâncias”.

  Clique

Você é levado de volta à página de instâncias. Procure o IP público IPv4 da sua instância, que é o endereço do servidor. Se desejar, você pode configurar um AWS Elastic IP (que não muda durante as reinicializações) ou até mesmo um nome de domínio gratuito com dot.tk, se não quiser mais voltar a esta página para encontrar o endereço.

Guarde o endereço para mais tarde. Primeiro, você precisa editar o firewall da instância para abrir a porta 25565. Na guia Grupos de segurança, selecione o grupo que sua instância está usando (provavelmente launch-wizard-1) e clique em “Editar”.

Clique no

Adicione uma nova regra TCP personalizada e defina o intervalo de portas como 25565. A origem deve ser definida como “Qualquer lugar” ou 0.0.0.0/0.

Adicione uma nova regra TCP personalizada e defina o intervalo de portas como 25565. A fonte deve ser definida como 0.0.0.0/0 (ou

Salve as alterações e as atualizações do firewall.

Agora vamos usar o SSH no servidor para configurar o proxy; se você estiver no macOS / Linux, pode abrir seu terminal. Se você estiver no Windows, deve usar um cliente SSH, como PuTTY ou instale o subsistema Windows para Linux. Recomendamos o último, por ser mais consistente.

A primeira coisa que você deve fazer é ir para a pasta de documentos, onde o arquivo-chave está:

cd ~/Documents/

Se você estiver usando o subsistema do Windows para Linux, sua unidade C está localizada em / mnt / c / e você deve fazer o cd para a pasta de documentos:

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

Use o sinalizador -i para informar ao SSH que você deseja usar o arquivo de chaves para se conectar. O arquivo tem uma extensão .pem, então você deve incluir:

ssh -i keyfile.pem [email protected]

Substitua “0.0.0.0” pelo seu endereço IP. Se você criou um servidor Ubuntu em vez de AWS Linux, conecte-se como usuário “ubuntu”.

  Como fazer um compostor no Minecraft

Você deve receber acesso e ver a mudança do prompt de comando para o prompt do servidor.

Configurar SSLH

Você deseja instalar o sslh a partir do gerenciador de pacotes. Para AWS Linux, isso seria yum, para Ubuntu, você usa apt-get. Pode ser necessário adicionar o repositório EPEL no AWS Linux:

sudo yum install epel-release
sudo yum install sslh

Depois de instalado, abra o arquivo de configuração com nano:

nano /etc/default/sslh

Altere o parâmetro RUN = para “sim”:

UMA

Abaixo da linha final do DAEMON, digite o seguinte:

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

Substitua “your_ip_address” pelo endereço IP de sua casa. Se você não sabe o seu IP, pesquise “Qual é o meu endereço IP?” no Google, sim, sério.

Esta configuração faz com que o proxy sslh escute em todos os dispositivos de rede na porta 25565. Substitua-o por um número de porta diferente se o seu cliente Minecraft usar algo diferente ou se você jogar um jogo diferente. Normalmente, com sslh, você combina protocolos diferentes e os encaminha para locais diferentes. Para nossos propósitos, porém, queremos simplesmente combinar todo o tráfego possível e encaminhá-lo para your_ip_address: 25565.

Pressione Control + X e, em seguida, Y para salvar o arquivo. Digite o seguinte para habilitar sslh:

sudo systemctl enable sslh
sudo systemctl start sslh

Se systemctl não estiver disponível em seu sistema, pode ser necessário usar o comando service.

sslh agora deve estar em execução. Certifique-se de que o seu roteador doméstico está encaminhando a porta e enviando tráfego 25565 para o seu computador. Você pode dar ao seu computador um endereço IP estático para que isso não mude.

Para ver se as pessoas podem acessar seu servidor, digite o endereço IP do proxy em um verificador de status online. Você também pode digitar o IP do seu proxy no cliente do Minecraft e tentar entrar. Se não funcionar, certifique-se de que as portas estejam abertas nos grupos de segurança da sua instância.