Aumentando a segurança do servidor¶
Alterando porta acesso servidor¶
Por padrão o SSH funciona na porta 22, dessa forma muitas pessoas má intencionadas acabam buscando atacar essas portas e dessa forma vamos alterar a porta que funciona na 22 para a porta 666.
Vamos editar o arquivo /etc/ssh/sshd_config.
$ sudo nano /etc/ssh/sshd_config
Vamos alterar a porta 22 para a 666.
Não esqueça de salvar.
Podemos verificar que não é mais possível realizar o acesso na porta 22.
Vamos agora realizar o login usando a porta 666 e validar que deu tudo certo no login.
Subindo firewall¶
Podemos ver que ao acessar a porta do docker ele está disponível, isso porque por padrão a porta está disponível para todos.
Isso acontece porque o docker expõe a porta no seguinte formato.
Podemos parar o container e fazer uma alteração simples para só funcionar de forma local.
Vou até o diretório do projeto e vou matar o container, por usar o volume não vamos perder os dados.
$ cd ~/LABS/
$ docker-compose kill
Vamos editar o arquivo docker-compose.yml, vamos alterar o valor:
ports:
- "127.0.0.1:8080:80"
- "127.0.0.1:4433:443"
Não esqueça de salvar e sair.
Agora vamos iniciar novamente o docker.
$ docker-compose up -d
Podemos ver que agora a porta não está mais exposta.
Porém via domínio é possível o acesso.
Adicionando regras para 80, 443 e 666¶
Vamos usar o ufw(Uncomplicated Firewall), devido a facilidade do uso vou explicar como podemos usar ele.
$ sudo apt install ufw -y
Vamos adicionar as seguintes regras. - Permitir acesso via 666(SSH)
$ sudo ufw allow 666
- Permitir acesso via 80 e 443.
$ sudo ufw allow 80 $ sudo ufw allow 443
Podemos agora ligar o firewall.
$ sudo ufw enable
Criando certificado SSL com certbot¶
Para gerar o certificado vamos usar o Certbot, devido a facilidade de criar e gerenciar.
Vamos instalar os requisitos para criar certificado.
$ sudo apt install certbot python3-certbot-nginx -y
Vamos adicionar o email do domínio.
Vamos aceitar que seja redirecionado para a 443 e assim forçando o acesso ao HTTPS.
Vamos escolher a segunda opção, para redirecionar sempre para HTTPS.
Vamos ter um problema, o problema é o seguinte.
Isso pode acontecer devido ao cache.
Vamos usar uma aba anônima para validar o acesso ou limpar o cache.