apache, ssl e jserv
DESCRIPTION
Apache, SSL e JServ. Internet ANTES do WWW. Desde 1970 Rede militar Poucos pontos, 95% nos EUA Email, Telnet, FTP. A virada. Tim Berners-Lee (1991) Sistema para encontrar informações Hipertexto HTTP e HTML Marc Andreesen (1993) Mosaic. Internet DEPOIS do WWW. Desde 1994 Rede mundial - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/1.jpg)
Apache, SSL e JServApache, SSL e JServ
![Page 2: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/2.jpg)
Internet ANTES do WWWInternet ANTES do WWW
Desde 1970Rede militarPoucos pontos, 95% nos EUAEmail, Telnet, FTP
![Page 3: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/4.jpg)
Internet DEPOIS do WWWInternet DEPOIS do WWW
Desde 1994Rede mundialMilhares de pontos, 60% nos EUATudo on line
![Page 5: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/6.jpg)
CGICGI
Common Gateway InterfaceNão é linguagemProgramas executáveis
– Perl, C, C++, Python, Shell– Delphi, Visual Basic, Visual C++
![Page 7: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/9.jpg)
Noções sobre o ambienteNoções sobre o ambiente
UnixApacheMod_SSLOpenSSLJServ
![Page 10: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/11.jpg)
““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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/13.jpg)
JavaJava
Orientada a objetos– Versão simplificada do C++
RobustaMultitarefa“Segura”
![Page 14: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/14.jpg)
Applet’s e seus problemasApplet’s e seus problemas
PesadosLentosIncompatibilidades
– Entre browsers– Browsers antigos– Entre JVM’s
![Page 15: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/18.jpg)
Esquema do AmbienteEsquema do Ambiente
![Page 19: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/19.jpg)
Produtos necessários ao Produtos necessários ao ambienteambiente
Tecnologias gratuitasEntidade certificadora
![Page 20: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/21.jpg)
Conceitos sobre os produtos Conceitos sobre os produtos utilizadosutilizados
![Page 22: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/22.jpg)
UnixUnix
Integração total com a redeSistema multiusuárioServiços separados
– Daemons
![Page 23: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/23.jpg)
ApacheApache
Servidor mais popular para UnixLeve, confiável, gratuitoRedirecionamento de documentosServidores virtuaisSegurança
– Integração com SSL
![Page 24: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/24.jpg)
SSLSSL
Encriptação de informações em redeGerador de chaves assíncronas
– RSA
![Page 25: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/25.jpg)
Esquema SSLEsquema SSL
![Page 26: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/26.jpg)
Mod_SSLMod_SSL
Módulo de integração Apache + SSL“Ponte” entre serviçosManipulação das chaves
![Page 27: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/27.jpg)
Esquema Mod_SSLEsquema Mod_SSL
![Page 28: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/28.jpg)
JServJServ
Servlet runnerProjeto Apache
![Page 29: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/29.jpg)
Instalando o OpenSSLInstalando o OpenSSL
config– Cria o Makefile
makemake testmake install
![Page 30: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/31.jpg)
Instalando o Mod_SSLInstalando o Mod_SSL
./configure \with-apache=../apache_1.3.x
![Page 32: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/33.jpg)
Configurando o ApacheConfigurando o Apache
![Page 34: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/35.jpg)
Configuração do JservConfiguração do Jserv
3 arquivos de configuraçãohttpd.confjserv.confjserv.properties
![Page 36: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/50.jpg)
Testes com ServletsTestes com Servlets
HelloSessionServlet
![Page 51: Apache, SSL e JServ](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022061602/568141ff550346895dade028/html5/thumbnails/56.jpg)
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