🛡️Configurando o BungeeGuard+
Neste tutorial, você aprenderá como configurar o BungeeGuard+ no seu servidor.
Introdução
As instalações BungeeCord são inseguras por padrão, e requerem regras de firewall adicionais a serem configuradas (usando iptables ou de outra forma) para evitar que usuários maliciosos contornem o proxy e se conectem usando qualquer uuid/nome de usuário que escolherem. Este é um problema bem conhecido, e ao longo dos anos muitos servidores (mesmo grandes) têm sido direcionados com sucesso usando este ataque.
A solução convencional
A solução convencional recomendada pelo autor do BungeeCord é configurar uma regra de firewall usando iptables ou ufw para evitar conexões externas com os servidores backend.
No entanto, há dois problemas principais com isso:
A configuração dessas regras de firewall é complicada, especialmente para usuários inexperientes.
Mesmo usuários experientes às vezes cometem erros ou ignoram as coisas. A menos que a configuração seja absolutamente perfeita, as regras são propensas a serem quebradas durante mudanças posteriores, ou reiniciadas no reinício do sistema.
Os usuários em "hospedagem compartilhada" não têm acesso ao sistema subjacente e muito provavelmente não podem configurar suas próprias regras de firewall.
A solução BungeeGuard
Os administradores dos servidores instalam o BungeeGuard+ (apenas um plugin comum!) em seus proxies e servidores backend.
No proxy, o BungeeGuard+ adiciona um "token de autenticação" secreto ao handshake de login.
No backend (servidor Spigot, Paper, etc.), o BungeeGuard+ verifica os handshakes de login para garantir que eles contenham um token de autenticação permitido.
É realmente tão simples quanto isso.
Instalação
Se você tiver acesso ao sistema subjacente e for capaz de configurar regras de firewall usando iptables (ou não), é recomendável fortemente que o faça. Então, instale também o BungeeGuard.
Em seu servidor proxy...
Se você estiver usando BungeeCord
Certifique-se de que o
ip_forward
está configurado paratrue
no config.yml do BungeeCord.Adicione o BungeeGuard.jar na pasta de plugins. Em seguida, reinicie o proxy. Se você tiver vários proxies em sua rede, faça isso para cada um deles.
Navegue até
/plugins/BungeeGuard/token.yml
e tome nota do token.
Se você estiver usando Velocity
Certifique-se de que você está usando Velocity 1.1.0 ou mais recente. (Não há necessidade de instalar o BungeeGuard.jar - ele já está embutido no Velocity!)
Defina o modo
player-info-forwarding-mode
para"bungeeguard"
emvelocity.toml
, e anote o modoforwarding-secret
. Este é o valor usado para o token BungeeGuard. Se você tiver vários proxies em sua rede, faça isso para cada um deles.Reinicie o proxy.
Em cada um de seus servidores backend Minecraft...
Certifique-se de que você está usando Paper 1.9.4+ ou tenha o ProtocolLib instalado.
Certifique-se de que a configuração do
bungeecord
está ajustada paratrue
no spigot.yml.Adicione o BungeeGuard.jar na pasta plugins. Em seguida, reinicie o servidor.
Navegue até
/plugins/BungeeGuard/config.yml
. Adicione o(s) token(s) gerado(s) pelo(s) proxy(s) à lista de tokens permitidos (allowed-tokens
), assim como o exemplo abaixo:Execute
bungeeguard reload
do console.
Código-fonte
O código-fonte do BungeeGuard está disponível através do GitHub: https://github.com/nickuc/BungeeGuard
Créditos
O projeto original é de autoria de lucko (https://github.com/lucko/BungeeGuard), licenciado na licença MIT.
Se você enfrentar algum problema no BungeeGuard+, não faça um report no repositório do lucko, nem mesmo na página do Spigot. Eles são softwares diferentes!
Utilize o repositório do nickuc em vez disso.
Last updated