Aumentando a segurança do seu site com autenticação http e Nginx

Aumentando a segurança do seu site com autenticação http no Nginx

Vamos aprender como aumentar a segurança do seu site usando autenticação http junto com o Nginx. Basicamente iremos aprender como colocar uma solicitação de usuário e senha para acessarmos uma determinada página. Dessa forma iremos poder colocar uma etapa a mais de segurança em nossos sites. Como por exemplo no login do wordpress ou na página de login do Mautic.

Wordpress e Mautic

Wordpress é o sistema para criação de blogs mais usado no mundo atualmente e suas funções vão muito além de simples blogs. Hoje com o Wordpress é possível criar sistemas web completos e muito eficientes.

Já o Mautic é um sistema relativamente novo para automação de marketing. O Mautic é um sistema OpenSource, ou seja, pode ser usado livremente. Ele possui uma comunidade muito ativa o que vem ajudando para o aumento do números de usuários do sistema.

Por serem dois sistemas muito usados, irei usa-los como referencia para demostrar como podemos deixar um site mais seguro usando a autenticação http. Então iremos aprender como colocar um login extra na pagina de login do seu wordpress e do seu Mautic.

Criando um arquivo de senha

Sistemas linux em geral possuem um serviço chamado htpasswd que server para criar um arquivo de senha baseado no metodo chave:valor, nesse caso a chave é o nome do usuário e o valor um hash da senha criptografada. O htpasswd criptografa a senha de forma que mesmo que o arquivo seja lido a senha não será descoberta.

Use htpasswd para criar um nova etapa de login.
Use htpasswd para criar um nova etapa de login.

Para criar o arquivo contendo seu usuário e a senha basta rodar o comando a seguir. Eu recomendo que crie esse arquivo dentro do próprio diretório de configuração do seu nginx. Uma outro informação importante é que o parâmetro “-c” deve ser usado apenas na primeira vez, pois ele é quem indica que se deve criar um novo arquivo. Se não usarmos o parâmetro “-c” o htpasswd irá inserir uma nova linha dentro do arquivo acrescentando o novo usuário.

htpasswd -c /usr/local/nginx/conf/.htpasswd nomedousuário

Após rodar esse comando será solicitado que você insira a senha que será dada a esta usuário. Lembrando que este comando deve funcionar com a maioria das distribuições Linux.

Protegendo seu Wordpress

Para protegermos a pagina de login do nosso wordpress iremos precisar criar uma nova location dentro do nosso arquivo de configuração do nginx. Lembrando que esse bloco de location deve ser colocado dentro do bloco de server do seu site wordpress. Nessa location iremos usar os comandos para dizer ao Nginx que ao receber uma requisição nessa location ele deve usar a autenticação http tendo como base o arquivo do htpasswd criado anteriormente. Veja como deve ficar essa location:

location /wp-admin {

auth_basic "Acesso Restrito";

auth_basic_user_file /usr/local/nginx/conf/.htpasswd;

}

Protegendo o seu Mautic

Para protegermos o Mautic usaremos o mesmo principio usado no Wordpress, iremos criar uma nova location para acionar a autenticação http. Essa location deve ficar assim:

location /s/login {

auth_basic "Acesso Restrito";

auth_basic_user_file /usr/local/nginx/conf/.htpasswd;

}

Resultado

Usando a autenticação http será solicitado que se insira um usuário e uma senha para acessar a página, caso o dados estejam incorretos o Nginx irá retornar um erro de acesso não autorizado, e caso os dados estejam corretos a página irá carregar normalmente. Dessa forma é possível aumentar a segurança do seu site wordpress, Mautic ou qualquer tipo de site.

É possível usar a autenticação http de varias formas e além dela o Nginx te oferece outras maneiras de aumentar ainda mais a segurança do seu site, como por exemplo bloqueios por endereços IP. E para realmente aprender a como configurar o seu Nginx de forma completa e com total segurança eu recomendo que você faça o treinamento Nginx — Do Básico ao Avançado, oferecido pelo site Aula de Nginx. Este é sem dúvidas o curso mais completo sobre Nginx oferecido no Brasil.

Show your support

Clapping shows how much you appreciated Marcio Nobrega’s story.