http https professor marlon sales

35
Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon port 80 port 443

Upload: marloninternet

Post on 15-Apr-2017

311 views

Category:

Education


7 download

TRANSCRIPT

Page 1: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

port 80

port 443

Page 2: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Introdução

O que está por detrás da WWW (World Wide Web), mais especificamente dos protocolos que regem a comunicação na grande rede.• HTTP (Hyper Text Transfer Protocol)• HTTPs (Hyper Text Transfer Protocol - Secure) • TLS (Transport Layer Security)

Page 3: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

HTTP - História

Em 1990, Tim Bernard-Lee escreveu o primeiro cliente e primeiro servidor web.

Assim surgia o HTML e o HTTP, surgia a WWW e todo o universo que nos trouxe.

Tim escreveu em 1991 as razões pelas quais criar um novo protocolo (o HTTP), e comentava que os até então existentes não atendiam às necessidades da comunidade científica.

Page 4: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Naquela época os protocolos de e-mails permitiam apenas mensagens de um autor para um pequeno número de destinatários; os protocolos de arquivo permitiam a transferência de dados sob o pedido do transmissor ou do receptor, mas com pouca capacidade de processamento; protocolos de notícias ainda permitiam o envio de informação massiva, e o mais interessante eram os protocolos de busca, que permitiam acesso a documentos após as buscas, mas poucos eram os que existiam.

O protocolo necessitado para acesso a informação deveria atender aos seguintes requisitos:- Incorporação da funcionalidade do FTP;- Habilidade de requisitar uma busca;- Negociação automática de formato;- Habilidade para, do cliente, referenciar outro servidor.

HTTP - História

Page 5: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

HTTP

Page 6: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

SYN PacketsOs pacotes de sincronismo é o primeiro para iniciar qualquer conexão de rede baseada no protocolo TCP/IP. O host envia um pacote SYN, espera a resposta do servidor e em seguida começa a enviar os pacotes de dados.Como um simples pacote SYN não representa uma ameaça concreta, muitos servidores e firewalls simplesmente os descartam após perceberem que a conexão não será completada, sem acrescentar a ocorrência ao log do sistema. Isto abre espaço para um tipo de ataque chamado SYN scanning, usado para encontrar portas abertas e detectar alguns tipos de vulnerabilidades no servidor, com poucos riscos de ser descoberto. ...Continuação

Page 7: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

SYN Packets

Com os dados das portas TCP/IP abertas, é possível chutar quais servidores estão ativos.

A partir daí abrem-se as portas para ataques mais sérios, envolvendo a detecção e exploração de brechas presentes nestes servidores.

Alguns firewalls oferecem a opção de logar SYN packets.

Eles por sí sós, não são nada demais, mas um log de alguém enviando pacotes para todas as suas 65535 portas TCP seria um sinal de más intenções.

Page 8: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

ACK[Forma reduzida para acknowledgement] (Confirmação)Código de comunicação enviado por uma unidade receptora à uma estação transmissora, com o objetivo de confirmar que está pronta para receber um pacote de dados ou que o pacote enviado chegou sem erros.

Page 9: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Antes de tudo, vamos relembrar um pouco sobre o TCP

Não podemos esquecer que o protocolo TCP é orientado a conexão.

Primeiro cliente e servidor se conectam e somente após esta etapa é que os dados podem ser trocados.

Semelhante a uma ligação telefônica, onde deve-se primeiro discar para o número. 

Page 10: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Um pouco sobre o TCP

A etapa de "discar" no TCP é chamada de HANDSHAKE de três vias e os flags TCP são usados para sinalizar qual é a etapa que está sendo realizada.

Antes de qualquer bit de dados, a seguinte troca de pacotes acontece entre cliente e servidor: 

Page 11: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Um pouco sobre o TCP

1. O cliente envia uma solicitação de conexão, com um pacote TCP sem dados, possuindo o flag de SYN ligado e os demais desligados. Por causa da presença do flag de SYN, este pacote é conhecido como pacote SYN. 

2. Se o servidor quiser e puder atender, devolve um pacote ao cliente ainda sem dados, com os flags de SYN e de ACK ligados. Esta segunda etapa é conhecida como SYN/ACK. 

