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

O logotipo do Minecraft.

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.

Índice

Como é que isso funciona?

Digamos que você deseje 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 até 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 de 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 o servidor do Minecraft, mas também desligariam a 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 do Linux na Amazon Web Services, Google Cloud Platform ou 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 é 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.

Recomendado:  Como pesquisar um tópico online

O 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 para o proxy e, em seguida, o proxy reescreve o pacote para fazer com que pareça que o proxy 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ê quisesse executar SSH (geralmente porta 22) e HTTPS (porta 443) na mesma porta, você teria 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 combinar o 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 qualquer pessoa farejá-lo com algo como o 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.

Vá para Amazon Web Services e crie 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. O Google Cloud Platform  tem uma f1-micro instância disponível gratuitamente o tempo todo, se você preferir usá-la. O Google também oferece um crédito de $ 300 por ano, que você pode usar para executar um servidor de nuvem adequado.

Recomendado:  Economize tempo usando modelos do Gmail

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 notar 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.

Digite “EC2 ″ na barra de pesquisa na plataforma de servidor virtual da AWS.

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

Clique em “Instâncias” e selecione “Iniciar instância”.

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ê deverá selecionar o tipo de instância. Selecione t2.micro, que é a instância do nível gratuito. Você pode executar esta instância 24/7 no nível gratuito da AWS.

Selecione “t2.micro”.

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 é 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 em "Criar um novo par de chaves" e em "Baixar par de chaves".  Depois de fazer o download, clique em “Iniciar instâncias”.

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 voltar a esta página para encontrar o endereço.

Procure o IP público IPv4 da sua instância.

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 na guia "Grupos de segurança" e selecione o grupo (provavelmente "Launch-Wizard-1") que sua instância está usando.

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 origem deve ser definida como 0.0.0.0/0 (ou "Anywhere").

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 instalar o subsistema Windows para Linux . Recomendamos o último, por ser mais consistente.

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

cd ~ / Documentos /

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 / Usuários / nome de usuário / Documentos /

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

ssh -i keyfile.pem ec2-user@0.0.0.0

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”.

Recomendado:  O que é um meme (e como eles se originaram)?

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

Configurar SSLH

Você deseja instalar a sslh 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 RUN= parâmetro para “sim”:

Um comando "RUN = yes" em uma janela de terminal.

Abaixo da DAEMON linha final , digite o seguinte:

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

Substitua “ your_ip_address” pelo seu endereço IP residencial. 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 sslh proxy 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 ativar 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 service comando.

sslh agora deve estar em execução. Certifique-se de que seu roteador doméstico está encaminhando a porta  e enviando tráfego 25565 para o seu computador. Você pode querer 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, verifique se as portas estão abertas nos grupos de segurança da sua instância.