Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.eco.br
ServidorCasa·Servidor em Casabyvalveman

Preciso de dicas relacionadas com a segurança do servidor

Resumo: já tenho um setup rodando localmente e gostaria de abrir para uso pela internet. Quais medidas eu preciso tomar para deixar uso mais seguro possível?

Salve.

Tenho um homeserver temporário que fiz com Docker Compose, rodando alguns serviços que uso por LAN (Jellyfin, Radarr, Sonarr, Navidrome, ...), porém não consigo manter ele rodando 24/7 por motivos. Quero passar pelo menos minha biblioteca de músicas para uma máquina dedicada e que consiga ficar online a maior parte do tempo, e tenho um notebook parado aqui que pretendo usar para isso.

Funcionaria muito bem em LAN, porém também quero terminar minha assinatura em streaming de música para economizar uma grana. Pra conseguir fazer isso, eu precisaria que esse homeserver fosse acessível via internet, mas não faço ideia de quais medidas, especialmente relacionadas à segurança, eu preciso tomar para conseguir usar o setup da melhor forma possível.

Alguns detalhes que posso adiantar:

  • VPN com WireGuard não seria uma boa porque a maioria dos acessos ao servidor vai ser via celular, e eu já uso uma VPN comercial
  • Se possível, não gostaria de depender de um túnel da CloudFlare, Ngrok ou outra empresa
  • Meu roteador não está em CGNAT e é tranquilo fazer port-forwarding
  • Já tenho um domínio
  • Pretendo usar Caddy como proxy reverso e para resolver o certificado SSL usando Let's Encrypt
  • Pretendo adicionar um SSO (provavelmente vai ser Authelia) para proteger as rotas
View original on lemmy.eco.br
5

3 replies

lemmy.eco.br

Puts, caddy deixaria um pouco mais complicado, mas o NGINX tem muitas extensões de segurança, como a contra bots, que ajuda muito contra bots malignos ou contra bots de IA e diversas outras coisas.

Usar podman pode ser bom também, usar um servidor (NGINX ou Caddy) para receber as chamadas, rotear, etc, enquanto os containers rodam no espaço de usuário, ao invés de root, até talvez tornando em uma configuração kubernetes se quiser.

Não sei o que falar a mais sobre isso, mas minha dica seria reduzir quantidade de bots e diminuir sempre a quantidade de permissão das aplicações que rodam.

2
valvemanreply
lemmy.eco.br

caddy deixaria um pouco mais complicado

Eu não me decidi ainda. Pra ter uma ideia, meu setup em LAN usa traefik v2 como proxy reverso, mas como quero deixar o serviço exposto, HTTPS é algo obrigatório, e o Caddy é o proxy reverso com SSL automático mais fácil de configurar que já testei.

À titulo de curiosidade, tem uma versão modificada do NGINX mantida pela LinuxServer chamada SWAG que tem SSL automático via certbot (que é a ferramenta oficial do Let's Encrypt pra gerar e renovar certificado) e que tem Fail2Ban embutido. Eu achei bem interessante, mas nunca usei.

Tem também o CrowdSec, que é uma ferramenta crowd-sourced para bloquear IPs maliciosos. Achei bem interessante também, mas nunca cheguei a testar. Foi uma recomendação do Imran96 (o mesmo que criou o Obtainium) em um vídeo.

até talvez tornando em uma configuração kubernetes se quiser

Eu nunca cheguei a trabalhar com um nó Kubernetes, nem faço ideia de como funciona a configuração e manutenção dos containers, mas faz pelo menos 3 anos que digo à mim mesmo que preciso aprender. Talvez seja o incentivo que eu precisava

Minha preocupação maior é na segurança externa mesmo (intrusão, bots, scrapers de IA, entre outros). Não sei se valeria a pena investir em um curso de redes e pentest pra fazer as audits eu mesmo, ou se isso é complicar demais as coisas. Gostaria que fosse o mais seguro possível, porque se der certo, também pretendo hospedar um servidor Matrix e me livrar do Discord.

Minha noção sobre segurança e redes é minúscula, estou bem perdido nesse assunto, mas suas dicas também são muito boas. Obrigado.

2

Testei o NGINX normal com o certbot e deu certo, talvez as extensões dele, como é muito utilizado, possam ajudar na proteção contra bots, IA, etc, aquela extenção que enviei já coloca o fail2ban automaticamente, ela é como um bloqueador de anúncios, atualiza automaticamente também.

Acredito que se todos os seus serviços funcionarem no podman, possa ser bom utilizar ele ao invés do docker, só utilizar os mesmos comandos, instalando o pacote podman-docker da sua distribuição linux, aí tudo funcionaria como no docker, só que rootless e daemonless.

Talvez isso possa ajudar na sua questão, sem tocar no kubernetes, mas substituir um software em root por um software em modo de usuário rootless ajude na questão de segurança também.

Mas esses são os meus 2 centavos. Não entendo muito de redes, mas já perdi umas chaves SSH e simplesmente lasquei tudo algumas vezes.

Recomendo backup também, pela minha experiência.

1

You reached the end

Preciso de dicas relacionadas com a segurança do servidor | Spyke