3. Se o cliente ainda quiser manter a conexão, devolve ao servidor um terceiro pacote sem dados, apenas com o flag de ACK ligado (SYN desligado). 

Somente após a terceira etapa é que os dados podem ser trocados. 

Page 12: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

RISCOS DO SYN FLOOD COM O TCP

Após a terceira etapa é que os dados podem ser trocados do TCP

SYN Flood (tradução literal: inundação de SYN).

Nele o atacante gera quantos SYN's a máquina dele for capaz e não responde nenhum deles. Tem-se que o servidor vai alocar recursos para cada um, como se fossem requisições legítimas, só desalocando quando acabar o tempo.

É perfeitamente compreensível que o atacante consegue gerar pacotes de SYN muito mais rapidamente e facilmente do que o servidor consegue tratá-los. 

Claro, hoje temos hardware com capacidades de memória e recursos gigantescos, mas não existem recursos infinitos. Mais cedo ou mais tarde os recursos se esgotarão e o servidor ficará incapaz de atender clientes legítimos. 

Page 13: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

CRIPTOGRAFIA NA NAVEGAÇÃO

"A criptografia torna muito difícil que pessoas não autorizadas compreendam informações transmitidas entre dois computadores. Portanto é muito improvável que alguém tenha interceptado esta página durante a transmissão pela rede."

Page 14: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Secure Sockets Layer (SSL)O SSL versão 3.0 foi lançado em 1996. Trata-se de uma ferramenta de encriptação de páginas antes de serem transmitidas pela internet que autentifica as partes envolvidas.

É muito utilizada para pagamentos online com cartão de crédito.

Diversas versões dos protocolos de segurança estão em uso generalizado em navegação na web, serviços de e-mail, mensagens instantâneas e VoIP.

Page 15: http https Professor Marlon Sales

Como saber se um determinado site é confiável?Diversos sites como o GOOGLE por exemplo, possui certificados de segurança, que garantirão a transmissão de dados entre você e ele.

A verificação é rápida, basta acessar na barra de menu do navegador (pode ser Internet Explorer, Opera, Mozilla Firefox, Google Chrome etc.) , "Arquivo", "Opções" ou "Ferramentas" - varia conforme o browser e sua versão - e clicar em "Propriedades da página".

Na janela que se abrirá, procure pelo item "Segurança", onde é informado se aquele site é confiável e qual seu nível de segurança.

Outra forma de detectar rapidamente se o site é confiável é verificar se no lugar de "http", no enderço da página, está a forma "https", onde o "s" significa "seguro". Outro recurso é o cadeado que algumas páginas exibem na barra de endereço; se a página estiver com o cadeado, pode ser considerada segura.

Page 16: http https Professor Marlon Sales

Secure Sockets Layer (SSL)

Mensagem que o Mozilla Firefox exibe ao detectar um certificado de segurança SSL em uma página.

Page 17: http https Professor Marlon Sales

Secure Sockets Layer (SSL)

Ao acessar uma página com criptografia, algumas vezes é exibida uma mensagem para validação do certificado. A verificação permitirá que seja confirmado se o certificado é confiável, válido e se está relacionado com o site que o enviou. Se sua confiabilidade não for confirmada, no entanto, é possível acessar o site de qualquer forma, embora, não seja um ambiente seguro.

Page 18: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Após o lançamento do SSL versão 3.0 e serviu de base para o desenvolvimento do TLS versão 1.0. TLS, é um protocolo padronizado da IETF originalmente definido pelo RFC 2246.

O PROTOCOLO (TLS)

