Você está aqui: Home » Jelastic » Segurança Básica para Aplicação com Balanceamento Usando NGINX

Segurança Básica para Aplicação com Balanceamento Usando NGINX

19 Flares Twitter 3 Facebook 7 Google+ 2 LinkedIn 7 Email -- Filament.io 19 Flares ×
Como a maioria das informações compartilhadas através da internet está crescendo ano após ano, também a adoção da Web como meio de se fazer negócio, a proteção de sites e aplicações web torna-se um dos principais problemas de segurança da Internet. A ameaça pode vir de origens diferentes, em que é mais comum em cross-site scripting (ataques ativos em aplicações web), injeção de ataques SQL (ativos dentro de um servidor) ou phishing (a tentativa de requerer informações essenciais como username, senha ou detalhes do cartão de créditos por passar ser uma entidade confiável).
A resposta óbvia é a implatação de várias ferramentas de prevenção, com diversas complexidades de nível e custos, que são para proteger sua aplicação de uma ou outra forma. Mas, antes de se apressar em escolher uma, considere alguns métodos comuns de segurança, porque as vezes a segurança mais básica é a mais eficiente.
Neste artigo do Jelastic vamos compartilhar como configurar um par de simples mecanismos de proteção, que estão disponíveis para qualquer aplicação que use o balanceador NGINX como uma interface, e que a implementação não requisite qualquer custo adicional. Lembrando que passar um tempo aumentando a segurança da sua aplicação agora pode salvar um pouco do seu tempo e dinheiro mais tarde e, independentemente, não vai fazer mal nenhum.

Balanceamento de Carga NGINX

Abaixo está descrito os métodos de proteção para aplicar no servidor do balanceador NGINX, então vamos falar um pouco mais sobre o procedimento.

Balancear a carga é normalmente para otimizar a utilização de recursos, maximizando os débitos, reduzindo a latência, e assegurando a configuração de falta de tolerância. Isto é realizado através de requisitos inteligentes de distribuição entre a aplicação de nodes do serviços, performance no balanceador NGINX, para garantir a alta disponibilidade e confiança. Com isto, este servidor pode ser usado para processamente de ambos, HTTP e tráfico de tipos. Para mais informações visite as correspondentes páginas de documentação do Jelastic:

O node de balanceador NGINX é automaticamente adicionado ao ambiente se você escolher mais que uma aplicação de node de servidor, e além, ele pode ser adicionado manualmente, mesmo que para um único servidor. Para fazer isto, apenas selecione o bloco de assistente do Balanceamento acima do servidor de aplicação escolhido na janela do ambiente de topologia.

Ambiente do Balanceador

Métodos de Segurança

Agora que o ambiente está pronto, é hora de revelar os incríveis métodos de segurança do Jelastic para NGNIX:

  • Autenticação para tornar o acesso ao aplicativo protegido com uma senha
  • O mecanismo de bloquear IP é usado para proibir o acesso do aplicativo a partir de um determinado IP

Nós vamos prestar atenção também na forma de combinar os métodos citados acima por ser usado simultaneamente. Então, vamos finalmente ver como implementar isso no seu ambiente. Lá vamos nós!

Autenticação

A autenticação é simples porém é um método poderoso para restringir o acesso a aplicação e garantir que uma entidade não autorizada não será capaz de causar qualquer dano a ele. Neste exemplo, nós vamos mostrar como configurar a proteção para username e senha.

