• Nenhum resultado encontrado

Aplicando Segurança com

N/A
N/A
Protected

Academic year: 2021

Share "Aplicando Segurança com"

Copied!
16
0
0

Texto

(1)

Aplicando Segurança Aplicando Segurança

com com

Erick dos Santos Alves

STIC / UFRJ

2017

(2)

Roteiro Roteiro

● Breve história

● Não apenas um mero servidor Web

● Garantindo os 3 pilares

● “Proxeando” dificultamos mais

● Balanceamento de Carga

● Disponibilidade melhorada com Cache

(3)

Breve História Breve História

● O Nginx (engine x) é um serviço de HTTP e proxy reverso.

● Desenvolvido em 2005 por Igor Sysoev

● É bastante versátil podendo ser utilizado como

uma espécie de “middleware” entre o cliente e

os serviços.

(4)

Não apenas um mero servidor Web Não apenas um mero servidor Web

● Além de ser amplamente utilizado como servidor de HTTP, o Nginx pode estar presente em estruturas de servidores onde não necessariamente ele terá essa função.

● Ao utilizar o Nginx como proxy reverso, podemos

controlar o fluxo de acesso a servidores e serviços de

uma infraestrutura de T.I.

(5)

Proxy X Proxy Reverso Proxy X Proxy Reverso

Proxy “tradicional” Proxy reverso

Proxy

Saída Entrada Proxy

"Reverso"

Internet Internet

(6)

Garantindo os 3 pilares Garantindo os 3 pilares

Disponibilidade: Melhorada com balanceamento de carga e cache.

Integridade: Com o controle de cache os dados originais ficam intocados.

Confidencialidade: Com o serviço de proxy reverso é

possível controlar o que será exibido através de regras.

(7)

Proxeando” dificultamos mais (1) Proxeando” dificultamos mais (1)

Cenário 1: “Limitação de acesso”

Acesso completo a aplicação somente pela rede privada por acesso direto.

Conexões vindas da Internet passam pelo proxy e não tem acesso a parte administrativa da aplicação.

Pode ser utilizado caching para poupar esforço do servidor Web das conexões vindas da Internet.

Proxy Reverso (nginx)

Servidor de Aplicação Web

app/*.html

app/admin/*.html proxy_pass

return 404

LAN ou VPN (acesso sem proxy)

Empresa

obscuridade ;-)

Internet

IP Privado

(8)

Proxeando” dificultamos mais (2) Proxeando” dificultamos mais (2)

Cenário 1: “Limitação de acesso”

server {

listen 80;

server_name app.ufrj.br;

location / {

proxy_pass original.app.com.br;

# Substitui a URL para não quebrar links        sub_filter_once off;

       sub_filter "original.app.ufrj.br" $server_name;

}

location /admin {

return 404; #   Retorna página não encontrada ← }

}

(9)

Proxeando” dificultamos mais (3) Proxeando” dificultamos mais (3)

Cenário 2: “Pool de servidores” (cluster / load balancing)

Organiza um conjunto de servidores para responderem em uma única URL

Também é possível regular a carga de processamento de acordo com a capacidade de cada servidor do cluster

Proxy Nginx "Bombadão"

(capacidade 2x)

"Bombadinho"

(capacidade x)

Internet

pool (upstream)

(10)

Proxeando” dificultamos mais (4) Proxeando” dificultamos mais (4)

Cenário 2: “Pool de servidores” (cluster / load balancing)

upstream pool.ufrj.br {

server bombadinho.ufrj.br weight=1;

server bombadao.ufrj.br weight=2;

}

server {

listen 80;

server_name app.ufrj.br;

location / {

proxy_pass http://pool.ufrj.br;

}

}

(11)

Disponibilidade melhorada com Cache (1) Disponibilidade melhorada com Cache (1)

● Com o recurso de cache é possível guardar um recurso

“pós-processado” para que não seja necessária sua reconstrução frequente, agilizando o processamento.

● Economiza recursos computacionais fazendo com que alguns recursos sejam acessados menos vezes (ex.:

bancos de dados)

● Ideal para elementos estáticos ou que sofrem poucas modificações com o tempo.

● Pode ser aplicado parcialmente em uma aplicação

através da diretiva location.

(12)

Disponibilidade melhorada com Cache (2) Disponibilidade melhorada com Cache (2)

Servidor Web PHP

/muda_nunca.php

/muda_muito.php

Proxy Nginx

09fd4ba2edc12.cache (/muda_nunca.php) requisição

caching

bypassing

requisição

Internet

Cenário 3: Arquivos “muda_nunca” e “muda_muito”

(13)

proxy_cache_path /var/cache/ keys_zone=cache_app:10m levels=1:2;

server {

listen 80;

server_name app.ufrj.br;

location /muda_nunca.php {

proxy_pass http://original.app.ufrj.br/muda_nunca.php;

proxy_cache cache_app;

proxy_cache_use_stale error timeout updating http_403  http_404 http_500 http_502 http_503 http_504;

proxy_cache_valid 200 301 302 307 308 1h; 

proxy_cache_valid 404 2m; 

expires max;

}

location /muda_muito.php {

proxy_pass http://original.app.ufrj.br/muda_muito.php;

} }

Disponibilidade melhorada com Cache (3)

Disponibilidade melhorada com Cache (3)

(14)

Considerações Finais Considerações Finais

● O Nginx tem um papel muito importante para garantir a segurança de aplicações Web, não somente pelas suas utilidades como proxy reverso e caching como foi visto nesta apresentação.

● Com o devido conhecimento de sua aplicação, é

possível definir regras específicas para cada diretório,

tipo de arquivo, expressões regulares e até mesmo

headers e user-agents, fortalecendo ainda mais a

proteção de sua aplicação.

(15)

OBRIGADO !

Erick dos Santos Alves

erick_sa@ufrj.br

(16)

Referências Bibliográficas Referências Bibliográficas

● https://pt.wikipedia.org/wiki/Nginx

● SARKAR, Dipankar; Nginx 1 Web Server

Implementation Cookbook. Packt Publishing

Referências

Documentos relacionados

Esta é a Sua fidelidade, que nos permite olhar tudo, que nos permite deixar entrar a Sua própria presença na vida, a única que pode reduzir cada vez mais a distância entre a

Presidente, diante dessa premissa, que considero relevante, e que diz respeito à separação dos Poderes e às capacidades institucionais de cada Poder, o Judiciário pode atuar

O presente trabalho de doutorado tem como objetivo principal analisar de forma sistemática a influência do tempo de vazamento até 45 min, após o tratamento de inoculação

Para quem está tendo o seu primeiro contato com o Nginx, ele é um servidor web que pode ser utilizado como: Proxy reverso "eu irei criar um artigo falando sobre esse tema"

5- Manutenção Corretiva - sistemas e subsistemas 6- Socorro Mecânico - estrutura mecânica. 7- Socorro Mecânico - grupo de equipamentos 7- Socorro Mecânico - grupo de equipamentos

Este documento descreve a configuração do Nginx como o proxy reverso a ser usado para ativar o Finesse VPN menos acesso.. O componente da solução do Contact Center Enterprise,

Paredes nas salas de Escola Sabatina e das mães, e qualquer outra sala, não devem conter muitos itens combustíveis como cartazes, desenhos e outras decorações de

Consulte o guia de recursos da solução para as configurações a serem executadas nos servidores de componentes para configurar o host Nginx como um proxy