Os objetivos deste protocolo são a segurança por meio de criptografia, a interoperabilidade, a extensibilidade e a eficiência.O mesmo é capaz de estabelecer uma conexão segura entre duas entidades e de garantir que dois aplicativos consigam se comunicar ou trocar parâmetros independentemente da forma como foram construídos. É também capaz de envolver futuras extensões, diminuindo a necessidade de se criar um novo protocolo e impedindo a criação de uma nova biblioteca de segurança.A eficiência do protocolo vem do número reduzido de conexões necessárias, uma vez que é utilizado cache para guardar certas informações, poupando também tempo de processamento.Ao estabelecer uma conexão TLS, cliente e servidor negociam um conjunto de códigos, chamado em inglês de CipherSuite, por meio das primeiras mensagens da comunicação. Dessa forma, ambos os lados sabem que algoritmos criptográficos deverão utilizar para encriptar ou decriptar as mensagens. Pode ser usado chave simétrica ou chave assimétrica no processo de autenticação dos participantes.

Page 19: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

ESTRUTURA (TLS)O Protocolo TLS se situa entre as camadas de Aplicação e Transporte. Ele encapsula os protocolos de aplicação como:

• HTTP (Hypertext Transfer Protocol)

• FTP (File Transfer Protocol) Como também, trabalha em cima de um protocolo de transporte como:

• TCP (Transmission Control Protocol)

• UDP (User Datagram Protocol)

Para que a transmissão seja confiável, deve ser utilizado o protocolo TCP, uma vez que o UDP está mais sujeito à perdas de informação, já que é datagrama.

Page 20: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

ESTRUTURA (TLS)O Protocolo TLS é composto também de duas camadas, formadas por 2 tipos de protocolos: os protocolos de Handshaking e o Protocolo de Registro. 

Handshaking são utilizados para autenticar cliente e servidor e para negociar algoritmos de criptografia e chaves criptográficas, antes que o protocolo de aplicação seja de fato transmitido.Uma vez que ambos os lados concordem quanto à autenticidade um do outro e também quanto aos parâmetros de segurança, a transmissão segura pode então começar. Esses protocolos de negociação são encapsulados pelo Protocolo de Registro, e então são enviados.

Page 21: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

AQUISIÇÃO DO CERTIFICADO DIGITAL PARA IMPLANTAR NO SEU SITE

1) Gerar um CSR do seu certificado digitalPara solicitar um certificado SSL/TSL, você precisa gerar um CSR. O CSR (Certificate Signing Request) é um arquivo de texto criptografado, gerado pelo servidor web do seu site. Ele contém as informações para a solicitação do certificado digital SSL/TLS.

Os dados necessários para gerar o CSR junto ao seu servidor web são:•Common name (server domain name): url onde o certificado vai ser utilizado;•Organization: nome oficial da empresa, igual ao existente no cartão do CNPJ. Caso você não tenha uma empresa, inclua o seu nome nesse campo e no próximo;•Organizational Unit: setor da sua empresa;•City or Locality: cidade.•State or Province: seu estado, escrito por extenso.•Country: país com dois caracteres. No caso, BR para Brasil.

Page 22: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

2) Solicitando o seu certificadoJá com o seu CSR pronto, é hora de solicitar o certificado. Existem diversos serviços que podem vendê-lo. Cabe a você escolher um que se encaixe mais nas suas prioridades e valores.Após ter feito a solicitação e realizado o pagamento, confirme com o serviço a validação do seu certificado.

AQUISIÇÃO DO CERTIFICADO DIGITAL PARA IMPLANTAR NO SEU SITE

3) Instalando o certificado no seu servidorDepois de receber o certificado do serviço que você escolheu, é hora de instalá-lo no seu servidor. Como o tipo de servidor depende para cada usuário, é interessante você verificar qual é o servidor em que o seu site está hospedado. Feito isso, realize a instalação de acordo com o tipo.

Geralmente, após a instalação, para assegurar seus usuários de que seu site é seguro para o tráfego de dados sigilosos, você pode instalar um selo de segurança na sua página principal. Cada serviço oferece um código para você aplicar ao seu layout.

Page 23: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Servidores WEB

Page 24: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Servidor Web é um programa específico responsável por tratar e responder requisições do computador cliente ou usuário. Este servidor lida com protocolos, como HTTP, FTP, IRC, etc.; Este servidor transmite dados como, páginas HTML, imagens, aplicativos JAVA, e executa programas e scripts.

Servidores WEB

Page 25: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Os servidores mais comuns são o IIS da Microsoft e o Apache da Apache Software

