56
Apache, SSL e JServ Apache, SSL e JServ

Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Embed Size (px)

Citation preview

Page 1: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Apache, SSL e JServApache, SSL e JServ

Page 2: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Internet ANTES do WWWInternet ANTES do WWW

Desde 1970Rede militarPoucos pontos, 95% nos EUAEmail, Telnet, FTP

Page 3: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

A viradaA virada

Tim Berners-Lee (1991)– Sistema para encontrar informações– Hipertexto

HTTP e HTMLMarc Andreesen (1993)

– Mosaic

Page 4: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Internet DEPOIS do WWWInternet DEPOIS do WWW

Desde 1994Rede mundialMilhares de pontos, 60% nos EUATudo on line

Page 5: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Início do ambienteInício do ambiente

HTML apenas texto e hiperlinksHTML + formulários

– CGI

HTML + imagensHTML + objetos

– Scripts, Applet’s, Flash...

Page 6: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

CGICGI

Common Gateway InterfaceNão é linguagemProgramas executáveis

– Perl, C, C++, Python, Shell– Delphi, Visual Basic, Visual C++

Page 7: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Problemas com CGIProblemas com CGI

Falta de adaptação em ambiente multiusuário

Falta de adaptação em ambiente multitarefaExecução “pesada”

– Linguagens interpretadas

Falta de portabilidadeConceito “batch”

Page 8: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Necessidades dos clientesNecessidades dos clientes

Dados corporativos na WebInformações em tempo real

– Banco de dados na Web

InteratividadeSegurança

Page 9: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Noções sobre o ambienteNoções sobre o ambiente

UnixApacheMod_SSLOpenSSLJServ

Page 10: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Fatos sobre o WWWFatos sobre o WWW

Ambiente não foi concebido para ser frontend

Linguagem de autoria limitadaProtocolo ineficazFalta de segurançaLentidão

Page 11: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

““Desejos”Desejos”

Ambiente para prover segurançaTransações e estado Velocidade de processamentoCapacidade de distribuição de tarefas e cargaEscalabilidade

Page 12: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

SegurançaSegurança

Encriptação das informações– Chaves

Chaves síncronas e assíncronasSSL

– Secure Sockets Layer

Adaptações no servidor WWW

Page 13: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

JavaJava

Orientada a objetos– Versão simplificada do C++

RobustaMultitarefa“Segura”

Page 14: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Applet’s e seus problemasApplet’s e seus problemas

PesadosLentosIncompatibilidades

– Entre browsers– Browsers antigos– Entre JVM’s

Page 15: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

A solução ServletsA solução Servlets

Todas as vantagens do JavaNenhuma desvantagem do AppletInteração com browser via formulárioExecução mais rápidaReaproveitamento de códigoAcesso a banco de dados

Page 16: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Como funciona o ambienteComo funciona o ambiente

Baseado em servidor WWW– Servlet runner

Formulário em HTML ou linkFunciona em qualquer browserParte gráfica limitada

– XML

Page 17: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Como funciona o ambiente IIComo funciona o ambiente II

Click do clienteRecebimento do pedido

– Servidor WWW

Interpretação do pedido– Servlet runner

Execução do códigoRetorno do resultado ao cliente

Page 18: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Esquema do AmbienteEsquema do Ambiente

Page 19: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Produtos necessários ao Produtos necessários ao ambienteambiente

Tecnologias gratuitasEntidade certificadora

Page 20: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

RecomendaçõesRecomendações

Administrador competenteHardware “suficiente”Sistema operacional na última versão

– Patches de segurançaCompilador C

– GCCJava

– JDK + JSDK

Page 21: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Conceitos sobre os produtos Conceitos sobre os produtos utilizadosutilizados

Page 22: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

UnixUnix

Integração total com a redeSistema multiusuárioServiços separados

– Daemons

Page 23: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

ApacheApache

Servidor mais popular para UnixLeve, confiável, gratuitoRedirecionamento de documentosServidores virtuaisSegurança

– Integração com SSL

Page 24: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

SSLSSL

Encriptação de informações em redeGerador de chaves assíncronas

– RSA

Page 25: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Esquema SSLEsquema SSL

Page 26: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Mod_SSLMod_SSL

Módulo de integração Apache + SSL“Ponte” entre serviçosManipulação das chaves

Page 27: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Esquema Mod_SSLEsquema Mod_SSL

Page 28: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

JServJServ

Servlet runnerProjeto Apache

Page 29: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Instalando o OpenSSLInstalando o OpenSSL

config– Cria o Makefile

makemake testmake install

Page 30: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Chaves de encriptaçãoChaves de encriptação

2 métodos de encriptação. Chave assíncrona

– RSA, para as trocas de chave iniciais

Chave síncrona – Comunicação propriamente dita

Tamanho de chave limitada– 40 bits

Page 31: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Instalando o Mod_SSLInstalando o Mod_SSL

./configure \with-apache=../apache_1.3.x

Page 32: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Instalando o ApacheInstalando o Apache

SSL_BASE=SYSTEM./configure

--prefix=/caminho/para/o/apache \--enable-rule=SHARED_CORE \ --enable-module=so enable-module=ssl

makemake install

Page 33: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Configurando o ApacheConfigurando o Apache

Page 34: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Instalando o JServInstalando o JServ

Instalação da Java Virtual Machine (JVM)– JDK ou JRE

./configure --with-apache-install=/caminho/para/o/apache \--prefix=/caminho/para/o/jserv \ --with-jdk-home=/caminho/para/o/jdk \ --with-jsdk=/caminho/para/o/jsdk.jar

makemake install

Page 35: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Configuração do JservConfiguração do Jserv

3 arquivos de configuraçãohttpd.confjserv.confjserv.properties