1. Obviamente a informação da senha não pode ser armazenada numa forma aberta, então precisamos nos proteger. Para isto você precisa gerar um hash, com base username e senha desejada usando qualquer ferramenta htpasswd ou um dos serviços online semelhantes (por exemplo, http://www.htpasswdgenerator.net/).

2. Salve a sequencia de caracteres que você recebeu e volte para o painel do Jelastic em seu ambiente listado. Clique no botão Config no node do NGINX.

Configuração Node

3. Você verá a aba de gerenciamento das configurações aberta, em que você precisa criar um novo arquivo (usando o mesmo nome do botão no painel de ferramentas) dentro da pasta conf.d. Escolha o nome que desejar, mas obrigatóriamente com a extensão .htpasswd (e.g. password.htpasswd).

Novo arquivo no diretorio

4. Após isto está pronto, cole o hash que você recebeu na primeira instrução. Lembre-se que você pode adicionar quantas contas precisar (apenas não se esqueça de colocar cada um em uma nova linha).

Senhas de Segurança

Salve todas as alterações quando estiver tudo configurado.

5. Em seguida escolha o arquivo nginx-jelastic.conf dentro da pasta conf e encontre o primeiro bloco de localização da seção código do servidor. Cole aqui as seguintes linhas na ordem que possibilite a autenticação e aplicação apropriada para regras de acesso:

auth_basic           “closed site”;
auth_basic_user_file /etc/nginx/conf.d/{htpasswd_file};

where {htpasswd_file} – você pode inserir o nome do arquivo de hash com a senha (em nosso caso este arquivo é password.htpasswd).

Configuração no Nginx

Note que geralmente nos recomendamos modificar as configurações no arquivo nginx.conf e manter o nginx-jelastic.conf com as configurações padrão para backup. Mas neste caso, uma vez que as mudanças são necessárias são bastante simples e temos certeza de que sabemos o que estamos fazendo, será mais fácil trabalhar diretamente no arquivo nginx-Jelastic.

6. Salva as alterações que você fez mais uma vez e reinicie o node do balanceador NGINX.

Reinicie NGINX

7. Agora quando tentar abrir a sua aplicação no navegador, você terá que passar pela janela de autenticação antes de acessar sua aplicação.

Autenticação para Acesso

Depois de inserir as credenciais adequadas (aquelas que você gerou no hash), sua aplicação será acessada.

Endereço de IP Negado

Se de repente você notar que um dano a sua aplicação foi feito por um determinado usuário, você pode bloqueá-lo com o requisito de banir usuário do IP identificado e assim negar seu acesso ao aplicativo. Isto pode ser bem fácil de fazer seguindo os passos abaixo.

1. Abra o painel do Jelastic em seus ambientes e clique no botão Config do node do balanceador NGINX.

Configuração IP Negado

2. Clique no arquivo nginx-jelastic.conf na pasta conf dentro da aba Configuration Manager aberta. Encontre a localização do bloco dentro da primeira seção de código e cole a seguinte linha abaixo:

deny {IP_ADDRESS};

where {IP_ADDRESS} – obviamente o endereço que você deseja bloquear o acesso a sua aplicação.

Endereço de IP Negado

Nota: Você também pode definir o valor deste parâmetro para todos, o que significa que ninguém pode acessar sua aplicação. Neste caso, ele pode ser útil para especificar mais uma diretiva abaixo, que é usada para definir o endereço de IP (ou intervalo de endereços) que você gostaria de conceder o acesso.

3. Salve as alterações e reinicie seu node NGINX usando os botões apropriados.

Reiniciando NGINX

4. Como resultado, o usuário do IP negado irá ver a interface de erro 403 Forbidden ao tentar acessar sua aplicação.

Erro 403

Métodos Combinados

Para combinar a restrição de IP e a implementação do método de autenticação, você vai precisar usar a diretiva satisfy. Por padrão (se não estiver visivelmente configurada) já vem configurada para todos, que significa que um usuário deve reunir-se os dois tipos de condições para a concessão de acesso.

Se você especificar as diretivas dentro do arquivo de configuração e configurar qualquer valor, um usuário será capaz de abrir a aplicação se pelo menos uma das condições for satisfeita. Aqui há um exemplo de tal configuração.

Configuração de métodos de segurança

Assim, um usuário não autenticado pode acessar mesmo se o endereço de IP estiver listado no acesso negado. Ou, usuário que tenham o endereço de IP negado ainda poderão acessar a aplicação se fizerem login com as credenciais válidas.

Então, agora você sabe alguns passos básicos para proteger sua aplicação através da autenticação de acesso e a restrição de acessos por IP negados e possívelmente perigosos. Nós esperamos que este artigo seja muito útil para você (de qualquer maneira, você pode facilmente usar métodos de segurança durante o teste).

Acompanhe também o blog do Jelastic!

Sobre Gabriela Fernandes

Graduada em Marketing, é responsável pelo Marketing Digital aqui na Websolute. Apaixonada por criação de conteúdo, curiosanata sobre o Jelastic e expert em estratégias digitais

0 Comentários

Deixe o seu comentário!

Voltar ao topo
Optimization WordPress Plugins & Solutions by W3 EDGE