Slide 1

Slide 1 text

Proxy Reverso apache2

Slide 2

Slide 2 text

Nossos usuários acessam diretamente o servidor de aplicação através de IP e porta O Problema

Slide 3

Slide 3 text

servidor expondo porta 8080 http://{ip}:{porta}/{aplicação}

Slide 4

Slide 4 text

servidor expondo porta 8080 http://{ip}:{porta}/{aplicação} IP pode ser usado por atacante derrubar o servidor

Slide 5

Slide 5 text

Mattheus Cassundé github.com/cassunde linkedin.com/in/cassunde twitter.com/MattheusCassund https://dev.to/cassunde

Slide 6

Slide 6 text

Criar um servidor de proxy que receberá as requisições dos clientes e direcioná-las para o servidor da aplicação Uma solução

Slide 7

Slide 7 text

http://app.dominio.com.br proxy reverso na porta 80

Slide 8

Slide 8 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80

Slide 9

Slide 9 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 Servidor de DNS

Slide 10

Slide 10 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 Servidor de DNS 192.123.454.66

Slide 11

Slide 11 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 Servidor de DNS 192.123.454.66 192.123.454.XX

Slide 12

Slide 12 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 Servidor de DNS app.dominio.com.br = 192.123.454.66 192.123.454.66 192.123.454.XX

Slide 13

Slide 13 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80

Slide 14

Slide 14 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 mesma máquina

Slide 15

Slide 15 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 server 1 server 2

Slide 16

Slide 16 text

servidor expondo porta 8080 http://app.dominio.com.br proxy reverso na porta 80 server 1 server 2 server 1.1 proxy reverso na porta 80

Slide 17

Slide 17 text

Segurança

Slide 18

Slide 18 text

Segurança Como estamos colocando uma camada a frente da nossa aplicação os atacantes precisam passar primeiro por essa camada

Slide 19

Slide 19 text

Segurança ● Realizar Filtros de requisições TIP ● Servidores web disponibilizados por linguagens ou frameworks são simples ● Criptografia SSL a cargo do Proxy Reverso ● Autenticação & Autorização TIP

Slide 20

Slide 20 text

Performance Comprimir o dado trafegado na rede é simples e eficaz

Slide 21

Slide 21 text

Performance ● Maior rapidez no tráfego de dados ● Mais tempo de stress para sua aplicação ficar indisponível ● GZIP é a forma mais conhecida

Slide 22

Slide 22 text

● Configurar DNS para apontar para IP Agenda

Slide 23

Slide 23 text

● Configurar DNS para apontar para IP ● Configurar proxy reverso para sempre que chegar alguma chamada desse dns redirecione para um outro endereço Agenda

Slide 24

Slide 24 text

➜ ~ sudo apt update Instalando Apache2 ➜ ~ sudo apt install apache2

Slide 25

Slide 25 text

➜ ~ sudo a2enmod proxy proxy_http proxy_connect proxy_html xml2enc rewrite Instalando Módulo de proxy do Apache2

Slide 26

Slide 26 text

➜ ~ sudo service apache2 restart Reiniciar apache

Slide 27

Slide 27 text

➜ ~ sudo nano /etc/apache2/sites-available/subdominio.dominio.com.conf Criar arquivo de config do endereço

Slide 28

Slide 28 text

ServerName subdominio.dominio.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass / http://192.168.1.125:8080/ ProxyPassReverse / http://192.168.1.125:8080/ RewriteEngine on RewriteRule "^/$" "/context/login.xhtml" [PT]

Slide 29

Slide 29 text

ServerName subdominio.dominio.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass / http://192.168.1.125:8080/ ProxyPassReverse / http://192.168.1.125:8080/ RewriteEngine on RewriteRule "^/$" "/context/login.xhtml" [PT] Não pode esquecer essa barra

Slide 30

Slide 30 text

ServerName subdominio.dominio.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass / http://192.168.1.125:8080/ ProxyPassReverse / http://192.168.1.125:8080/ RewriteEngine on RewriteRule "^/$" "/context/login.xhtml" [PT] Não pode esquecer essa barra Mesmo nome do arquivo que fizemos no passo anterior

Slide 31

Slide 31 text

ServerName subdominio.dominio.com DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyPass / http://192.168.1.125:8080/ ProxyPassReverse / http://192.168.1.125:8080/ RewriteEngine on RewriteRule "^/$" "/context/login.xhtml" [PT] Não pode esquecer essa barra Mesmo subdominio configurado no servidor de DNS Mesmo nome do arquivo que fizemos no passo anterior Redireciona para contexto e página inicial

Slide 32

Slide 32 text

➜ ~ sudo a2ensite subdominio.dominio.com Habilitar o site

Slide 33

Slide 33 text

➜ ~ sudo systemctl reload apache2 Reiniciar o site

Slide 34

Slide 34 text

➜ ~ sudo systemctl enable apache2 Habilitar start ao reiniciar servidor

Slide 35

Slide 35 text

➜ ~ sudo systemctl enable apache2 Gerenciando o Apache

Slide 36

Slide 36 text

➜ ~ sudo systemctl stop apache2 Gerenciando o Apache ➜ ~ sudo systemctl start apache2 ➜ ~ sudo systemctl restart apache2 ➜ ~ sudo systemctl status apache2 ➜ ~ sudo systemctl reload apache2

Slide 37

Slide 37 text

fim Mattheus Cassundé github.com/cassunde linkedin.com/in/cassunde twitter.com/MattheusCassund https://dev.to/cassunde