Page 36: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.confjserv.conf

Include /caminho/para/o/arquivo/jserv.confLoadModule jserv_module

/usr/local/apache/libexec/mod_jserv.so– Diz ao Apache para carregar o módulo JServ.

ApJServManual off– Indica ao Apache se ele deve iniciar o JServ em

tempo de inicialização. O default é Off, isto é, o Apache vai iniciar o JServ quando for iniciado.

Page 37: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.conf IIjserv.conf II

ApJServProperties /usr/local/apache/conf/jserv/jserv.properties– Arquivo onde estão as instruções de

configuração do JServ, quando esse é iniciado em modo automático (ApjServManual Off)

ApJServLogFile /usr/local/apache/logs/mod_jserv.log– Local onde deve ser gravado o arquivo de log do

JServ.

Page 38: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.conf IIIjserv.conf III

ApJServLogLevel notice– Nível de log para o arquivo de log. Essa

instrução permite selecionar a quantidade de informação gerada pelo JServ. As opções são debug, info, notice, warn,. error, criti, alert, emerg.

ApJServDefaultHost nome_do_servidor– Nome (Internet) onde o JServ está sendo

executado. O padrão é localhost.

Page 39: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.conf IVjserv.conf IV

ApJServDefaultPort 8007– Número da porta onde o JServ vai atender

pedidos.

ApJServMount /Servlets /root– Ponto onde as áreas de Servlets são montadas.

Page 40: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.conf Vjserv.conf V

<Location /jserv/> SetHandler jserv-status order deny,allow deny from all allow from .ccuec.unicamp.br</Location>– Permite acesso às configurações do JServ via um

cliente Web.

Page 41: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.propertiesjserv.properties

wrapper.bin=/usr/java1.1/bin/java– Localização do interpretador Java.

wrapper.classpath=/www/java/jsdk2.0/lib/jsdk.jar– Indicadores de caminho a serem usadas pelo

interpretador Java.

Page 42: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.properties IIjserv.properties II

wrapper.env=LD_LIBRARY_PATH=/usr/local/opt/IBMdb2/V5.0/lib– Variáveis de ambiente a serem usadas pelo

interpretador Java.

bindaddress=localhost– Endereço IP do computador que pode fazer

pedidos para o JServ.

Page 43: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.properties IIIjserv.properties III

port=8007– Porta onde o JServ escuta pedidos.

zones=servlets– Lista das áreas (zones) onde os Servlets estão

localizados.

Page 44: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.properties IVjserv.properties IV

servlets.properties=/usr/local/apache/conf/jserv/servlets.properties– Localização do arquivo de configuração de cada

área.

security.maxConnections=50– Número máximo de conexões que o JServ

aceita.

Page 45: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.properties Vjserv.properties V

security.allowedAddresses=127.0.0.1– Lista dos endereços IP que podem se conectar

com o JServ.

log=true– Possibilita a criação de logs.

Page 46: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

jserv.properties VIjserv.properties VI

log.file=/www2/apache/logs/jserv.log– Nome do arquivo onde deve ser guardado o log.

Page 47: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

zone.confzone.conf

repositories=/usr/local/apache/Servlets– Diretórios onde os programas desta área estão

armazenados.

session.useCookies=true– Especifica se o método usado para manter o

controle da sessão é o Cookie.

Page 48: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

zone.conf IIzone.conf II

session.timeout=1800000– Tempo em milisegundos para uma sessão ser

invalidada.

servlets.startup=hello,snoop,org.fool.Dummy– Nomes de Servlets que devem ser iniciados

quando o JServ é iniciado.

Page 49: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

zone.conf IIIzone.conf III

servlet.hello.code=org.fool.Dummy– Essa instrução define "apelidos" para Servlets,

de modo que eles possam ser invocados pelo "apelido".

Page 50: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Testes com ServletsTestes com Servlets

HelloSessionServlet

Page 51: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

SugestõesSugestões

Profissional responsável pelo sistema– Atualização e estudo

Acompanhamento de novas versões– Segurança e performance

Backup’s frequentesUpgrade para novas versões

Page 52: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Performance e análise dos Performance e análise dos logslogs

4 arquivos de logComparação e acompanhamento dos dadosMonitoramento em tempo real

– Top, trafshowMonitoramento por relatórios

– http-analyseTestes de carga

– JMeter

Page 53: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Experiência Unicamp com o Experiência Unicamp com o JServJServ

Hardware – Sun Ultra 1, com 256Mb de Ram

Software– Apache 1.3.6, OpenSSL 3.9.1, Mod_SSL

1.2.1_1.3.6, JServ 1.0Cargas máximas

– 30.000 consultas/dia– 2.000 updates em base/dia

Page 54: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Perguntas mais comunsPerguntas mais comuns

Saiu uma nova versão do <qualquer_produto>. É necessário fazer upgrade ?

Existem cuidados de segurança adicionais para esse ambiente ?

Como disponibilizar classes comuns para as diferentes zonas ?

Como fazer um debug efetivo das minhas aplicações ?

Page 55: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Perguntas mais comuns IIPerguntas mais comuns II

Por que quando ao testar aplicações o JServ para de funcionar ?

Devo parar o JServ para fazer atualizações nos programas ?

?

Page 56: Apache, SSL e JServ. Internet ANTES do WWW Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP

Links e material para consultaLinks e material para consulta

Apache - http://www.apache.org/Apache JServ - http://java.apache.org/OpenSSL - http://www.openssl.org/Mod_SSL - http://www.modssl.org/RSA - http://www.rsa.com/Unicamp - ftp://ftp.unicamp.br/Sun Java soft - http://www.javasoft.com/wwwstat, http analyze, JMeter