Foundation

Servidores WEB

2.4.16 – 7/2015

Page 26: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Servidores WEB

A sua primeira versão apenas era utilizada na plataforma Windows NT 3, mas atualmente sua versão 8 está disponível no Windows Server 2012. Normalmente este servidor utiliza a sua linguagem proprietária o ASP, mas pode ser integrado em outras linguagens disponíveis por terceiros. Para utilização do IIS é necessário a aquisição de licença de uso que é paga para cada versão.

Page 27: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Servidores WEBO servidor Apache é a principal tecnologia da empresa Apache Software Foundation, e é o mais bem sucedido servidor da Web, onde em 2010 serviu a 54,68% de todos os sites. Funciona através de estruturas de módulos, onde se permite que os usuários modifiquem as rotinas ou comandos do programa base. É um aplicativo livre, ou seja, não é necessário pagar para poder utilizar suas versões. Pode ser utilizado em plataformas como, Windows, Novell Netware, Unix, Linux, entre outros. Sendo a dupla Linux-Apache a líder do panorama de servidores web.

Page 28: http https Professor Marlon Sales

VS

Page 29: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

As diferenças entre esses dois servidores WEB consistem basicamente do sistema operacional utilizado no servidor em que está sua página, para o usuário final esta diferença não é vista. A escolha de qual servidor WEB utilizar está ligada ao tipo de programação que se irá trabalhar, por exemplo, se a programação for feita em ASP o programador irá se inclinar ao IIS, já se for em PHP o servidor normalmente seria o Apache. A questão de o IIS ser pago e o Apache ser gratuito, é outra diferença, que dá vantagem ao Apache, entre os usuários. Já quando a questão é pacotes adicionais de programação o IIS é a melhor escolha por ser mais fácil, pois é apenas executar o instalador do pacote, já o Apache é necessário acrescentar algumas linhas de configuração no arquivo à ser instalado.

Servidores WEB

Page 30: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

O desempenho de um servidor web depende de vários fatores que envolvem o desempenho do servidor web propriamente dito, o desempenho geral do sistema operacional e o desempenho das aplicações que o servidor irá executar.

Desempenho - Servidores WEB

Page 31: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Desempenho do servidor web - Servidores WEB

O desempenho de ambos os servidores é bastante parecido e as diferenças são mínimas para uma instalação padrão do sistema operacional com interface gráfica. Se você faz ajustes na instalação do sistema operacional e no funcionamento do servidor web das condições padrão é que as diferenças começam.

Page 32: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Desempenho geral do sistema operacional - Servidores WEB

Um servidor web não necessita de uma interface gráfica (GUI) para servir as requisições http e https eficientemente. As interfaces gráficas consomem boa parte dos recursos computacionais. Os sistemas GNU/Linux e especialmente seus administradores estão acostumados a rodar e administrar servidores sem uso de interface gráfica. Num mesmo equipamento o Apache rodando no GNU/Linux sem interface gráfica é muito mais rápido que o IIS ou o Apache rodando em um Windows com interface gráfica.

Page 33: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Estabilidade - Servidores WEB

Um sistema é considerado estável se não tem interrupções ou reduções inesperadas de velocidade. Ambas os sistemas operacionais Windows e GNU/Linux e os programas Apache e IIS, são maduros o suficiente para não apresentarem quedas de desempenho se forem configurados de modo apropriado. Ficando então apenas as questões de interrupções que podem ocorrer por alguns motivos.

Page 34: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Estabilidade/ Falha no sistema - Servidores WEB

Ambos os sistemas e programas são estáveis de modo geral, porém quando o servidor irá executar outros programas as diferenças se apresentam. Os programas no Windows são efetivamente extensões do kernel, o que significa que se uma aplicação funcionar mal isso compromete todo o sistema. No GNU/Linux as aplicações são separadas do kernel e o mal funcionamento de uma aplicação não compromete todo o sistema.

Page 35: http https Professor Marlon Sales

Administração de Sistemas Operacionais II / Professor Marlon Sales / www.facebook.com/alunosdomarlon

Marlon Pereira Sales