S21+ Lab
Um smartphone virou meu laboratório de infraestrutura.
Este domínio é o diário de construção de um servidor real usando um Galaxy S21+. Aqui eu documento o que aprendo sobre Linux, redes, servidores, DNS, HTTPS, segurança e programação.
Diário do Lab
O caminho percorrido desde um celular danificado até um servidor acessível pela internet.
Android virou ambiente de servidor
O Android continua sendo o sistema operacional principal. Dentro dele, o Termux fornece ferramentas Linux, terminal, Python, Git e OpenSSH.
SSH sem senha
Uma chave Ed25519 permite administrar o servidor remotamente pelo Fedora sem depender de senha.
IP, portas e NAT
O S21+ possui um endereço dentro da rede local. O roteador recebe conexões da internet e encaminha apenas a porta necessária para o servidor.
NGINX entrou em cena
O NGINX passou a servir o site e também funciona como reverse proxy para a API Python de monitoramento.
HTTPS, TLS e certificado
DuckDNS fornece o nome público e Let's Encrypt fornece o certificado usado pelo NGINX.
O servidor começou a observar a si mesmo
Uma API Python coleta métricas do sistema e o navegador consulta essas informações periodicamente.
O caminho de uma requisição
Pense na internet como um sistema de entregas.
É a lista telefônica. Transforma o nome do domínio em um endereço IP.
É o endereço do prédio onde a entrega deve chegar.
É a porta específica do prédio usada pelo HTTPS.
É a recepção que encaminha a entrega para o destino interno.
É o atendente que decide quem deve responder.
É o setor interno que possui os dados solicitados.
Entregue o Pacote
Monte o caminho que uma requisição percorre até chegar à API do servidor.
Acesse /api/status pela internet
Clique nas etapas na ordem correta.
Experimentos reais
Testes feitos no próprio laboratório.
Superfície externa
443 OPEN 8022 FILTERED 8080 CLOSED 8090 CLOSED 8443 CLOSED
Um serviço existir no telefone não significa que ele esteja acessível pela internet.
TLS
TLS 1.0 BLOQUEADO TLS 1.1 BLOQUEADO TLS 1.2 ATIVO TLS 1.3 ATIVO
O servidor aceita explicitamente apenas TLS 1.2 e TLS 1.3.
Arquivos sensíveis
/.env → 404 /.git/config → 404 /nginx.conf → 404
Os arquivos testados não são servidos pela raiz pública.
Reverse proxy
Internet ↓ HTTPS :443 ↓ NGINX :8443 ↓ /api/status ↓ 127.0.0.1:8090
A API permanece interna enquanto o NGINX fornece uma interface pública controlada.
Tecnologias do laboratório
Cada ferramenta resolve uma parte diferente do problema.