HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

83
CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI MITIGAÇÃO DE ATAQUES DE NEGAÇÃO DE SERVIÇO EM SERVIDORES WEB LINS/SP 2° SEMESTRE /2013

Transcript of HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

Page 1: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA

CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES

HALLINE MICHELE ALVES

POLLYANNA CHRYSTINA MILANI ZANI

MITIGAÇÃO DE ATAQUES DE NEGAÇÃO DE SERVIÇO EM SERVIDORES WEB

LINS/SP 2° SEMESTRE /2013

Page 2: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

FACULDADE DE TECNOLOGIA DE LINS PROF. ANTONIO SEABRA

CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES

HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

MITIGAÇÃO DE ATAQUES DE NEGAÇÃO DE SERVIÇO EM SERVIDORES WEB

Trabalho de Conclusão de Curso apresentado à

Faculdade de Tecnologia de Lins para obtenção

do Titulo de Tecnólogo em Redes de

Computadores.

Orientador: Prof. Me. Julio Fernando Lieira

LINS/SP 2° SEMESTRE /2013

Page 3: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

HALLINE MICHELI ALVES

POLLYANNA CHRYSTINA MILANI ZANI

SEGURANÇA EM SERVIDORES WEB

Trabalho de Conclusão de Curso apresentado à

Faculdade de Tecnologia de Lins, como parte dos

requisitos necessários para a obtenção do título de

Tecnólogo em Redes de Computadores sob a

orientação do Prof. Me.Julio Fernando Lieira.

Data de aprovação _______/________/________

____________________________________________________

Orientador Julio Fernando Lieira ____________________________________________________

Examinador 1 ____________________________________________________

Examinador 2

Page 4: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

“(...) E você aprende que realmente

pode suportar, que realmente é forte, e que pode ir

muito mais longe depois de pensar que não se

pode mais. E que realmente a vida tem valor e que

você tem valor diante da vida! Nossas dúvidas são

traidoras e nos fazem perder o bem que

poderíamos conquistar, se não fosse o medo de

tentar (...)" (Willian Shakespeare)

Pollyanna Chrystina Milani Zani

Page 5: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

“Que os vossos esforços desafiem as

impossibilidades, lembrai-vos de que as

grandes coisas do homem foram

conquistadas do que parecia impossível”.

(Charles Chaplin)

Halline Michele Alves

Page 6: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

AGRADECIMENTOS

Primeiramente agradeço a Deus por ter me dado coragem, paciência,

determinação e acima de tudo muita força para a execução deste trabalho.

É imprescindível agradecer às poucas pessoas que me apoiaram, mas que

foram mais que suficientes e essenciais para me fortalecer: In memorian, Dalvina

minha amada avó, minha mãe Márcia, minha tia Lilian, meu tio Carlos Alberto e

todas as pessoas que me apoiaram.

Agradeço em especial ao meu noivo Celso, obrigada por sua ajuda,

paciência e por você ter acreditado em mim quando eu mesma não acreditava!

Aos colegas e professores que tanto contribuíram para expansão do meu

conhecimento ao decorrer destes anos me ajudando quando eu mais precisava em

minhas dificuldades.

Agradeço à minha companheira de trabalho e amiga, Halline M. Alves, unidas

apoiamos uma à outra, suportamos todos os obstáculos e concluímos este trabalho

tão importante em nossas vidas pessoais e acadêmicas.

Agradeço as pessoas que nunca acreditaram em mim e sempre me

incentivaram a desistir dizendo que eu não tinha capacidade, pois foram estas

pessoas que mais me deram impulso para continuar e chegar até aqui!

Meus sinceros agradecimentos ao Prof. Mestre. Julio Fernando Lieira por sua

orientação feita de forma perfeita, sua imensa ajuda sanando minhas dúvidas me

explicando tudo com muita calma e principalmente sua grande paciência na

realização deste trabalho.

Muito obrigada!

Pollyanna Chrystina Milani Zani

Page 7: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

AGRADECIMENTOS

Inicialmente agradeço a Deus por me dar forças para enfrentar minhas

dificuldades que tive durante todo o curso, me capacitando para a conquista e

conclusão deste trabalho.

Agradeço também ao meu orientador Me. Julio Fernando Lieira pela

paciência, disponibilidade para me auxiliar em minhas dúvidas e pelo

comprometimento para com o meu trabalho.

Agradeço não somente a ele, mas a todos os professores que me

acompanharam durante todos os semestres que transmitiram seus conhecimentos

de forma simples e enriquecedora para coma base deste, poder concluir esse curso.

Sou grata a minha companheira e amiga Pollyanna C. M. Zani pelo

comprometimento com o projeto, força de vontade e apoio para conclusão deste

trabalho.

Agradeço à minha família pelo incentivo para a conclusão deste curso, que

muitas vezes pensei em desistir.

Halline Michele Alves

Page 8: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

RESUMO

Por meio do desenvolvimento deste trabalho objetivou-se o conhecimento de algumas ferramentas necessárias para a configuração do servidor Web Apache, podendo assim aumentar seu o nível de segurança perante ameaças. Além disso, foi abordado o referencial teórico que apresentou os tipos de redes, protocolos utilizados, certificados, uma visão geral sobre os servidores Web mais utilizados, um estudo aprofundado sobre o servidor Web Apache e os principais tipos de ataques em servidores. O servidor Apache instalado no sistema operacional Ubuntu 12.10 e o Backtrack 5 R3 foram instalados e testados em máquinas virtuais. Foi realizado o ataque DDoS, sendo que para este ataque utilizou-se a ferramenta Slowloris através do Backtrack 5 R3. Inicialmente o servidor Apache permaneceu apenas com suas configurações primárias, desta forma, foram testados os efeitos do ataque para a obtenção de resultados preliminares. Após o primeiro teste, o mesmo ataque foi feito, porém desta vez com o servidor configurado a diretiva de segurança mod_qos para observar o comportamento do mesmo. Finalizando, foi concluído que o servidor Web, apenas com as configurações primárias, torna-se vulnerável ao tipo de ataque aplicado; porém com a diretiva de segurança mod_qos, o resultado foi diferente, pois o módulo se mostrou eficaz na defesa do servidor ao ataque aplicado. Palavras-chave: Servidor, Segurança, Backtrack, Slowloris e DoS.

Page 9: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

ABSTRACT

Through the development of this work, aimed to knowledge about some needed tools for configuration for the Apache server, may increase their level of security against threats. Beyond that was approached the theoretical framework presented the types of networks, protocols used, certified, an overview of the most used web servers, a detailed study on the Apache web server and the main types of threats on servers. The Apache server was installed on the operating system Ubuntu 10.12 and Backtrack 5 R3 were installed and tested in virtual machines. The DDoS attack was carried out, and for this attack we used the tool through Slowloris in Backtrack 5 R3. Initially, the web server remained with only their primary settings thus tested were the effects of the attack to obtain preliminary results. After the first test, the same attack was made, but this time with the server configured security policy mod_qos to observe the behavior of the same. Finally, it was concluded that the web server, with only the primary settings, it becomes vulnerable to attack type applied, but with mod_qos security policy, the result was different, since the module was effective in protecting the server attack applied. Keywords: Server, Security, Backtrack Slowloris and DoS.

Page 10: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

LISTA DE ILUSTRAÇÕES

Figura 1.1 – WAN.......................................................................................................20

Figura 1.2 - MAN........................................................................................................ 21

Figura 1.3 - LAN......................................................................................................... 21

Figura 1.4 - WLAN...................................................................................................... 22

Figura 1.5 – VLAN...................................................................................................... 22

Figura 1.6 - Rede Ethernet......................................................................................... 23

Figura 1.7 – VPN........................................................................................................ 24

Figura 1.8 - Modelo OSI.............................................................................................26

Figura 1.9 - Modelo TCP/IP - OSI.............................................................................. 29

Figura 1.10 - Modelo TCP/IP - Protocolos................................................................ 29

Figura 2.1- Algumas pessoas que podem causar problemas de segurança e os

motivos para fazê-lo................................................................................................... 36

Figura 2.2 - Instalação de um Patch........................................................................ 37

Figura 2.3 – Firewall................................................................................................. 38

Figura 2.4 – Criptografia em PHP e WebServices................................................... 39

Figura 2.5 - e-CNPJ e e-CPF................................................................................... 41

Figura 2.6 - Leitor de cartões................................................................................... 41

Figura 2.7 – Token................................................................................................... 42

Figura 2.8 - Como funciona o SSL........................................................................... 43

Figura 2.9 - HTTPS.................................................................................................. 45

Figura 3.1 - Modelo Cliente Servidor........................................................................ 47

Figura 3.2 - Acesso Ao Servidor Web...................................................................... 48

Figura 3.3 - Arquitetura Web.................................................................................... 48

Figura 3.4 - Participação de mercado dos servidores Web..................................... 53

Figura 4.1 – Buffer Overflow…………………………………………………………….. 55

Figura 4.2 – Esquema de como funciona um ataque DDoS ................................... 56

Figura 5.1 - Tela inicial do Bactrack 5 R3.................................................................. 61

Figura 5.2 – Linhas de comando para executar o Slowloris no Bactrack.................. 62

Figura 5.3– Building Sockets no Slowlorisl no Bactrack.............................................62

Figura 5.4 – Envio de pacotes ao servidor atacado pelo Slowloris.......................... 63

Figura 5.5 – Servidor antes do ataque..................................................................... 63

Page 11: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

Figura 5.6 – Servidor durante o ataque.................................................................... 64

Figura 5.7 – Conexões estabelecidas entre o Slowloris e o Apache no Servidor

durante o ataque........................................................................................................ 67

Figura 5.8 – Conexões em espera entre durante o ataque...................................... 68

Page 12: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

LISTA DE ABREVIATURAS E SIGLAS

ASCII - American Standard Code for Information Interchange

WAN - Wide Area Network

MAN - Metropolitan Area Network

LAN - Local Área Network

WLAN - Wireless Local Área Network

VLAN - Virtual Local Area Network

VPN - Virtual Private Network

ISO/OSI - International Organization for Standardization / Open System

Interconnection

TCP/IP - Conjunto de Protocolos de Comunicação

TCP - Transmission Control Protocol

IP - Internet Protocol

HTTP - HyperText Transfer Protocol

DDoS - Distributed Denial of Service

DNS - Domain Name System

DoS - Denial of Service

FTP - File Transfer Protocol

GBPS - Gigabits por Segundo

SNMP - Simple Network Management Protocol

UDP - User Datagram Protocol

IANA - Internet Assigned Numbers Authority

ICMP - Internet Control Message Protocol

IGMP - Internet Group Management Protocol

ARP - Address Resolution Protocol

MAC - Media Access Control

MBPS - Megabits por Segundo

LLC - Controle de Link Lógico

UDP - Use Datagram Protocol

SSL - Secure Sockets Layer

HTTP - HyperText Transfer Protocol

Page 13: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

HTTPS - HTTP Secure

HTML – HyperText Markup Language

IIS - Internet Information Services

WAS - Windows Process Activation Service

CGI - Common Gateway Interface

Page 14: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

LISTA DE TABELAS Tabela 1.1 - Protocolo da camada de Aplicação ....................................................... 30

Page 15: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

LISTA DE QUADROS

Quadro 2.1 – Camadas e protocolos para um usuário doméstico navegando com

SSL............................................................................................................................ 43

Quadro 5.1 Configurações do mod_qos .................................................................... 66

Page 16: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

SUMÁRIO

INTRODUÇÃO .................................................................................. 17

1 REDES DE COMPUTADORES ...................................................... 19

1.1 TIPOS DE REDES............................................................................ 19

1.1.1 REDE DE LONGA DISTÂNCIA (WAN) ..................................................... 19

1.1.2 REDE METROPOLITANA (MAN) ............................................................ 20

1.1.3 REDE LOCAL (LAN) ......................................................................... 21

1.1.4 REDE LOCAL SEM FIO (WLAN) ........................................................... 22

1.1.5 REDE VIRTUAL LOCAL (VLAN) ............................................................ 22

1.1.6 O PADRÃO ETHERNET ...................................................................... 23

1.1.7 REDE PRIVADA VIRTUAL (VPN) ........................................................... 24

1.2 PROTOCOLOS DE COMUNICAÇÃO ................................................... 24

1.3 ARQUITETURA DE REDES ............................................................... 25

1.3.1 MODELO OSI ................................................................................. 26

1.4 MODELO TCP/IP ............................................................................. 28

1.4.1 CAMADA DE APLICAÇÃO ..................................................................... 30

1.4.2 CAMADA DE TRANSPORTE .................................................................. 31

1.4.3 CAMADA INTERNET IP ....................................................................... 32

1.4.4 CAMADA DE INTERFACE DE REDE ......................................................... 32

2 SEGURANÇA EM SERVIDOR WEB............................................... 35

2.1 AMEAÇAS À SEGURANÇA DE UMA REDE .......................................... 35

2.1.2 PATCH DE SEGURANÇA ..................................................................... 36

2.1.3 FIREWALL ...................................................................................... 37

2.1.4 CRIPTOGRAFIA................................................................................ 39

2.1.5 AUTORIDADE DE CERTIFICAÇÃO ........................................................... 40

2.1.6 CERTIFICADO DIGITAL: E-CNPJ, E-CPF E TOKEN .................................... 40

2.1.7 SECURE SOCKETS LAYER (SSL) ......................................................... 42

Page 17: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

2.1.8 HTTPS ........................................................................................ 44

3 SERVIDORES WEB ....................................................................... 46

3.1 CONSIDERAÇÕES INICIAIS ............................................................. 46

3.2 LIGHTTPD ...................................................................................... 49

3.3 IIS ................................................................................................. 49

3.4 NGINX ........................................................................................... 50

3.5 SERVIDOR APACHE ........................................................................ 50

3.5.1 BREVE HISTÓRICO DO APACHE ........................................................... 50

3.5.2 UTILIZAÇÕES DO APACHE .................................................................. 52

4 TIPOS DE ATAQUES MAIS COMUNS EM SERVIDORES WEB .... 54

5 IMPLEMENTAÇÃO: UTILIZANDO A FERRAMENTA SLOWLORIS

NO BACKTRACK PARA REALIZAR O ATAQUE DOS EM UM

SERVIDOR APACHE ........................................................................ 59

5.1 IMPLEMENTAÇÃO .......................................................................... 61

CONCLUSÃO ................................................................................... 69

REFERÊNCIAS BIBLIOGRÁFICAS .................................................. 71

GLOSSÁRIO ..................................................................................... 77

Page 18: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

17

INTRODUÇÃO

Com a difusão das novas tecnologias em todos os setores de atividades,

ocorreram mudanças e renovações nas organizações que buscam soluções rápidas

para se manterem competitivas e conquistarem novos mercados, assim os avanços

tecnológicos introduziram no campo empresarial sofisticações operacionais, visando

maior eficiência no fluxo de trabalho. (CINFORM, 2012)

À medida que crescem os números de empresas que confiam na Web como

ferramenta em seus ramos de atuação, aumenta-se a atenção para questões da

segurança de seus sistemas. Para um aumento significativo da produtividade, elas

adotam o uso de servidores Web, pois necessitam que as suas informações e

recursos sejam compartilhados em tempo real. Essa tecnologia vem sendo adotada

em escala crescente para atender às necessidades das empresas. (MICROSOFT,

2013)

Com um servidor Web, uma organização passa a ter presença na Internet,

caso este servidor seja configurado para aceitar requisições. Caso não haja

conexão, o mesmo pode ser utilizado para colocar em funcionamento uma Intranet,

que é uma rede privada de uso exclusivo de uma determinada empresa em que tem

seu conteúdo restrito, permitindo a comunicação de um departamento com todos os

outros colaboradores da mesma, em que só é acessado localmente, sendo assim

um meio de armazenamento, gestão e distribuição de informações, oferecendo

dados e serviços com mais eficiência, permitindo que todos os funcionários realizem

melhor suas tarefas, tornando mais ágeis os trabalhos internos da uma empresa,

proporcionando uma melhor integração entre todas as áreas. (TECMUNDO, 2009)

Um fator muito importante a ser considerado é a segurança destes servidores,

com sua exposição na Web, eles podem ser alvo de ataques e serem expostos a

uma grande variedade de ameaças, assim colocando em risco a integridade destas

organizações, obrigando-as a se preocuparem com a segurança destes sistemas.

(NOBRE, 2007)

Várias empresas são alvos de ataques, por exemplo, a GlobalSign, uma das

maiores empresas de certificação digital teve que parar de emitir certificados,

enquanto realizava uma análise em seus sistemas as evidências apontaram que

Page 19: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

18

seu servidor Web foi comprometido devido a uma falha resultante dos ataques que a

mesma sofreu. (UNDERLINUX, 2011)

Portanto as organizações precisam ter e seguir uma política de segurança

que é um instrumento importante para sua proteção, uma vez estabelecida pode-se

iniciar uma configuração segura dos sistemas que estarão nessa rede.

Neste contexto, este trabalho de conclusão de curso apresenta mecanismos

para aumentar o nível de segurança de servidores web principalmente com relação

à ataques DDoS (Distributed Denial of Service). O estudo dá ênfase na utilização do

servidor Apache, pois segundo Netcraft (2012), é um dos servidores mais utilizados

atualmente com 65,24% de participação no mercado. O servidor Apache foi

instalado e testado em uma máquina virtual para aprofundamento do estudo e

demonstração de comandos necessários para a configuração de segurança do

mesmo.

O primeiro capítulo apresenta o referencial teórico, onde são apresentados

os tipos de redes e protocolos utilizados.

No segundo capítulo foi feita uma abordagem sobre componentes de

segurança para um melhor entendimento e os certificados de segurança.

No terceiro capítulo é apresentada uma visão geral dos servidores Web mais

utilizados e um estudo aprofundado sobre o servidor Web Apache, o qual é o foco

do trabalho.

O quarto capítulo apresenta os ataques mais comuns em um servidor Web.

O quinto capítulo apresenta um estudo de caso, onde foi montado um

ambiente de testes composto de um servidor Web Apache, instalado em uma

máquina virtual; em outra máquina virtual foi instalada a distribuição Linux

BackTrack a qual foi utilizada para gerar ataques de negação de serviço (DoS) ao

servidor Web. Foram aplicadas no servidor Web algumas configurações de

segurança específicas para mitigação dos efeitos de ataques DoS e os resultados

são relatados no final do capítulo.

Por fim, no sexto capítulo é apresentada a conclusão do trabalho.

Page 20: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

19

1 REDES DE COMPUTADORES

Neste capítulo são identificados elementos importantes quanto às

características, formação, tipos, elementos, arquitetura e protocolos de uma rede de

computadores.

1.1 TIPOS DE REDES

Segundo Maia (2009) uma rede de computadores é um conjunto de

dispositivos interconectados com a finalidade de trocar e compartilhar recursos.

A evolução das redes de computadores deu-se da necessidade de troca,

compartilhamento de informações de forma rápida e o compartilhamento de recursos

de hardware e software.

Atualmente, as redes de computadores são o núcleo da comunicação

moderna. Este rápido crescimento nas comunicações não seria possível sem o

avanço progressivo das redes de computadores.

Elas podem ser classificadas segundo diversos critérios, alguns dos mais

comuns são:

Dimensão ou área geográfica ocupada;

Capacidade de transferência de informação;

Topologia ("a forma da rede");

Método de transferência dos dados;

Tecnologia de transmissão.

A seguir algumas designações dos tipos de rede mais comuns.

1.1.1 REDE DE LONGA DISTÂNCIA (WAN)

As redes de longa distância Wide Area Network (WAN) têm a dimensão

correspondente a vários continentes, permitem a interligação de dispositivos

geograficamente distantes, são constituídas por múltiplas redes interligadas. Dada a

sua dimensão e uma vez que englobam LANs e WANs, as tecnologias usadas para

a transmissão dos dados são as mais diversas, contudo, para que as trocas de

Page 21: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

20

informação se processem é necessário um elo comum assente sobre essa

tecnologia heterogênea. Esse elo comum é o protocolo de rede.

A interligação de redes de diferentes tecnologias é assegurada por

dispositivos conhecidos por roteadores, o mesmo possui tipicamente ligação física a

duas ou mais redes, recebendo dados de uma rede para colocá-los na outra rede.

(TANENBAUM, 2003 e ISEP, 2012)

Figura 1.1 – WAN. Fonte: Bhportal, 2012.

1.1.2 REDE METROPOLITANA (MAN)

A necessidade de interligar redes locais dentro de uma mesma cidade

provocou o surgimento das redes metropolitanas ou uma Metropolitan Area Network

(MAN) cuja dimensão é reduzida, geralmente também assegura a interligação de

redes locais. Essas redes oferecem altas taxas de transmissão e baixos índices de

erros. (MAIA, 2009)

Essa tecnologia pode incluir redes ponto-a-ponto ou usar meios que permitem

um débito mais elevado como Fiber Distribued Data Interface (Interface de Dados

distribuída por fibra FDDI), Distributed Queue Dual Bus (Fila distribuída ou

Barramento duplo DQDB) ou até mesmo Gigabit Ehernet (transmissão a uma

velocidade de Gigabit por segundo). (ISEP, 2011)

Page 22: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

21

Figura 1.2 – MAN. Fonte: Cyberti, 2010.

1.1.3 REDE LOCAL (LAN)

Uma Local Área Network (LAN) é caracterizada por ocupar uma área limitada,

é uma rede de caráter local, que cobre uma área geográfica reduzida em um edifício

ou às vezes limita-se a apenas um piso de um edifício, ou um conjunto de salas. São

usualmente redes de domínio privado. Existe um conjunto de serviços e protocolos

que são característicos das redes locais e que fazem parte da definição de rede

coorporativa. (ISEP, 2011)

As LANs oferecem altas taxas de transmissão, da ordem de Mbps e Gbps e

baixas taxas de erros.

Figura 1.3 – LAN. Fonte: Bhportal, 2012.

Page 23: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

22

1.1.4 REDE LOCAL SEM FIO (WLAN)

As redes locais sem fios, conhecidas com Wireless Local Área Network

(WLAN), são adequadas a situações em que é necessária mobilidade, pois são

flexíveis e de fácil instalação. Embora os equipamentos sejam mais caros do que

para uma LAN tradicional, a redução significativa dos custos de instalação é muitas

vezes compensatória. (ISEP, 2011)

Figura 1.4 – WLAN. Fonte: MCMCSE, 2012.

1.1.5 REDE VIRTUAL LOCAL (VLAN)

Figura 1.5 – VLAN. Fonte: Ponto de Redes, 2012.

Page 24: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

23

As redes locais virtuais Virtual Local Area Network (VLAN) são redes lógicas

onde se podem configurar determinadas máquinas de acordo com alguns critérios,

permitindo o acesso restrito a um grupo de usuários ou departamento, são definidas

sobre redes locais que estão equipadas com dispositivos apropriados, permitindo a

segmentação de uma rede sem restrições de conexões físicas. (ISEP, 2011)

1.1.6 O PADRÃO ETHERNET

As redes Ethernet dominam claramente as redes locais, e têm alguma

expressão nas redes metropolitanas. Embora atualmente as redes Ethernet ainda

utilizem "broadcast” (que é uma comunicação na qual um quadro é enviado de um

endereço para todos os outros, havendo apenas um remetente; as informações são

enviadas para todos os receptores conectados), a comutação é cada vez mais

generalizada, entre outras limitações a utilização de broadcast limita fortemente o

tamanho de uma rede Ethernet. Os meios físicos de transmissão mais usados são o

cobre e a fibra óptica. (ISEP, 2011)

Figura 1.6 - Rede Ethernet. Fonte: Projeto De Redes, 2012.

Page 25: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

24

1.1.7 REDE PRIVADA VIRTUAL (VPN)

As redes privadas virtuais Virtual ou Private Network (VPN) utilizam uma rede

pública, por exemplo, a Internet para estabelecer uma ligação de dados entre dois

pontos, estes dados têm a particularidade de serem codificados de tal forma que

apenas os dois intervenientes os conseguem compreender.

Os dois pontos da ligação passam a funcionar como roteadores para as

respectivas redes. Esta técnica pode ser usada para interligar redes distantes

pertencentes a uma mesma organização, permitindo o compartilhamento de

arquivos, informações e aplicativos de gerenciamento como se as máquinas

estivessem conectadas na mesma rede local, com baixa velocidade, mas com

grandes vantagens econômicas. (ISEP, 2011)

Figura 1.7 – VPN. Fonte: RNP, 1998.

1.2 PROTOCOLOS DE COMUNICAÇÃO

Através da Internet tem-se um acesso a uma grande quantidade de

informações, que possibilita obter o conhecimento através de alguns segundos. Para

solicitar alguma informação através da Internet ou com um computador da mesma

rede, é preciso que os dispositivos falem a mesma linguagem, mesmo operando na

mesma rede a Internet é composta por várias tecnologias, para que essa

comunicação ocorra são utilizados os protocolos de comunicação. Segundo Maia

(2009) protocolos de comunicação são regras predefinidas que devem ser seguidos

pelos dispositivos, eles são formados pelas informações de controle contidas no

Page 26: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

25

cabeçalho e pelo processamento dessas informações nas respectivas camadas de

origem e destino.

Os protocolos pegam os dados que serão transmitidos e os dividem em

pequenos pedaços de tamanho fixo chamado pacotes ou quadros, com essa divisão

o uso da rede é aperfeiçoado, pois desta forma os pequenos pacotes são

transferidos um a um sem congestionar a rede ou ocupar muito espaço. (TORRES,

2001)

Os protocolos utilizados em uma rede precisam ser compatíveis, caso

contrário a comunicação não se dará de forma efetiva ou não ocorrerá.

Existem vários protocolos relacionados à comunicação de dados e de redes

de computadores, e cada uma possui uma função específica. O Transmission

Control protocol (TCP) e Internet Protocol (IP) são dois dos muitos protocolos

utilizados, eles são utilizados como forma de referenciar todos os protocolos que

fazem parte do modelo Internet. (MAIA, 2009)

1.3 ARQUITETURA DE REDES

Segundo Maia (2009), uma arquitetura de redes deve especificar o número de

camadas, as respectivas interfaces, os serviços oferecidos por cada nível e seus

protocolos. A tarefa da arquitetura de redes é a definição das funções de cada

camada, pois tem grande influência no seu desempenho, simplifica o projeto e a

implementação de seus componentes.

Em um modelo de camadas, o sistema é dividido em níveis sobrepostos.

Cada camada oferece funções que podem ser utilizadas pelas camadas superiores.

Tem como vantagem isolar as funções do sistema operacional, facilitando sua

manutenção e depuração e criar uma hierarquia de níveis de modos de acesso,

protegendo as camadas mais internas. Uma desvantagem para o modelo de

camadas é o seu desempenho da rede em função do número de interfaces pelo qual

os dados terão que passar. Cada nova camada implica em uma mudança no modo

de acesso. Sendo assim entenderemos as camadas a partir do Modelo OSI.

(INFPUC, 2005)

Page 27: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

26

1.3.1 MODELO OSI

Quando surgiram as redes de computadores determinadas tecnologias eram

suportadas somente pelos seus fabricantes, assim suas soluções tornavam-se

somente dos proprietários. Para facilitar a interconexão dos sistemas de

computadores a International Organization for Standardization (ISO), desenvolveu o

modelo de referência Open System Interconnection (OSI) para que se criasse uma

padronização em nível internacional, os dispositivos de intercomunicação de redes e

seus protocolos, de forma que permitisse que todos fossem interoperáveis a partir

desse modelo que tem sete camadas, o qual foi criado especificamente para redes

de comutação de pacotes. (TORRES, 2009)

Figura 1.8 - Modelo OSI. Fonte: LST, 2012.

Segue uma breve explicação das camadas do modelo OSI e suas funções,

segundo Torres (2009):

Camada 7 – Aplicação: Esta camada faz a interface entre a pilha de

protocolos e os aplicativos que solicitam ou recebem a informação através da rede.

Permite o acesso a diversos e diferentes serviços de aplicação, com a conversão

dos diferentes protocolos.

Page 28: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

27

Camada 6 – Apresentação: Segundo essa camada tem como função

converter o formato do dado que é recebido pela camada de Aplicação a um formato

comum para ser usado na transmissão desse dado, também é usado para

compressão e criptografia de dados, assim transmite a informação de tal forma que

possa ser entendida e usada pelo receptor.

Camada 5 – Sessão: Esta camada permite que duas aplicações distintas

estabeleçam uma sessão de comunicação, assim as aplicações desta sessão

definem como será feita a transmissão dos dados, coloca marcações nestes dados

para se caso a rede falhar a transmissão é reiniciada a partir da última marcação

recebida pelo computador receptor.

Camada 4 – Transporte: Esta camada é responsável em pegar os dados da

camada de sessão e dividi-las em segmentos, ou seja, ela faz uma segmentação de

dados que serão repassados para a camada de Rede. No receptor essa camada é

responsável por remontar os dados recebidos pela camada de Rede para enviá-los

à camada Sessão.

Camada 3 – Rede: Esta camada é responsável pelo endereçamento lógico

dos pacotes de dados e pela tradução de endereços lógicos em endereços físicos.

Para que haja um tráfego os pacotes de dados precisam conhecer o endereço físico

da placa de rede de origem e destino, este endereçamento é gerado pela camada

de Enlace.

Camada 2 – Enlace de Dados: Esta camada pega os dados que foram

transmitidos pela camada de rede e os transforma em quadros ou células que serão

trafegados pela rede, adiciona informações como endereço de placa de rede de

origem e destino e dados de controle. O quadro criado nesta camada é enviado para

a camada Física que converte esse quadro em sinais elétricos para serem enviados

através de um cabo de rede.

Camada 1 – Física: Esta camada pega os dados enviados pela camada de

Enlace e os transforma em sinais compatíveis com o meio onde os dados serão

transmitidos. O papel desta camada é efetuado pela placa de rede dos dispositivos

conectados em rede.

Portando para que possa transmitir um dado, cada camada pega as

informações passadas pela camada superior, acrescenta informações pelo qual ela

é responsável e passa os dados na camada inferior. Essa mensagem só será

transmitida, pela camada física.

Page 29: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

28

Para que o roteador direcione a mensagem ele abre a mensagem até a

camada de rede onde está o endereço de rede, e faz o processo novamente,

levando a mensagem até a camada física para que continue sua transferência.

Quando chega ao destino, ela faz o processo inverso iniciando então na camada

física, indo à camada de aplicação, onde o usuário interage. (FARREL, 2005)

Segundo Maia (2009), o modelo de camadas OSI, não obteve êxito comercial,

por sua complexidade, as primeiras implementações oferecidas pelos fabricantes

não ofereciam um bom desempenho e não eram compatíveis entre si, enquanto o

modelo TCP/IP, era mais simples e eficiente e estava disponível em diversas

plataformas e matinha compatibilidade entre diversas implementações.

1.4 MODELO TCP/IP

O TCP/IP é um conjunto de protocolos de comunicação entre computadores e

que seu nome é derivado de dois protocolos: o Transmission Control Protocol

(Protocolo de Controle de Transmissão TCP) e o Internet Protocol (Protocolo de

Interconexão IP). O conjunto de protocolos pode ser visto como um modelo de

camadas. (LST, 2012)

O modelo TCP/IP surgiu durante a década de 60, tendo o objetivo de conectar

redes e sistemas heterogêneos com a utilização do esquema de comutação de

pacotes. Sua principal preocupação era a disponibilidade da rede, que deveria

continuar em operação mesmo no caso de falha de alguns de seus componentes,

também deveria suportar diferentes tipos de serviços, oferecendo uma boa relação

de custo-benefício em relação à conexão de novas redes. Com a evolução da

Internet este modelo vem sendo aprimorado para atender novas demandas e

necessidades. (MAIA, 2009)

Enquanto o modelo OSI se preocupava em criar uma arquitetura de redes

com uma distinção clara entre camadas, interfaces, serviços e protocolos, no modelo

TCP/IP privilegiam os protocolos e há uma maior atenção com a arquitetura. O

modelo TCP/IP possui quatro camadas, onde cada camada é responsável por um

grupo de tarefas, fornecendo um conjunto de serviços bem definidos para o

protocolo da camada superior. (MAIA, 2009)

O modelo TCP/IP quando é comparado com o modelo OSI, tem duas

camadas que são formadas a partir da fusão de algumas camadas, como a de

Page 30: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

29

Aplicação que é a junção da Aplicação, Apresentação e Sessão e de Interface de

Rede que é a junção de Enlace e Física. Conforme a figura a seguir:

Figura 1.9 - Modelo TCP/IP – OSI. Fonte: 2DC, 2012.

Figura 1.10 - Modelo TCP/IP – Protocolos. Fonte: 2DC, 2012.

A figura acima mostra essas camadas do modelo TCP/IP e alguns dos

principais protocolos.

Como no modelo OSI, no modelo TCP/IP os pacotes passam pelas camadas,

cada camada anexa uma informação em forma de um cabeçalho no pacote. Então o

pacote que contém o cabeçalho e os dados é reempacotado cada vez que passa

Page 31: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

30

para uma camada inferior. Quando chega ao destino o processo é inverso, em cada

camada ele vai sendo desempacotado. Como será visto a seguir na descrição de

cada camada. (TORRES, 2009; FARREL, 2005).

1.4.1 CAMADA DE APLICAÇÃO

A camada de Aplicação do modelo TCP/IP, equivale às camadas 5, 6 e 7 do

modelo OSI. É esta camada que “conversa” com os programas instalados em seu

computador. Nela existem vários protocolos operando, como o HyperText Transfer

Protocol (HTTP), o Domain Name System (DNS), o File Transfer Protocol (FTP), o

Simple Network Manegement Protocol (SNMP), o Telnet e outros. (TORRES, 2009)

A Tabela 1 apresenta alguns protocolos utilizados na camada de Aplicação no

modelo TCP/IP.

Tabela 1.1 - Protocolo da camada de Aplicação.

Protocolo Descrição

HTTP

FTP

SMTP

Telnet

DNS

SNMP

Utilizado no serviço Web.

Utilizado no serviço de transferência de arquivos.

Utilizado no serviço de correio eletrônico.

Utilizado no serviço de terminal remoto.

Utilizado no serviço de nomes.

Utilizado no serviço de gerência remota.

Fonte: Maia 2009.

Esta camada comunica-se com a camada de Transporte através de uma

porta, estas portas são numeradas de 0 a 65.535, no lado do servidor as aplicações

padrão usam sempre uma mesma porta, essa portas são sistemas de

endereçamento para assim saber qual protocolo está transferindo os dados e com

isso saber qual protocolo de aplicação será entregue na máquina de destino. Assim,

na camada de Transporte ela sabe qual o tipo de conteúdo do dado, e no receptor,

para qual protocolo de aplicação a camada de Aplicação deve entregar o pacote de

dados. (TORRES, 2009)

Page 32: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

31

1.4.2 CAMADA DE TRANSPORTE

A camada de transporte é responsável por pegar os dados enviados pela

camada de Aplicação e transformá-los em pacotes, para então serem repassados

para a camada de Redes. Existem dois protocolos que operam nesta camada deste

modelo, o TCP e o UDP. (TORRES, 2009)

O protocolo TCP recebe os datagramas IP e trata de colocá-los em ordem e

verifica se todos chegaram corretamente, isto é feito através de uma confirmação de

recebimento enviada pelo receptor. Portanto o protocolo TCP é orientado a conexão,

por isso é um protocolo confiável. Esta camada só envia mensagem com a certeza

que vai receber. (TORRES, 2009; MAIA, 2009)

O protocolo UDP, não é um protocolo orientado a conexão, assim não é

confiável, pois não garante a entrega e a sequência dos dados transmitidos. Quanto

um protocolo não usa um sistema de confirmação de recebimento de dados, ele é

chamado de datagrama, que significa que é um pacote não orientado a conexão. Os

programas têm como vantagem a utilização do UDP é em relação à transmissão de

dados, pois ficam mais rápidos. Primeiramente pelo seu tamanho é menor que o

TCP e segundo no protocolo UDP, como não existe um mecanismo de confirmação

de chegada de pacotes, isso acelera a entrega dos mesmos, já que o transmissor

não precisa esperar receber uma mensagem de confirmação do receptor para o

envio do próximo pacote. (TORRES, 2009)

O protocolo TCP é o mais utilizado para transmissão de dados, pois o

protocolo IP que recebe os pacotes na camada de transporte os dividiu em pacotes

menores e adicionará o endereço lógico de origem e destino. (TORRES, 2009)

Para que se identifiquem os pontos de origem e destinos dos endereços IP,

são utilizadas as portas, que na verdade é um sistema de endereçamento para

saber para qual protocolo de aplicação a camada deverá entregar um determinado

pacote, pois podemos ter vários protocolos operando simultaneamente na camada

de aplicação. (TORRES, 2009)

Essas portas usam o endereçamento de 16 bits, elas são numeradas de 0 a

65.535. Somente uma única aplicação pode escutar uma porta, pois se a aplicação

escutasse mais de uma porta, ela não seria capaz de saber a quem entregaria os

pacotes de dados. Portanto as portas precisam ser padronizadas, sendo a Internet

Assigned Numbers Authority (IANA) o órgão padronizador. A IANA dividiu em três

Page 33: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

32

partes este número: as portas bem conhecidas ou privilegiadas de 1 a 1023 que são

atribuídas para uso de aplicações do lado do servidor que precisam ser executadas

com privilégios restritos; as portas registradas que vão de 1024 a 49151 e também

são utilizadas principalmente para aplicações de servidor, mais também podem ser

usadas pelo cliente; e as portas dinâmicas ou privadas que vão de 49152 a 65535,

estas são atribuídas pelo sistema local conforme a necessidade. (TORRES, 2009)

1.4.3 CAMADA INTERNET IP

Esta camada corresponde a camada 3 do Modelo OSI, a camada de rede, e

tem a função de encaminhamento de pacotes utilizando a rede de interconexão,

oferece um serviço do tipo de datagrama que não exige que a origem e o destino

estabeleçam uma conexão para que ocorra uma transmissão, também não oferece

garantia de que um pacote enviado será recebido e não evita o recebimento de

pacotes duplicados. Esta camada define um formato oficial de pacote e um protocolo

chamado IP. (TORRES, 2001; MAIA, 2009)

Há alguns protocolos que podem operar nesta camada: IP, Internet Control

Message Protocol (ICMP), Internet Group Management Protocol (IGMP), Address

Resolution Protocol (ARP) e outros.

O protocolo IP pega os pacotes enviados da camada de transporte e adiciona

o endereço do computador que está enviando os dados e o endereço do

computador que os receberá. Em seguida é enviado para a camada de interface de

rede. (CBH, 2002)

O protocolo ICMP, que é um protocolo utilizado para a troca de informações

de controle, monitora e transmite informações de controle, inclusive a notificação de

destinos que não possam ser alcançados entre uma rede e outra. É utilizado por

algumas ferramentas para testes de conectividade, como por exemplo, o Ping e o

Traceroute. (TANENBAUM, 2003)

1.4.4 CAMADA DE INTERFACE DE REDE

Esta camada equivale as camadas 1 e 2 do Modelo OSI, ela recebe o

datagrama da camada de Internet e envia através da rede em forma de quadros,

Page 34: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

33

esta camada não reconhece o endereço IP, ela utiliza o endereço MAC1 para

transmissão dos quadros, que é o endereço da placa de rede. Como o endereço IP,

o endereço MAC também é único de cada host. (TORRES, 2009; TANEMBAUM,

2003)

Quando uma máquina precisa se comunicar com a outra máquina, e sabe

apenas o endereço IP, é enviada uma mensagem a toda rede solicitando que a

máquina com este IP responda a solicitação enviando seu endereço MAC, para que

possa ser enviado o quadro. Isto é feito através do protocolo ARP, este protocolo

cria uma tabela com os endereços IP da rede e seus respectivos endereços MAC,

assim sempre que precisar se comunicar consulta a tabela, não precisando solicitar

a toda a rede que responda qual seu endereço. Quando o quadro é enviado, a

máquina de destino abre o quadro e passa para a camada de Internet, para que

possa confirmar se o endereço IP é o correto. (TANENBAUM, 2003)

Uma das tecnologias utilizada nesta camada é a Ethernet, que é uma

tecnologia de rede local de comutação de pacotes. (COMER, 2006)

O Frame Ethernet, é dividido em sete partes, a transmissão de cada quadro

inicia com o envio de 8 bytes contendo uma introdução e uma sequência de

inicialização que avisa os outros micros da rede de que uma transmissão está

prestes a começar. (DENARDIN, 2007)

De acordo com Torres (2009), quando é utilizada a arquitetura Ethernet em

uma rede local baseada no protocolo TCP/IP, esta camada passa a utilizar o padrão

Ethernet, dividindo-se em três partes: Controle de Link Lógico (LLC), Controle de

Acesso ao meio (MAC) e Física.

A camada de LLC inclui informações sobre os protocolos de alto nível,

passam os pacotes para ela ser transmitida, quando os pacotes chegam ao

receptor, o mesmo deve saber para qual protocolo serão entregues estes dados; a

camada MAC gera o quadro Ethernet, pegando os dados da LLC e acrescenta um

cabeçalho aos dados, são inseridas informações da placa de rede de origem e da

placa de rede receptora do quadro, depois é enviado para a camada física que

transmitirá o quadro pelo cabeamento da rede. Quando o mesmo chega ao seu

destino, é passado à camada superior, o MAC abre o quadro e verifica se os dados

1 Media Access Control (MAC) é um endereço único de controle de acesso com 12

dígitos hexadecimais que identifica uma placa de rede na rede. (TECMUNDO, 2010)

Page 35: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

34

estão corretos e assim para camada superior. Ao chegar à camada de Transporte,

caso o protocolo for UDP, as informações serão passadas para camada superior

conforme a ordem de chegada, se algum pacote atrasar ele será descartado, porém

se for TCP, as informações primeiramente serão colocadas em ordem antes de

passar a camada superior, e se algum pacote não chegar, os pacotes serão

solicitados novamente. (TORRES, 2009)

No segundo capítulo, a seguir, será feita uma abordagem sobre segurança de

servidores Web, focando-se no servidor Apache, o qual será utilizado no

desenvolvimento deste trabalho.

Page 36: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

35

2 SEGURANÇA EM SERVIDOR WEB

As empresas e os usuários individuais enxergam a segurança como uma

preocupação de segundo plano, entretanto ela é essencial para evitar tentativas de

invasão. (CERT, 2012)

A segurança de um servidor Web é tão importante quanto da própria rede,

pois ele armazena dados importantes que não podem ser violados.

Neste capítulo será feita uma abordagem sobre componentes de segurança

para um melhor entendimento.

2.1 AMEAÇAS À SEGURANÇA DE UMA REDE

A segurança não é uma tecnologia, logo não é possível comprar algum

equipamento ou desenvolver um software que torne sua rede segura, o que é

possível é administrar um nível de risco aceitável. (LIEIRA, 2012)

As ameaças em uma rede dependem dos recursos que seus usuários

utilizam, assim existe uma vasta lista de possíveis ameaças, serão citadas algumas,

como por exemplo:

Vírus: são programas mal intencionados que se espalham através de

downloads, falhas na segurança de um software e e-mails, feitos para causar

transtornos com diversas ações como, por exemplo, apagar arquivos,

capturar informação, alterar ou comprometer o funcionamento do sistema.

(ALECRIM, 2011)

Dados roubados por invasão: um invasor rouba dados confidenciais, como

por exemplo, uma senha de uma conta bancária, sem dúvida as invasões são

uma das piores ameaças. (LIEIRA, 2012)

Dados modificados por invasão: assim como a situação descrita acima, além

de invadir, um invasor pode modificar dados e com isto causar graves

consequências como, por exemplo, invadir o sistema de um laboratório e

modificar a fórmula de uma medicação. (LIEIRA, 2012)

Ser usado como ponte: um invasor pode usar o servidor de uma empresa

para fazer ataques à outra empresa, isto pode trazer consequências como ter

o site da empresa bloqueado e uma publicidade negativa. (LIEIRA, 2012)

Page 37: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

36

Ameaça interna: funcionários da própria empresa que estejam descontes ou

até mesmo hajam de forma mal intencionada podem usar a rede da empresa de

forma negligente. (CISCO, 2012)

Figura 2.1- Algumas pessoas que podem causar problemas de segurança e os motivos para fazê-lo. Fonte: Tanenbaum, 2003, p. 543.

Perante a algumas ameaças, existem algumas formas de preveni-las.

2.1.2 PATCH DE SEGURANÇA

Após a liberação de um sistema operacional podem ocorrer erros ou o mau

funcionamento em alguns softwares, como bugs2 e algumas vulnerabilidades, estes

problemas podem ser ocasionados por diversos motivos e para que sejam corrigidos

é necessário um programa de correção de softwares que são chamados de patches.

O termo patch significa “remendo”, ou seja, corrige a imperfeição que está causando

o erro, seria a substituição do arquivo original com problemas por outro, ele é uma

ferramenta barata e rápida para essas soluções e não serve só para a correção de

erros, é também utilizado para fazer alterações em um software, melhorando sua

usabilidade e desempenho. (O QUE É PATCH, 2012; CCUEC, 1999)

Um sistema precisa garantir uma operação mais segura e estável, assim o

administrador de rede tem a necessidade de ter como rotina a aplicação de patch de

segurança. Já que furos na segurança estão surgindo constantemente, é muito

importante descobrir qual patch necessita ser aplicado em cada sistema de sua

rede, para assim ser aplicado em cada necessidade encontrada. (CCUEC, 1999) 2 Do inglês “inseto”, termo usado quando um erro é encontrado em algum programa e o mesmo age

de maneira inesperada ou fora do comum. (INFOESCOLA, 2013)

Page 38: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

37

O programa patch é distribuído em pacotes que contém vários patches, são

conhecidos como “patch clusters”, isso facilita o download e a instalação deste

programa. Ele não deve alterar o funcionamento dos pacotes, pois tem como

objetivo o reparo de objetos instalados no sistema. Um sistema de identificação de

patch é interessante obter, pois o mesmo assegura que dois patches na tentativa de

corrigir os problemas, não substitua o mesmo arquivo. Caso necessário eles também

devem ser passíveis a remoção. Devem ser instalados periodicamente e serem

aplicados sem a consideração de possíveis efeitos colaterais, para garantir e manter

o sistema atualizado e corrigido de qualquer falha ou problemas que possam ocorrer

no sua execução. (CCUEC, 1999)

A figura abaixo demonstra a instalação de um Patch de segurança:

Figura 2.2 - Instalação de um Patch. Fonte: O que é Patch, 2012.

2.1.3 FIREWALL

A utilização de um firewall em um servidor Web aumenta a segurança na

rede, já que o mesmo é um programa que tem como objetivo proteção das máquinas

contra os acessos e tráfegos indesejados, protege os serviços e os dados que estão

rodando na máquina, age interceptando e impedindo a difusão de conexões não

autorizadas e/ou nocivas em uma rede. (PEDROSO, 2006)

Page 39: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

38

Um firewall trabalha no controle de tráfego em uma rede, usando para isso

um conjunto de regras; ele determina qual o conteúdo que poderá trafegar pela rede,

bem como as conexões que serão aceitas ou negadas. Ele verifica os endereços de

origem e destino dos pacotes, as portas para quais são destinados e o status da

conexão, porém ele não verifica o conteúdo dos pacotes, logo não pode evitar vírus,

trojans 3, phishing4 ou outros ataques, isto fica a cargo dos antivírus, que verificam o

conteúdo dos arquivos. (MORIMOTO, 2008)

Um firewall pode se apresentar sob duas formas: software e hardware. Como

software é mais comum, pois são programas instalados na máquina para o controle

das conexões, tanto as solicitadas, como as que são disponibilizadas pelo servidor.

E na forma de hardware, existem equipamentos específicos para reforçar a

segurança de uma rede. São geralmente empregados em redes de grande porte,

principalmente em empresas que necessitam de mais segurança a suas máquinas.

(TECMUNDO, 2012)

Abaixo a figura demonstra como funciona o firewall, como se fosse realmente

uma barreira de acesso, onde somente quem está autorizado consegue passar.

Figura 2.3 – Firewall. Fonte: RDS, 2010.

3 É um tipo de programa malicioso que pode entrar em um computador disfarçado como um programa

comum e legítimo para possibilitar a abertura de uma porta para invasão. (TECMUNDO, 2013) 4 “Phishing” do inglês “pescaria” tem o objetivo de “pescar” informações e dados pessoais importantes através de mensagens falsas. (TECMUNDO, 2013)

Page 40: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

39

2.1.4 CRIPTOGRAFIA

De acordo com Monteiro e Mignoni (2007, p.22) a palavra criptografia vem do

grego: kriptos = escondido, oculto e grifo = escrita. A criptografia usa a matemática,

em forma de algoritmos, para ocultar dados, ou seja, embaralhar informações. A

criptografia escreve em cifras ou códigos não decifráveis, chamados de cifragem.

Para decifrar a mensagem original, o destinatário, aplica o processo inverso, a

decifragem, que torna a mensagem legível novamente.

O nível de segurança das informações depende do tamanho da chave, logo

quanto mais bits uma chave possuir, mais difícil será de ser descoberta.

A criptografia provê recursos para garantir os seguintes serviços:

Autenticação: Garante a origem da informação, permitindo a comprovação da

origem.

Integridade: Assegura a veracidade da informação.

Confidencialidade: Garante acesso às informações apenas por pessoas

autorizadas.

Irretratabilidade: Assegura que o emissor da mensagem não negue que foi o

autor da mesma.

A Criptografia é uma fórmula matemática, em que é gerada duas chaves, uma

pública a outra privada. A chave pública é aquela que qualquer um pode ter, ela é

utilizada para criptografar os dados e a chave privada, é uma chave que só o

destinatário dos dados conhece, essa chave é utilizada para descriptografar os

dados (CERT, 2011; CBH, 2002)

Na figura a seguir demonstra-se a utilização das chaves para criptografar e

descriptografar uma mensagem.

Figura 2.4 - Criptografia em PHP e WebServices. Fonte: RECKZIEGEL, 2013.

Page 41: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

40

2.1.5 AUTORIDADE DE CERTIFICAÇÃO

As Autoridades Certificadoras (ACs) são entidades que emitem certificados

digitais para servidores e utilizadores que precisem se identificar e garantir as suas

operações de forma confiável no mundo digital. Cada certificado digital emitido é

certificado e garantido pela AC responsável pela sua emissão, a AC recebe e

autentica a solicitação de certificado, emite e sela digitalmente o certificado e

gerencia os certificados emitidos. (MONTEIRO; MIGNONI, 2007)

Uma das entidades certificadoras mais conhecidas é a VeriSign, seus

serviços de autenticação fazem parte da Symantec Corporation, seus serviços

incluem SSL, Certificados SSL, verificação contra malware, infraestrutura de chave

pública (PKI) e etc. Ela oferece garantias sobre os certificados emitidos pela

entidade, seu grande problema é relacionado a preço, pois é mais elevado em

comparação com as outras entidades como a Thawte, Geotrust, GlobalSign, que

também são conhecidas mais acessíveis para usuários que necessitam deste tipo

de serviço. (VERISIGN, 2012; HARDWARE, 2008)

2.1.6 CERTIFICADO DIGITAL: E-CNPJ, E-CPF E TOKEN

Certificado digital é um documento eletrônico que permite identificar um

usuário, este que pode ser uma pessoa, empresa ou um site, permitindo que o

mesmo possa realizar transações, troca de informações, troca eletrônica de

documentos, dados, mensagens pela Internet e procedimentos pela Internet de

forma mais segura, com a transmissão sigilosa dos dados trafegados, garantindo a

privacidade e inviolabilidade, assim podendo disponibilizar serviços com maior

agilidade e mais acessibilidade e redução de custo. (ACCERTICA, 2012; ITI, 2012)

A Certificação Digital se faz necessário em processos que uma entidade, seja

física ou jurídica , precisa garantir sua autenticidade. (ACCERTICA, 2012)

Os documentos eletrônicos de identificação o e-CNPJ e o e-CPF, são

utilizados para garantir autenticidade dos remetentes ou destinatários dos

documentos e informações que trafegam na Web, garantindo o sigilo e

inviolabilidades dos mesmos. Eles foram criados para a facilitação do

relacionamento dos contribuintes e a Secretaria da Receita Federal. Eles são

utilizados para assinar digitalmente um documento. (ACCERTICA, 2012)

Page 42: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

41

O e-CNPJ é utilizado para a comunicação virtual com as instituições

governamentais garantindo a autenticidade nas transações de pessoas jurídicas, ele

pode ter três formatos: e-CNPJ com cartão smart card e leitora, este que armazena

de forma segura o Certificado Digital; o e-CNPJ com token criptográfico, este que é

conectado diretamente no dispositivo de USB, para armazenamento do certificado

digital criptografado e e-CNPJ em arquivo, o qual é inserido como um arquivo no

computador que será utilizado.(CERTDIG, 2010)

A figura abaixo mostra o que é um e-CNPJ e um e-CPF:

Figura 2.5 - e-CNPJ e e-CPF. Fonte: Infocomex, 2013.

Figura 2.6 - Leitor de cartões.

Fonte: CDILAN, 2011.

O e-CPF é um documento em forma de certificado digital que é utilizado para

a comunicação com instituições governamentais ou não, ele garante a autenticidade

nas transações de pessoas físicas, com ele é possível fazer exportações e

Page 43: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

42

importações, assinatura de documentos eletronicamente, ele comprova a autoria de

uma pessoa física, como o e-CNPJ ele também tem três formatos: e-CPF com

cartão smart card e leitora; e-CPF com token criptográfico e o e-CPF em arquivo.

(CERTDIG, 2010)

Em relação à segurança, pode-se citar um dispositivo físico que auxilia na

segurança pessoal do usuário, conhecido como Token que funciona como uma

chave eletrônica, que gera uma senha temporária de proteção das contas utilizadas,

esse dispositivo é muito útil para a proteção de senhas bancárias. Ele gera códigos

aleatórios instantâneos, o mesmo é necessário para a utilização junto à senha

bancária, assim é impossível a descoberta do código, já que o mesmo além de ser

gerado instantaneamente dura poucos segundos, criando senhas diferentes a cada

click. Este dispositivo é parecido como um chaveiro ou um pendrive. (TECMUNDO,

2009)

O Certificado digital tem o funcionamento através da utilização de chaves

criptográficas, já mencionada nos textos anteriores. Em sua vez a Autoridade

Certificadora vem com a terceira parte que transfere a autenticidade do Certificado

Digital. Faz-se também o uso do protocolo HTTPS como descrito a seguir.

(ACCERTIFICA, 2012) A figura abaixo mostra o que é um Token:

Figura 2.7 – Token. Fonte: Certiplus, 2012.

2.1.7 SECURE SOCKETS LAYER (SSL)

Com o crescimento do comércio eletrônico, as transações feitas pela Web,

precisavam se tornar mais confiáveis, então se criou uma demanda por conexões

seguras. Em 1995, a Netscape Communication Corp, introduziu um pacote de

segurança chamado Secure Sockets Layer (SSL), para atender essa necessidade.

(TANENBAUM, 2003)

Page 44: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

43

O SSL constrói uma conexão segura entre duas máquinas, incluindo

negociação de parâmetros entre cliente e servidor, autenticação mútua de cliente e

servidor, além da comunicação secreta e proteção da integridade dos dados.

(TANENBAUM, 2003)

A função do SSL é aceitar as solicitações do navegador e as enviar ao TCP

para a transmissão ao servidor. Na pilha de protocolos habitual, o posicionamento

do SSL, podemos observar na tabela 2 abaixo que se trata de uma nova camada

colocada entre a camada de Aplicação e a de Transporte. Ele armazena as

comunicações entre um site Web e um navegador cliente. Após a conexão

estabelecida, o SSL tem a tarefa de manipular a compactação e a criptografia.

(NEMETH; SNYDER; HEIN, 2007; TANENBAUM, 2003)

Figura 2.8 - Como funciona o SSL. Fonte: Sierti, 2013.

Quadro 2.1 – Camadas e protocolos para um usuário doméstico navegando com SSL.

Aplicação (HTTP)

Segurança (SSL)

Transporte (TCP)

Rede (IP)

Enlace de dados (PPP)

Física (modem, ADSL, TV a cabo)

Fonte: Tanenbaum, 2003.

Page 45: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

44

O SSL admite várias opções distintas e algoritmos, isto inclui a presença ou

ausência de compactação, algoritmos de criptografia a serem usados e algumas

restrições relativas a exportações relacionadas com os algoritmos de criptografia.

(TANENBAUM, 2003)

O protocolo SSL é formado por dois subprotocolos, um para estabelecimento

de conexão segura e outro para utilização deste. (TANENBAUM, 2003)

O SSL admite vários algoritmos simétricos de criptografia, como o DES triplo

com três chaves e SHA-1 com a finalidade de manter a integridade das mensagens.

Essa combinação é mais usada em aplicações que exige mais alta segurança, como

aplicações bancárias.

Para aplicações de comércio eletrônico, é usado o RC4 com uma chave de

128 bits como uma semente e pode expandir-se até um número maior para uso

interno. Depois é utilizado esse número para gerar um fluxo de chaves que é

submetido a uma operação XOR e utiliza o MD5 para autenticação das mensagens.

(TANENBAUM, 2003)

O RC4 tem algumas chaves fracas que são facilmente analisadas com o uso

da criptografia. Os navegadores que dão ao usuário a opção de escolherem o

conjunto de números de cifras devem ser configurados para utilizarem o DES e o

SHA-1 todo o tempo, embora seja mais lento que o RC4 e o MD5. (TANENBAUM,

2003)

Para que tenha proteção da informação que está alojada em um domínio sob

o protocolo SSL, é necessária a instalação de um certificado de segurança neste

domínio, assim o mesmo permite a criptografia da informação e a certificação do

proprietário da informação. (ARSYS, 2012)

2.1.8 HTTPS

O HyperText Transfer Protocol (HTTP) é um protocolo de transferência

utilizada pela Web, ele permite a comunicação entre cliente e servidor, o cliente

HTTP faz a solicitação ou requisição por um browser, um script ou qualquer

programa que utilize este protocolo para o servidor HTTP, que responde todas as

solicitações.

Essas mensagens são em formato de texto, podem ter dois tipos: solicitações

do cliente – servidor (request), ou resposta servidor – cliente (response).

Page 46: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

45

Cada uma das interações entre cliente/servidos consistem em uma solicitação

ASCII, seguida por uma resposta RFC 822. (MAIA, 2009; TANENBAUM, 2003;

PONTOEDU, 2009)

O HTTP, não é um protocolo confiável, pois não há nenhum tipo de

criptografia em sua transferência de dados e envio de informações, por isso sua

mensagem pode ser violada, não tendo nenhum tipo de segurança. A versão segura

desde protocolo é chamada de HTTPS. (MAIA, 2009)

Quando o HTTP é usado sobre o SSL, denomina-se HTTPS (HTTP Secure).

Mesmo ele sendo um protocolo padrão, muitas vezes disponível na porta (80), com

HTTPS, ele se disponibiliza na porta TCP (443), permitindo o sigilo de transações

bancárias ou transações do comércio eletrônico na Web.

Os dados são transmitidos por uma conexão criptografada, que assim por sua

vez verifica a autenticidade do servidor e cliente, através de certificados digitais.

O HTTPS permite a encriptação dos dados, autenticação do servidor e a

integridade das mensagens e autenticação dos clientes. (MAIA, 2009; PONTOEDU,

2008; TANENBAUM, 2003).

Quando se acessa um site e seu endereço começa com “HTTPS://” e há um

cadeado em algum lugar da página, significa que o mesmo está usando o protocolo

HTTPS, como podemos observar na figura abaixo: (LEWAVETI, 2011).

Figura 2.9 - HTTPS Fonte: Elaborado pelas autoras.

Page 47: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

46

3 SERVIDORES WEB

Neste capítulo é abordada uma visão geral sobre os servidores Web. São

citados resumidamente quais são os mais usados atualmente no mundo além do

foco no servidor Apache, o qual foi escolhido para a implementação deste trabalho.

3.1 CONSIDERAÇÕES INICIAIS

Os servidores Web armazenam e trocam informações com outras máquinas,

para que isto ocorra são necessários no mínimo dois participantes envolvidos em

cada troca de informações: um cliente, o qual solicita as informações, e um servidor,

que atende aos pedidos. Cada lado exige também um programa especializado para

negociar a troca de dados, no caso do cliente, é necessário um browser. (MALIMA,

2005)

Quando um site é acessado, há um servidor por trás daquele endereço

responsável por disponibilizar as páginas e os demais recursos que podem ser

utilizados. Quando se envia um e-mail ou efetua-se uma compra on-line, por

exemplo, um ou mais servidores Web são responsáveis por processar todas as

informações. Logo, um servidor Web é um computador que processa solicitações

HTTP o protocolo padrão da Web. Quando um site é acessado, este faz as

solicitações ao servidor Web do site através de HTTP e então recebe o conteúdo

correspondente. (INFOWESTER, 2006)

Atualmente os sites funcionam de forma mais complexa, eles não apenas

entregam o arquivo quando recebem uma requisição, o servidor Web processa o

código-fonte solicitado e executa o que este código manda e acessa o servidor de

banco de dados para buscar informações, assim quando todos os dados foram

buscados, a linguagem de programação utilizada entrega ao servidor Web o código

HTML 5 que deverá ser enviado ao cliente. (TORRES, 2009)

Na montagem de um servidor Web é preciso otimizar ao máximo o uso do

processador do servidor, senão a carga no servidor Web ficará muito alta e,

consequentemente, o site ficará mais lento. (TORRES, 2009)

5 HyperText Markup Language é uma das linguagens utilizadas para desenvolver páginas na

Internet. (INTERNEY, 2013)

Page 48: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

47

Segundo Torres (2009), a otimização de servidores Web envolve dois pontos

primordiais: habilitar o servidor Web e compactar o código HTML a ser enviado ao

cliente e usar o máximo de recursos de cache de código, cache de variáveis e cache

de páginas quanto for possível.

Todos os recursos de cache diminuem o uso do processador do servidor e o

tempo de processamento de um rotina, o que faz com que o site fique mais rápido e

assim os resultados sejam entregues de forma mais rápida ao cliente. (TORRES,

2009).

Figura 3.1 - Modelo Cliente Servidor. Fonte: Wikiversity, 2013.

A figura abaixo demonstra de forma simples o funcionamento do servidor

Web:

1 - Navegador da Web solicita a página estática;

2 - Servidor Web localiza a página;

3 - Servidor Web envia a página para o navegador solicitante.

Page 49: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

48

Figura 3.2 - Acesso Ao Servidor Web. Fonte: Adobe, 2012.

A figura abaixo exibe a arquitetura do servidor Web:

Figura 3.3 - Arquitetura Web. Fonte: GURGEL, 2012.

Existem vários servidores Web, porém os principais utilizados atualmente

são: Lighttpd, o IIS, o Nginx e o Apache.

Page 50: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

49

3.2 LIGHTTPD

Foi criado por Jan Kneschke, em março de 2003 e utiliza licença BSD. Foi

projetado para a otimização de ambientes de alto desempenho, faz a utilização de

pouca memória e oferece um bom gerenciamento de carga da CPU.

Em relação à velocidade, segurança, aderência, flexibilidade, uso do

processador e memória pode-se comparar a servidores consagrados como o

Apache. Possui uma ótima implementação dos protocolos FastCGI6, CGI7, SSL e

SCGI8. (OFICINADANET, 2010)

3.3 IIS

O servidor Internet Information Services (IIS), é um servidor flexível, seguro e

de fácil gerenciamento para a hospedagem de páginas na Web, tem arquitetura

aberta e é um servidor do Windows Server. Este servidor tem uma arquitetura

modular, que oferece os benefícios como os de componentização (gerados por

componentes independentes que se pode facilmente adicionar, remover e substituir),

extensibilidade (estender e substituir os recursos do servidor, agregando valor às

aplicações Web hospedadas no IIS) e ASP.NET Integração (recursos de ASP.NET,

incluem autenticações baseadas em filiação, formulários e etc, proporcionando a

integração em todo o aplicativo da Web). Ele fornece uma arquitetura de

processamento de solicitação quem inclui o Windows Process Activation Service

(WAS), permitindo usar os protocolos diferentes de HTTP e HTTPS. (IIS, 2012)

6 FastCGI (Fast Common Gateway Interface) define o modo como as informações são transmitidas

entre o servidor Web e uma aplicação FastCGI externa. Quando um pedido é enviado, o servidor Web inicia uma aplicação FastCGI para processar o pedido e gerar respostas dinâmicas para devolver ao cliente.

7 CGI (Common Gateway Interface), também chamado de script CGI, é um programa executado em

um servidor em resposta a um pedido de um browser.

8 SCGI é um substituto para a interface de protocolo CGI, sendo um padrão para aplicações de

interface com servidores HTTP semelhante ao FastCGI, mas projetado para ser mais fácil de implementar.

Page 51: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

50

3.4 NGINX

Seu primeiro lançamento público foi em 2004, criado pelo programador Igor

Sysoev, é um servidor de Proxy reverso9 HTTP de alta performance, um servidor

Web de utilização de memória baixa, estável, com configuração simples, é gratuito e

de código aberto e tem como funcionalidades cache de conteúdo, compreensão,

largura de policiamento, balanceamento de carga, multiplexação de conexão e

reutilização (WIKINGINX, 2012; NGINX, 2013)

Segundo o site Netcraft (2012), o servidor Nginx teve o dobro do aumento de

quota no mercado, comparado ao ano anterior, assim aumentando sua participação

para 5,48%.

3.5 SERVIDOR APACHE

Este servidor é desenvolvido em uma plataforma de software livre, ele

processa as solicitações no protocolo padrão na Web, o HTTP, também executa

outros protocolos como o HTTPS (o protocolo HTTP combinado com a camada de

segurança SSL e o FTP10 (File Transfer Protocol). O seu funcionamento é baseado

na estrutura cliente-servidor, onde o servidor Web Apache recebe as requisições do

browser (cliente) e responde em HTML (servidor). Ele é conhecido pelo seu

excelente desempenho, segurança, seus recursos e por sua compatibilidade com

vários tipos de plataformas. (AOCUBO, 2012; ALECRIM, 2006)

3.5.1 BREVE HISTÓRICO DO APACHE

O servidor Apache (Apache Server) foi desenvolvido em 1995, a princípio,

através do trabalho de Rob McCool, mas foram Brian Behlendorf, Cliff Skolnick,

Brandon Long e Beth Frank, que continuaram com o desenvolvimento do servidor

9 O proxy reverso é um servidor entre a Internet e os servidores web internos de uma empresa. As

requisições externas são direcionadas a um servidor interno por meio de um roteamento feito pelo proxy reverso. Dessa forma, ele é a única interface para as requisições externas. 10

File Transfer Protocol (FTP) é um protocolo para a transferência de arquivos que se realiza na conexão entre um servidor Internet e um usuário.

Page 52: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

51

pela National Center of Supercomputing Applications (NCSA) e se juntaram ao

Apache Group. (ALECRIM, 2006)

Brian Behlendorf e Cliff Skolnick passaram a controlar "patches" (adição de

recursos ou correções) atrás de uma lista de discussão e dessa lista formou-se um

grupo constituído de oito pessoas.

Aparentemente há duas razões para o nome Apache, a primeira é que o

nome vem de “patchy”, do inglês “de qualidade irregular”, que seria um trocadilho

com patches, que em inglês significa algo como “um pequeno remendo” ou

“melhoria no software”, devido ao Apache ter sido criado sobre códigos já existentes

aos quais foram adicionados diversos patches. A segunda, e confirmada pelos

autores, é que o nome do servidor faz referência à tribo de nativos americanos

Apache, a qual tinha grande resistência e estratégias superiores, logo seria uma

alusão à estabilidade do Apache e sua variedade de ferramentas que lidam com

qualquer tipo de solicitação na Web. (ALECRIM, 2006)

O servidor Apache teve sua primeira versão oficial (0.6.2) lançada em 1995.

De 1995 até hoje ocorreram várias mudanças no projeto, talvez a mais importante

tenha sido o Shambhala, uma arquitetura para o Apache desenvolvida por Robert

Thau; ele agradou, principalmente por seu melhor gerenciamento de memória, que

acabou sendo incorporado definitivamente ao servidor. Surgia então a versão 0.8.8,

que tinha, além do Shambhala, recursos da versão 0.7.x. Após uma série de

aperfeiçoamentos, testes e de uma documentação nova (feita por David Robinson),

o Apache 1.0 foi lançado em dezembro de 1995. (ALECRIM, 2006)

Apache é executado principalmente em sistemas operacionais UNIX (Linux,

Mac OS X, Solaris e BSD Unix) e Windows, ele é utilizado por muitos produtos,

incluindo o IBM WebSphere e Oracle Corporation, e também é apoiado pelo

desenvolvimento de ferramentas Borland Delphi e Kylix, e pelo Drupal CMS.

(DOMINIOHOST, 2012) O Apache é um software livre, logo seu código-fonte pode

ser estudado e alterado, além de ser utilizado gratuitamente. (ALECRIM, 2006)

Principais características do Apache:

Possui suporte a scripts cgi usando linguagens como Perl, PHP, Shell Script,

ASP, etc;

Tem suporte a autorização de acesso podendo ser especificadas restrições

de acesso separadamente para cada endereço/arquivo/diretório acessado no

servidor;

Page 53: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

52

Autenticação requerendo um nome de usuário e senha válidos para acesso a

alguma página/subdiretório/arquivo (suportando criptografia via Crypto e

MD5);

Negociação de conteúdo, permitindo a exibição da página Web no idioma

requisitado pelo Cliente Navegador;

Suporte a tipos mime;

Personalização de logs;

Mensagens de erro;

Suporte a virtual hosting (é possível servir duas ou mais páginas com

endereços ou portas diferentes através do mesmo processo ou usar mais de

um processo para controlar mais de um endereço);

Suporte a IP virtual hosting;

Suporte a name virtual hosting;

Suporte a servidor Proxy FTP e HTTP, com limite de acesso, caching (todas

flexivelmente configuráveis);

Suporte a proxy e redirecionamentos baseados em URLs para endereços

internos;

Suporte a criptografia via SSL e Certificados digitais;

Módulos DSO (Dynamic Shared Objects) permitem adicionar/remover

funcionalidades e recursos sem necessidade de recompilação do programa.

(ALECRIM, 2006).

3.5.2 UTILIZAÇÕES DO APACHE

Neste trabalho foi utilizado o Apache HTTP Server, pois além de ser um

software público de acordo com Alecrim (2006), ele é o mais bem sucedido,

conhecido e usado devido a excelente desempenho, segurança, compatibilidade

com diversas plataformas e todos os seus recursos.

De acordo com a pesquisa da Netcraft (2012), ele é o mais utilizado, pois está

a frente da concorrência, sendo que de dois em cada três hosts é utilizado o

Apache.

Devido à sua participação no mercado e qualidades ressaltadas, foi feito o

uso do Apache na implementação deste trabalho.

Page 54: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

53

Figura 3.4 - Participação de mercado dos servidores Web. Fonte: NETCRAFT, 2102.

No próximo capítulo é feita a abordagem dos tipos de ataques feitos à

servidores web.

Page 55: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

54

4 TIPOS DE ATAQUES MAIS COMUNS EM SERVIDORES WEB

Atualmente os servidores Web estão enfrentando diversas tentativas de

invasões e ataques, esses ataques são técnicas usadas na tentativa de burlar a

segurança, explorando as vulnerabilidades do servidor.

Os invasores são grupos de pessoas mais conhecidos como hackers, estes

que existem desde o início da Internet, os mesmos utilizam estas tentativas de

ataques para demonstrar seus ideais e objetivos. Estes ataques podem ser feitos de

várias formas, neste capítulo serão abordadas os tipos de ataques mais comuns nos

servidores Web. (CCUEC, 1999; TECNOMUNDO, 2013)

Exploit – É um programa ou códigos utilizados para explorar as

vulnerabilidades específicas de um servidor a qual ele foi incorporado. Por

esse motivo existem diferentes tipos de Exploits, um específico para cada tipo

de aplicativo, tipo de falhas ou sistemas operacionais. Eles podem ser

programados para explorar o sistema local ou remotamente. Isso varia quanto

à forma ou seu poder de ataque. Os ataques podem provocar instabilidade no

sistema, assim diminuindo a segurança temporariamente. Uma vez infiltrado

pode resultar em uma simples negação de serviço (DOS – Denial of Service)

ou efeitos mais graves como o acesso privilegiado ao servidor hospedado,

causando grandes prejuízos dentro da rede. (INVASÃO, 2008; HARDWARE,

2008)

Buffer Overflow – Esse ataque tem como objetivo a execução de um código

por um programa que permite o acesso da memória, esse processo tenta

armazenar os dados excedendo o limite do tamanho determinado de um

buffer, assim podendo subscrever a área da memória, incluindo alguns

endereços de controle de fluxo, que não passa de ponteiros para a próxima

instrução a ser executada pelo processador, portanto provocando o desvio de

fluxo normal de um processo para que possa executar o código do atacante.

Com a injeção desse código no servidor remoto, é possível permitir execução

de várias ações como eliminação de regras de firewall, permitindo a entrada

do invasor. (DRWHITEHAT, 2008; PTKIOSKEA, 2013)

Page 56: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

55

Como podemos ver na figura a seguir, o ataque consiste em um envio de

dado que excede o tamanho do espaço permitido do buffer11 junto com o código do

atacante, fazendo com que o endereço do retorno, seja sobreposto para apontar

para o código do atacante:

Figura 4.1 – Buffer Overflow.

Fonte: DRWHITEHAT, 2008.

Denial of Services (DoS) – Técnica de ataque mais conhecida como

“Negação de Serviço”, tem como objetivo, impedir que os usuários tenham

acesso a um serviço disponível, tornando o servidor atacado indisponível.

Para que isso aconteça é necessário que o computador atacante envie um

grande volume de requisições para um determinado serviço, o servidor, não

tendo um filtro ou regras de firewall que permitem o controle de volume de

acesso a páginas de um determinado endereço, entende que precisa

responder a todos as requisições assim consumindo todos os recursos do

servidor, permitindo um consumo excessivo destes recursos causando a falha

de comunicação entre servidor e usuário. Esse ataque também é feito pela

geração excessiva de tráfego de dados, ocupando toda a banda, causando

sua indisponibilidade de acesso ao computador ou aos serviços oferecidos

pela a rede e pela a exploração das vulnerabilidades nos programas, fazendo

com que um determinado serviço encontra-se inacessível ao usuário. Quando

11

Buffer – É uma região que armazena a memória temporária de dados que estão sendo movidos da sua origem para seu destino, utilizados para escrita e leitura de dados. (TECNOMUNDO, 2013)

Page 57: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

56

o ataque é utilizado por vários computadores coordenados, recebe o nome de

Negação de Serviço Distribuído ou Distributed Denial of Services (DDoS) que

são milhares de hosts12 localizados em diferentes lugares, mandando

requisições simultaneamente, para um determinado serviço, assim causando

sua indisponibilidade de acesso. Para que esse ataque seja realizado é

necessário um número grande de computadores que previamente foram

comprometidos, fazendo parte de botnets13, estes hosts controlados são

chamados de computadores zumbis, que trabalham de forma normal

aparentemente, até participarem de ataques sendo controlados sem o

conhecimento dos seus donos. (CERT, 2013; HARDWARE, 2013)

Segue na figura abaixo, o funcionamento de um ataque de Negação de

Serviço Distribuído ou Distributed Denial of Services (DDoS). Para esse ataque um

hacker precisa criar uma rede zumbi (botnets), infectando vários computadores,

podendo ser milhares deles que respondem ao um computador mestre que tem

como objetivo atacar seu alvo simultaneamente deixando os seus serviços

indisponíveis.

Figura 4.2 – Esquema de como funciona um ataque DDoS. Fonte: ATS, 2012.

12

Hosts – São máquinas ou computadores conectados em uma rede que contém um número de IP e um nome definido, eles são responsáveis pelo o envio e armazenamento de dados. (TECHTUDO, 2013) 13

Botnets – É uma rede de computadores infectados por bots (abreviação de robot). Bot é um programa malicioso que realiza tarefas específicas dentro do computador infectado, explorando programas, arquivos e informações gravadas em discos e são controlados remotamente pelo invasor, que são utilizados para realizar ataques simultâneos em computadores e servidores. (TECNOMUNDO, 2013)

Page 58: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

57

Backdoor – Em português “porta dos fundos”, consiste em falhas de

seguranças no sistema operacional, onde o invasor deixa uma porta aberta

para as invasões futuras, sem ser detectados pelo firewall. Assim o invasor

utiliza para a instalação de vírus ou aplicativos de controle, que possam obter

esse controle através de uma rede ou da Internet, fazendo uma ligação direta

onde o cliente é o atacante e o servidor é a máquina atacada. O cliente tem o

controle sobre o servidor, permitindo que o cliente, apague, crie, renomeie,

altere qualquer arquivo, execute os comandos, altere a configuração do

sistema, controle a configuração do hardware e o envio de dados coletados

para alguns destinos específicos, como e–mails e servidor FTP.

(TECNOMUNDO, 2013; CRIMES, 2013)

Sniffing - É uma técnica de ataque realizada por uma ferramenta chamada

sniffer14, que tem como objetivo interceptar e registrar o tráfego de dados de

uma rede. Essa ferramenta captura os dados que estão sendo trafegados e

os decodificam analisando o conteúdo. Essa técnica pode ser utilizada pelos

próprios administradores de redes para testar, analisar o desempenho e o

monitoramento da rede em questão. Entretanto, pode ser usada por invasores

para captura de informações mais sensíveis que estão trafegando em uma

rede, como por exemplo, senhas e cópia de arquivos importante, assim

violando a confidencialidade das informações que trafegam em uma rede, os

dados sensíveis que não são encriptados, tornam-se alvos fáceis para os

atacantes. Para dificultar esse tipo de ataque é necessário que as mensagens

sejam transmitidas criptografadas, utilizando os protocolos encriptados como,

por exemplo, o Secure Shell (SSH) e o HyperText Transfer Protocol Secure

(HTTPS), assim dificultando o acesso as informações do atacante.

(HARDWARE, 2013; CERT, 2013; PTKIOSKEA, 2013)

Port Scanning Attack – Essa técnica de ataque consiste em enviar uma

mensagem a uma porta e esperar uma resposta, caso obtenha uma resposta,

com base no dado recebido indica se a porta está disponível ou não, o tipo de

serviço que está disponibilizado e programas instalados indicando a melhor

14

Sniffer – Programa conhecido como analisador de rede, sua função é monitorar as atividades de uma rede, podendo interceptar e registrar o tráfego de dados, capturando os pacotes e os decodificando e analisando o seu conteúdo de acordo com o protocolo definido ou outras especificações. (TECNOMUNDO, 2013)

Page 59: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

58

maneira de invasão. Essa técnica usualmente é utilizada pelos próprios

responsáveis pela segurança da rede para o descobrimento de uma possível

vulnerabilidade no servidor, entretanto, para um invasor o ataque é utilizado

para descobrir essas possíveis vulnerabilidades dos serviços disponíveis e,

assim, traçar as estratégias de ataque. (CERT, 2013; TECNOMUNDO, 2013)

Spoofing – É uma técnica de ataque que permite mascarar seu IP, DNS,

email, entre outras aplicações, ou seja, ele se passa pelo verdadeiro. Essa

técnica é possível, pois as comunicações entre as máquinas pertencentes a

uma rede são utilizadas endereços confiáveis para que a troca de

informações entre elas aconteça. Como o atacante assume a identidade de

um endereço confiável, a vítima sem perceber o perigo acaba aceitando uma

aplicação, ou um serviço oferecido pelo invasor. Este tipo de ataque permite a

propagação de códigos maliciosos, envio de spam, roubos de dados,

consumo excessivos dos recursos de um servidor entre outras ações,

dependendo de que forma e do objetivo em que ela for aplicada.

(MICROSOFT, 2013; CERT, 2013)

Perante o que foi abordado nas descrições acima, podem existir vários tipos

de ataques e ameaças a um servidor Web e um dos mais utilizados é o ataque de

negação de serviço mais conhecido como DoS.

Portanto no próximo capitulo será feita a implementação de um ataque DoS

no servidor Apache e uma ferramenta utilizada para prevenir este tipo de ataque.

Page 60: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

59

5 IMPLEMENTAÇÃO: UTILIZANDO A FERRAMENTA SLOWLORIS

NO BACKTRACK PARA REALIZAR O ATAQUE DOS EM UM

SERVIDOR APACHE

Um servidor configurado em sua forma normal pode ser vulnerável a

inúmeros ataques de pessoas mal intencionados. Este capítulo mostra um ataque de

negação de serviço (DoS) ao servidor Web Apache, utilizando a ferramenta

Slowloris através do Backtrack 5 R3.

BackTrack é um sistema operacional Linux, baseado no WHAX, Whoppix e

Auditor, essa ferramenta é voltada para testes de penetração e testes de segurança,

promovendo formas mais rápidas de detecção e atualização do banco de dados das

ferramentas de segurança, ela é muito utilizada pelos profissionais de segurança,

auditores, analistas, hackers éticos e etc. Este sistema pode ser inicializado

diretamente pelo CD, pendrive, máquinas virtuais ou diretamente do disco rígido.

Sua primeira versão foi dada em 26 de maio de 2006, desde então foram mais

quatro versões, onde a última a BackTrack 5 R3, foi em lançada em 13 de agosto de

2012. (GIVAROTO; SANTOS, 2013; BACKTRACK, 2013)

Atualmente, encontram-se mais de 300 ferramentas no BackTrack para teste

de penetração e ainda existem algumas certificações que o utilizam como

ferramentas principais oferecidas pela Offenssive Security. (BACKTRAKLINUX,

2013)

Slowloris é uma ferramenta desenvolvida por Robert "RSnake" Hansen e é

utilizada para a execução do ataque de negação de serviço (DoS). Com seu script

escrito em Perl, não se faz necessário a utilização de várias máquinas zumbis e sim

com apenas uma máquina e com a utilização mínima de banda para a execução

desse ataque. Seu nome foi baseado em um primata do sudeste de Ásia chamado

Slow Loris, esse animal se move lentamente entre as árvores e é o único primata

venenoso. (SLOWLORIS, 2013)

Essa ferramenta ao invés de abrir uma grande quantidade de conexões maior

que um servidor suporta, a mesma envia as solicitações HTTP parciais, assim

mantendo as conexões em aberto. Em pequenos intervalos ela continua o envio de

cabeçalhos sem interrupção evitando que a conexão seja finalizada, assim o

servidor fica incapaz de responder novas solicitações HTTP. Para que esse ataque

se realize, o Slowloris precisa esperar que haja uma conexão com o servidor antes,

Page 61: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

60

para que assim seja bem sucedido, por ele ter um alto tráfego de rede pode demorar

para que essa conexão seja liberada. Enquanto a conexão não for liberada, outros

usuários que estiverem fazendo solicitações ao servidor, não irão perceber, pois

suas solicitações serão concluídas, assim que o Slowloris estiver se comunicando

com o servidor e enviando suas solicitações, os outros usuários ao reiniciar suas

conexões, já não terão resposta de suas solicitações e ficarão aguardando a

lentidão do servidor, até que seja interrompido o ataque pelo agressor. Esse tipo de

ataque DoS só prejudica o servidor Web, não os demais serviços, quando ele é

interrompido o servidor volta a seu estado normal. O Slowloris tem uma

característica bem útil incorporada, ele tem a possibilidade de ser alterado para o

envio de diferentes cabeçalhos de host, caso seu alvo principal seja um host virtual

os logs são separadamente armazenados para cada host. Enquanto o ataque está

em andamento o arquivo de log não é registrado até se concluía a conexão, assim é

possível manter um servidor sendo atacado de cada vez sem nenhum log ser

registrado, assim o ataque não é percebido em seu momento atuação. Essa

ferramenta permite que ao interromper esse ataque, o servidor retorne em poucos

segundos o seu funcionamento. Tornando-se ideal para ataques que necessitam de

breves momentos de inatividade. (SLOWLORIS; KUHNAST, 2013)

Segue abaixo a lista de servidores Web que são possíveis a utilização o

ataque DoS com a ferramenta Slowloris:

Apache 1.x

Apache 2.x

Dhttpd

GoAhead WebServer (SLOWLORIS, 2013)

E em seguida a lista dos servidores que não são afetados por esse tipo de

ataque pela ferramenta Slowloris:

IIS6.0

IIS7.0

Lighttpd

Lula

Nginx

Cherokee

Page 62: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

61

NetScaler

Cisco CSS (SLOWLORIS, 2013)

5.1 IMPLEMENTAÇÃO

Para o teste de ataque DoS são dados os seguintes passos:

1. Inicie o BackTrack 5 R3 normalmente e abra sua interface gráfica com o

comando

$ startx

Figura 5.1 - Tela inicial do Bactrack 5 r3. Fonte: Elaborado pelas autoras, 2013.

2. Já com o arquivo de texto do “slowloris.pl” devidamente salvo no

Desktop abra o terminal e digite as seguintes linhas de comandos:

$ cd Desktop

$ ls

$ chmod +x slowloris.pl

$ perl ./slowloris.pl –dns 192.168.56.102

Page 63: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

62

Sendo 192.168.56.102 o IP do Servidor Apache alvo do ataque.

Figura 5.2 – Linhas de comando para executar o Slowloris no Bactrack. Fonte: Elaborado pelas autoras, 2013.

3. Após digitar essas linhas de comando e apertar “ENTER” e aparece a

seguinte tela:

Figura 5.3– Building sockets no Slowloris no Bactrack. Fonte: Elaborado pelas autoras, 2013.

Page 64: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

63

Durante o ataque aparece o envio dos pacotes como mostrado na figura:

Figura 5.4 – Envio de pacotes ao servidor atacado pelo Slowloris.

Fonte: Elaborado pelas autoras, 2013.

O servidor alvo antes do ataque:

Figura 5.5 – Servidor antes do ataque. Fonte: Elaborado pelas autoras, 2013.

Page 65: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

64

Figura 5.6 – Servidor durante o ataque. Fonte: Elaborado pelas autoras, 2013.

O servidor durante o ataque teve como resultado lentidão em seu acesso e

até mesmo sua “derrubada” por alguns segundos como na figura acima, logo o

ataque DoS com o Slowloris obteve resultados.

Tendo como base pesquisas de como prevenir ataques DoS, foi utilizado o

módulo extra do Apache denominado mod_qos, com o objetivo de evitar a

sobrecarga no servidor, garantindo, assim, um desempenho satisfatório do servidor

mesmo em situações de ataques Ele serve para implementar os mecanismos de

controle podendo oferecer níveis diferentes de prioridade as diferentes solicitações

HTTP. Controla o número de solicitações simultâneas, determinando quais os

serviços que serão servidos, evitando que o servidor fique sobrecarregado para

atender todos os pedidos devido à falta de processos livres. Esse módulo "coleta

diferentes atributos", como: a URL do pedido, solicitação HTTP e cabeçalhos de

resposta, o endereço IP de origem e o código de resposta HTTP, a quantidade de

solicitações simultâneas que são feitas para o servidor . (LOCAWEB, 2013;

OPENSOURCE, 2013)

Segundo o Opensource (2013) o mod_qos implementa mecanismos de

controle para o gerenciamento de:

O número máximo de solicitações simultâneas para um local / recurso (URL)

ou host virtual.

Page 66: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

65

Limitação da largura de banda, tais como o número máximo permitido de

solicitações por segundo a uma URL ou o valor máximo / mínimo de kbytes

baixados por segundo.

Limita o número de solicitação de eventos por segundo (condições especiais

de solicitação).

Pode "detectar" pessoas muito importantes (VIP), que podem acessar o

servidor Web sem ou com menos restrições.

Linha de pedido genérico e filtro de cabeçalho para negar operações não

autorizadas.

Pedido corpo limitação de dados e filtragem (requer mod_parp).

Limitações quanto ao nível de conexão TCP, por exemplo, o número máximo

de conexões permitidas a partir de um único endereço IP de origem ou controle

dinâmico de keep-alive.

Prefere endereços IP conhecidos quando o servidor fica sem conexões TCP

livres.

Sendo assim foi utilizado o mod_qos para prevenir este tipo de ataque.

Após terminar o download do mod_qos via terminal, foi usado o Apxs2 para

compilar o módulo da seguinte forma:

$ tar xvzpf mod_qos-9.9.tar.gz

$ cd mod_qos-9.9/apache2

$ apxs2 -ci mod_qos.c

Depois, foi criado o arquivo:

$ cd /etc/apache/mods_available/

$ vi qos.load

Com o seguinte conteúdo:

$ LoadModule qos_module usr/lib/apache2/modules/mod_qos.so

E o arquivo:

$ vi qos.conf

Com as seguintes configurações:

Page 67: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

66

Quadro 5.1 Configurações do mod_qos

<IfModule mod_qos.c>

QS_ClientEntries 1000

# Lida com conexões de até mil IPs diferentes

QS_SrvMaxConnPerIP 10

# Permite 10 ligações por IP

MaxClients 256

# Número máximo de conexões TCP ativas é limitada a 256

QS_SrvMaxConnClose 180

# Desativa keep-alive quando 70% das conexões TCP estão

ocupadas

LimitRequestFields 30

# Limite de cabeçalho do pedido e do corpo, limita uploads

e mensagens com pedidos também

QS_LimitRequestBody 102400

# Restringe o tamanho total do corpo do pedido HTTP enviado

a partir da utilização do cliente

</IfModule>

Fonte: Elaborado pelas autoras

Logo após salvar o arquivo configurado, carregou-se o módulo com o

seguinte comando:

$ a2enmod qos

Como o módulo foi carregado com sucesso a mensagem exibida foi:

$ Module qos already enabled

Page 68: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

67

Após isto o Apache foi reiniciado:

$ /etc/init.d/apache2 restart

Fazendo o teste Slowloris sem o módulo do mod_qos carregado no Apache

as conexões estabelecidas entre as maquinas foram de grande quantidade como

mostradas na figura:

Figura 5.7 – Conexões estabelecidas entre o Slowloris e o Apache no Servidor durante o ataque. Fonte: Elaborado pelas autoras, 2013.

Com o módulo do mod_qos carregado no Apache há diferença notável no

desempenho do servidor que se mostrou praticamente inalterado sem sofrer

degradação ou lentidão ao ser acessado.

O número de conexões estabelecidas entre as máquinas em sua maioria

ficaram em espera, como mostrado na figura a seguir, ao contrário de quando o

módulo não estava carregado e o BackTrack conseguiu estabelecer diversas

conexões com o Apache.

Page 69: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

68

Figura 5.8 – Conexões em espera entre durante o ataque. Fonte: Elaborado pelas autoras, 2013.

Page 70: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

69

CONCLUSÃO

Os servidores web são responsáveis por armazenar e trocar informações com

outras máquinas, ou seja, há pelo menos dois participantes envolvidos em cada

troca de informações: um cliente, que solicita informações, e o servidor, que atende

a esses pedidos. Sendo assim, o fato de um servidor estar exposto às inúmeras

requisições e troca de informações faz com que sua segurança seja um fator

extremamente importante a ser considerado, pois o mesmo pode sofrer várias

ameaças e ataques, por pessoas com muita experiência, por exemplo, “hackers”,

que sempre estão pesquisando formas cada vez mais eficazes de ataques para

prejudicar e burlar a segurança de um servidor web.

Portanto, o profissional responsável pela segurança precisa estar atento,

atualizado e ser conhecedor das várias formas e ferramentas de ataque, como

também das ferramentas de segurança para assim tentar da melhor forma possível

evitar qualquer tipo de falha ou problema no servidor que sejam causados por tipos

ou técnicas de penetração em servidores, sendo assim deve-se manter o servidor

sempre protegido. Contudo, as ferramentas de segurança precisam ser

frequentemente estudadas e atualizadas, pois os ataques evoluem constantemente

para tentar corromper as novas ferramentas.

É evidente que atualmente não há servidor que seja imune a todos os tipos de

ataque, assim, o profissional responsável deve sempre estar atento a mudanças e

alterações que possam existir na rede, logo, ela deve ser monitorada

constantemente para evitar danos maiores.

Um dos ataques mais utilizados atualmente para atingir grandes servidores é

o ataque de negação de serviço, mais conhecido como DoS e devido ao fato de ser

um dos mais usados foi o alvo de estudo deste trabalho.

O servidor Web Apache, o qual foi utilizado, já vem com suas configurações

básicas de segurança, entretanto percebemos que é muito suscetível às ameaças

impostas pelos invasores. Após muitas pesquisas sobre como evitar ou minimizar

ataques DoS em servidores web constatamos que uma ferramenta eficaz e fácil de

ser implementada é o mod_qos., o qual pode ser usado para evitar a sobrecarga do

servidor, garantindo o nível de desempenho dos recursos mesmo em situações de

ataques DoS.

Page 71: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

70

Levando em consideração os aspectos que envolvem ataques DoS e uma

alternativa de segurança no servidor Web Apache, concluímos que para uma eficaz

proteção de um servidor que é exposto a esse tipo de ataque é necessária a

utilização de inúmeras ferramentas de segurança cuja a eficácia de uma delas

demonstramos, ainda que imperfeita , pois como dito sabemos que é difícil bloquear

ataques, mas é possível minimizá-los como foi exemplificado neste trabalho.

Page 72: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

71

REFERÊNCIAS BIBLIOGRÁFICAS

2DC. Modelo TCP/IP. 2012. Disponível em

<http://www2.dc.uel.br/~sakuray/EspecComunicacao%20de%20dados/Carlos%20Trevisan%20-%20Danilo%20Filitto/tcpip.htm> Acesso em: 08 mar. 2012.

ACCERTIFICA. Certificado Digital. 2012. Disponível em

<http://www.progerecs.com.br/home> Acesso em: 25 Abr. 2012.

ADOBE. Processamento de páginas da Web estáticas. 2012. Disponível em:

<http://help.adobe.com/pt_BR/Dreamweaver/10.0_Using/WSE282D4DA-F2A4-4ac2-91A2-823B3A8C5707.html> Acesso em: 23 mai. 2012.

ALECRIM, Emerson. Conhecendo o Servidor Apache (HTTP Server Project).

2006. Disponível em: <http://www.infowester.com/servapach.php> Acesso em: 25 mai. 2012.

ALECRIM, Emerson. Vírus de computador e outros malwares: o que são e como agem. 2011. Disponível em: <http://www.infowester.com/malwares.php> Acesso em:

10 dez. 2013.

AOCUBO. Servidor Web Apache. 2012. Disponível em: <http://aocubo.tecnologia.ws/instalando-servidor-apache/> Acesso em 27 Mai 2012.

ATS, Gustavo. Entenda o que são os ataques DoS e DDoS. 2012. Disponível em: <http://www.techtudo.com.br/artigos/noticia/2012/01/entenda-o-que-sao-os-ataques-dos-e-ddos.html> Acesso em 10 dez. 2013.

BACKTRACK. Backtrack Linux. 2013. Disponível em: < http://www.backtrack-linux.org/> Acesso em: 07 de out. 2013.

BACKTRACKLINUX. Backtrack Linux – Penetration Testing Distribution. 2013. Disponível em: <http://www.backtrack-linux.org/> Acesso em: 10 dez. 2013.

BHPORTAL. Cabeamento de redes. 2012. Disponível em

<http://www.bhportal.com.br/manutencao/lista-servicos/rede.php> Acesso em: 24 fev. 2012.

CBH. Criptografia. 2002. Disponível em <http://www.clubedohardware.com.br/artigos/667> Acesso em: 20 abr. 2012

Page 73: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

72

CCUEC. Solaris – Aplicando Patches. 1999. Disponível em

<http://www.ccuec.unicamp.br/revista/infotec/admsis/admsis4-1.html> Acesso em: 30 mar. 2012.

CDILAN. Revenda Certificados Digitais Serasa. 2011. Disponível em <http://cdilan.com.br/forum/topics/revenda-certificados-digitais-serasa> Acesso em: 10 dez. 2013.

CERT. Centro de Estatísticas, Respostas e Tratamentos de Incidentes. 2012.

Disponível em <http://www.cert.br/docs/seg-adm-redes/seg-adm-redes.pdf>. Acesso em: 13 mai. 2012.

CERTIPLUS. O que é Token? 2012. Disponível em:

<http://certiplus.com.br/ecnpj.aspx> Acesso em: 13 mai. 2012.

CINFORM. Mundo digital: Uma sociedade sem fronteira? 2013. Disponível em:

<http://www.cinform.ufba.br> Acesso em 10 dez 2013.

CISCO. Relatório Cisco destaca ameaças globais à segurança na rede. 2012. Disponível em: <http://www.cisco.com/web/offer/em/pdfs_innovators/LATAM/seg_rede_por.pdf?sid=171699_7> Acesso em: 30 abr. 2012

COMER, D. E. Interligação de redes com TCP/IP. Vol.1. 5. ed. Rio de Janeiro: Elsevier, 2006. CRIMES. O que é um Backdoor? 2013. Disponível em: < http://www.crimespelainternet.com.br/entenda-o-que-um-backdoor/ > Acesso em: 20 ago. 2013.

CYBERTI. O que é uma rede MAN? 2010. Disponível em <http://cyberti54.blogspot.com.br/2010/09/o-que-e-uma-rede-man.html> Acesso em: 11 de mar. 2012.

DENARDIN. Frame Ethernet. 2007. Disponível em:

<http://www.hardware.com.br/termos/frame-ethernet> Acesso em: 22 mai. 2012.

DOMINIOHOST. Servidor Apache. 2012. Disponível em <http://www.dominiohost.com.br/servidor-apache.html>. Acesso em: 14 mai. 2012

DRWHITEHAT. Invadindo Matrix – Entendendo o Buffer Overflow. 2008. Disponível em: <http://drwhitehat.wordpress.com/2008/10/17/invadindo-matrix-entendendo-o-buffer-overflow/> Acesso em: 20 ago. 2013.

Page 74: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

73

FARREL, Adrian. A internet e seus protocolos: uma análise comparativa. 1. ed.

Rio de Janeiro: Campus, 2005.

GIVAROTO, S.C.R; SANTOS, G.R. Backtrack Linux – Auditoria e testes de invasão em redes de computadores. Rio de Janeiro: Editora Ciência Moderna

Ltda., 2013.

GURGEL, Diego. Arquitetura Web, navegadores e servidores. 2012. Disponível em: < http://diegogurgel.wordpress.com/2012/08/20/arquitetura-web-nevegadores-e-servidores/> Acesso em: 10 dez. 2013.

HARDWARE– Entendendo o Mercado de certificados SSL. 2008. Disponível em

<http://www.hardware.com.br/dicas/mercado-ssl.html> Acesso em: 24 abr 2012.

IIS. Servidor IIS. 2012. Disponível em <http://www.iis.net/> Acesso em: 27 mai.

2012.

INFOCOMEX. Certificação digital. 2013. Disponível em: <http://www.infocomex.com.br> Acesso em: 15 mar. 2013.

INFOESCOLA. O que é um bug? 2013. Disponível em <http://www.infoescola.com/informatica/bug/> Acesso em: 14 abr. 2013.

INFPUC. Arquitetura de sistemas operacionais. 3ª Ed. Disponível em:

<http://www.inf.puc-rio.br/~francis/aso3ed/solexerc-v3.2-Jan-2005.pdf> Acesso em: 02 mar. 2012.

INTERNEY. O que é HTML? Para que serve? Disponível em: <http://www.interney.net/blogfaq.php?p=6541494> Acesso em 10 dez. 2013.

INVASÃO. Como funcionam os Exploits. 2008. Disponível em:

<http://www.invasao.com.br/2008/12/12/como-funcionam-os-exploits/> Acesso em: 20 jun. 2013.

ITI. O que é certificação digital? 2012. Disponível em

<http://www.iti.gov.br/twiki/pub/Certificacao/CartilhasCd/brochura01.pdf> Acesso em: 25 abr. 2012.

ISEP. Tipos De Rede De Computadores – Terminologia Corrente. 2012. Disponível em: <http://www.dei.isep.ipp.pt/~andre/documentos/redes-classificacao.html> Acesso em: 28 fev. 2012.

Page 75: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

74

LEWAVETI. Diferença entre HTTP e HTTPS. 2011. Disponível em <

http://lewaveti.wordpress.com/2011/04/05/diferenca-entre-http-e-https/> Acesso em: 26 abr. 2012.

LIEIRA, J. F. Segurança de Redes. 2012, 87p. Apostila da disciplina de Segurança

de Redes. Faculdade de Tecnologia de Lins.

LOCAWEB. Mod qos nos servidores Linux compartilhado. 2013. Disponível em:

http://wiki.locaweb.com.br/pt-br/Mod_qos_nos_servidores_Linux_compartilhado Acesso em: 10 dez. 2013.

L.S.T. Luciano Schon Trevisan – Modelo OSI. 2012. Disponível em

<http://www.lucianoschonstrevisan.com.br/?p=58> Acesso em: em 05 Mar. 2012.

MAIA, L. P. Arquitetura de Redes de Computadores. Rio de Janeiro: LTC,

2009.

MALIMA . Artigo: Como Funciona um Servidor Web. 2005. Disponível em: <http://www.malima.com.br/article_read.asp?id=156> Acesso em: 22 Mai. 2012.

MCMCSE. Certpedia: Terms that start with a W. 2013. Disponível em:

<http://www.mcmcse.com/glossary/w.shtml> Acesso em: 02 mar. 2012.

MICROSOFT. Protegendo sua aplicação de ataques Spoofing. 2013. Disponível

em <http://www.microsoft.com/brasil/msdn/Tecnologias/aspnet/Spoofing.mspx> Acesso em: 15 set. 2013.

MICROSOFT. 8 razões para ter um servidor em sua empresa. 2013. Disponível

em <https://www.microsoft.com/brasil/security/smb/8razoes.mspx> Acesso em: 10 dez. 2013.

OPENSOURCE. Mod Qos. 2013. Disponível em <http://opensource.adnovum.ch/mod_qos/> Acesso em: 10 dez. 2013.

MONTEIRO, S, Emiliano; MIGNONI, E, Maria. Certificados Digitais. Conceitos e práticas, 2007.

MORIMOTO, Carlos. E. Servidores Linux – Guia Prático. Porto Alegre: Sulina,

2008.

NEMETH, E; SNYDER, G; HEIN, T.R. Manual completo do Linux - Guia do Administrador. São Paulo: Pearson Makron Books, 2007.

Page 76: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

75

NETCRAFT. Internet Security and Data Mining. 2012. Disponível em: <

http://www.netcraft.com> Acesso 15 abr. 2012.

NGINX. Nginx. 2013. Disponível em <http://www.nginx.com/> Acesso em: 26 mai. 2013.

NOBRE, J. C. A. Ameaças e Ataques aos Sistemas de Informação: Prevenir e Antecipar. Cadernos UniFOA, Volta Redonda, ano 2. 2007. Disponível em:

<http://www.unifoa.edu.br/cadernos/edicao/05/11.pdf> Acesso em: 10 dez. 2013.

O QUE É PATCH. O que é patch? 2012. Disponível em: <http://www.hiperativo.com/o-que-e-patch/> Acesso em: 12 de mai. 2012.

PEDROSO, F. M. Artigo: Segurança com Iptables. 2006. Disponível em <http://www.vivaolinux.com.br/artigo/Seguranca-com-Iptables> Acesso em: 24 mai. 2012.

PONTO DE REDES. VLANS. LANS Virtuais. 2012. Disponível em: <http://pontoderedes.blogspot.com.br/2010/01/2010.html> Acesso em: 12 mar. 2012.

PONTOEDU. O que significa HTTP e HTTPS. 2009. Disponível em

<http://www.pontoedu.com/o-que-significa-http-e-https/> Acesso em: 25 abr. 2012.

PROJETO DE REDES. Quando o barramento não é barramento. 2004. Disponível

em: <http://www.projetoderedes.com.br/artigos/artigo_quando_barramento_nao_e_barramento.php> Acesso em: 13 mar. 2012.

PTKIOSKEA. Ataques por profusão de tampão (buffer overflow). 2013. Disponível em: <http://pt.kioskea.net/contents/18-ataques-por-profusao-de-tampao-buffer-overflow> Acesso em: 20 jul. 2013.

RDS. Firewall. 2010. Disponível em: < http://rdswebsolutions.blogspot.com.br>

Acesso em: 10 dez. 2013.

RECKZIEGEL, Mauricio. Criptografia em PHP e WebServices. 2006. Disponível em: < http://imasters.com.br/artigo/4802/> Acesso em: 10 dez. 2013. RNP. Rede privada virtual. VPN. 1998. Disponível em:

<http://www.rnp.br/newsgen/9811/vpn.html> Acesso em: 13 mar. 2012.

SIERTI. Certificados SSL. 2013. Disponível em: <http://www.sierti.com.br/servicos-

de-internet/certificado-ssl/funcionamento-ssl/> Acesso em: 18 jun. 2013.

Page 77: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

76

SLOWLORIS. 15 cute animals that could kill you. 2013. Disponível em:

<http://www.mnn.com/earth-matters/animals/photos/15-cute-animals-that-could-kill-you/slow-loris> Acesso em: 10 dez. 2013.

TABENBAUM. Andrew. S. Redes de computadores. 4 ed. Rio de Janeiro: Elsevier,

2003.

TECMUNDO. O que é um Endereço MAC e como fazer para descobri-lo no seu computador ou smartphone. 2010. Disponível em: < http://www.tecmundo.com.br/5483-o-que-e-um-endereco-mac-e-como-fazer-para-descobri-lo-no-seu-computador-ou-smartphone.htm> Acesso em: 10 dez. 2013. TECMUNDO. O que é intranet e extranet? 2009. Disponível em: <http://www.tecmundo.com.br/3077-o-que-e-token-.htm> Acesso em: 26 Abr 2012.

TECMUNDO. O que é firewall? 2012. Disponível em: <

http://www.tecmundo.com.br/firewall/182-o-que-e-firewall-.htm> Acesso em 10 dez. 2013. TECMUNDO. O que é Token. 2009. Disponível em:

<http://www.tecmundo.com.br/3077-o-que-e-token-.htm> Acesso em: 26 Abr 2012.

TORRES. G. Redes de Computadores - Versão Revisada e Atualizada. Rio de

Janeiro: Novaterra, 2009. UNDERLINUX. GlobalSign Confirma Break-in em Servidor. 2011. Disponível em

<http://under-linux.org/globalsign-confirma-break-em-servidor-web-3392/> Acesso em: 20 fev. 2012.

VERISIGN. Serviços de autenticação. 2012. Disponível em

<http://www.verisign.com.br/> Acesso em: 20 abr. 2012.

WIKINGINX. Nginx. 2012. Disponível em <http://wiki.nginx.org/> Acesso em: 26 mai.

2012.

WIKIVERSITY. Introdução às Redes de Computadores/Protocolos de aplicação – princípios gerais. 2013. Disponível em: < http://pt.wikiversity.org/wiki/Introdução_às_Redes_de_Computadores/Protocolos_de_aplicação_–_princípios_gerais> Acesso em: 18 mai. 2013.

Page 78: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

77

GLOSSÁRIO

ASCII - “American Standard Code for Information Interchange” é um código

numérico usado para representar os caracteres, entendido por quase todos os

computadores, impressoras e programas de edição de texto, que usa a escala do

decimal 0 a 127.

ALGORITMO - Um algoritmo é uma sequência lógica, finita e definida de instruções

que devem ser seguidas para resolver um problema ou executar uma tarefa.

ATAQUE – É a tentativa, bem ou mal sucedida, de acesso ou uso não autorizado a

um programa ou computador. Também são considerados ataques às tentativas de

negação de serviço (DoS).

BACKDOOR – Código malicioso que abre caminho para o acesso remoto a um

computador contaminado sem o conhecimento do usuário.

BROWSER - O browser é responsável pela comunicação com os servidores, é ele

que processa os dados recebidos pelos servidores da Internet e processa as

respostas.

BUFFER - Buffer é uma região de memória temporária utilizada para escrita e leitura

de dados.

CACHE – É uma área de armazenamento onde dados ou processos frequentemente

utilizados são guardados para um acesso futuro mais rápido, poupando tempo e uso

desnecessário do hardware.

CRIPTOGRAFIA – Método de embaralhar ou codificar dados para impedir que

usuários não autorizados os leiam ou adulterem. É usada, dentre outras finalidades,

para: autenticar a identidade de usuários; autenticar transações bancárias; proteger

a integridade de transferências eletrônicas de fundos, e proteger o sigilo de

comunicações pessoais e comerciais.

Page 79: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

78

DES Triplo – É um algoritmo que foi criado como uma evolução do DES (Data

Encryption Standard), visto que já se nutriam dúvidas sobre a segurança deste,

devido a chave ser pequena e o seu tamanho não estar aberto a expansões.

DDOS (Distributed Denial of Service) – Ataque de negação de serviço distribuído, ou

seja, um conjunto de computadores é utilizado para tirar de operação um ou mais

serviços ou computadores conectados à Internet.

DoS (Denial of Service) - Ataque de negação de serviço, que basicamente é o DoS

feito com apenas 1 computador.

DESKTOPS – Computadores de uso pessoal ou como terminais de rede.

DNS (Domain Name System) – Serviço que traduz nomes de domínios para

endereços IP e vice-versa.

ENDEREÇO IP - Número único para cada computador conectado à Internet,

composto por uma sequencia de quatro números que variam de 0 até 255,

separados por ".". Por exemplo: 192.168.34.25.

ETHERNET - A Ethernet (também conhecida sob o nome de norma IEEE 802.3) é

um padrão de transmissão de dados para rede local baseada no princípio seguinte:

Todas as máquinas da rede Ethernet estão conectadas a uma mesma linha de

comunicação, constituída por cabos cilíndricos.

EXPLOIT – Programa que se aproveita das vulnerabilidades de um sistema

operacional para instalar um payload.

FIREWALL – Dispositivo constituído pela combinação de software e hardware,

utilizado para dividir e controlar o acesso entre redes de computadores.

HARDWARE - É a parte física de um computador, é formado pelos componentes

eletrônicos, como por exemplo, circuitos de fios e luz, placas, utensílios, correntes, e

Page 80: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

79

qualquer outro material em estado físico, que seja necessário para fazer com o que

computador funcione.

HOST - É qualquer computador ou máquina conectado a uma rede, que conta com

número de IP e nome definidos. Essas máquinas são responsáveis por oferecer

recursos, informações e serviços aos usuários ou clientes. Por essa abrangência, a

palavra pode ser utilizada como designação para diversos casos que envolvam uma

máquina e uma rede, desde computadores pessoais a roteadores.

INTERNET - Seu nome tem origem no inglês, onde “inter” vem de internacional e

“net” significa rede, logo, “rede de computadores mundial”. É uma rede de

computadores interligadas, que possibilita o acesso a informações sobre e em

qualquer lugar do mundo.

INTRANET - É uma rede interna, fechada e exclusiva, com acesso somente para os

funcionários de uma determinada empresa e muitas vezes liberado somente no

ambiente de trabalho e em computadores registrados na rede.

INVASÃO – Ataque bem sucedido que resulte no acesso, manipulação ou

destruição de informações em um computador.

INVASOR – Pessoa responsável pela realização de uma invasão ou pelo

comprometimento do computador.

LOG – É o registro de atividades gerado por programas de computador. No caso de

logs relativos a incidentes de segurança, eles normalmente são gerados por firewalls

ou por IDSs.

MALWARE - Malware é a abreviação para “software malicioso”, é qualquer tipo de

software indesejado instalado sem o consentimento do usuário.

MD5 - É uma assinatura digital única para cada arquivo e nunca se repete para

arquivos diferentes, mesmo que possuam apenas um único caractere diferente.

Page 81: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

80

METASPLOIT – Framework automatizada para varredura de vulnerabilidades e

computadores, bem como aplicação de Exploit.

PENDRIVE - É um dispositivo portátil de armazenamento com memória flash,

acessível através da porta USB.

PHISHING – Golpe que usa spam e mensagens instantâneas para levar pessoas a

divulgarem informações confidenciais, como senhas de banco e dados de cartão de

crédito. Normalmente, esses ataques aparentam ser de instituições financeiras

PING – O Ping funciona de forma parecida a um sonar, porém no mundo virtual,

este comando envia pacotes (ICMP) de dados de 32 bits ao computador destino e

solicita resposta. Se a resposta voltar significa que houve comunicação e que o

computador destino esta ativo, além disso, o tempo de resposta é medido, visando

conhecer a velocidade da rede naquele instante.

RC4 - é o algoritmo simétrico de criptografia de fluxo mais usado e é utilizado

nos protocolos mais conhecidos, como Secure Socket Layers (SSL), por exemplo.

RFC 822 - Descreve a sintaxe dos campos de cabeçalho de e-mail e define um

conjunto de campos de cabeçalho e a respectiva interpretação

ROOTKIT – Programa ou um conjunto de programas, usado por um atacante para

ocultar sua presença em um determinado sistema e permitir seu acesso futuro.

ROTEADOR - O roteador é um dispositivo que serve para compartilhar rapidamente

um único ponto de Internet para vários computadores, sejam eles ligados via cabo

(conexão mais rápida) ou via wi-fi (um pouco mais lenta, porém com toda mobilidade

de uma conexão sem fio).

SCRIPT – Scripts são “roteiros” seguidos por sistemas computacionais e trazem

informações que são processadas e transformadas em ações efetuadas por um

programa principal.

Page 82: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

81

SENHA - Conjunto de caracteres, de conhecimento único do usuário, utilizado no

processo de verificação de sua identidade.

SHA-1 - Este algoritmo recebe como entrada um documento qualquer sob a forma

digital e gera como saída um hash (que é qualquer algoritmo que mapeie dados

grandes e de tamanho variável para pequenos dados de tamanho fixo) de 160 bits e

é mais difícil de ser quebrado.

SMART CARD – É um cartão que contém um chip responsável pela geração e o

armazenamento de certificados digitais.

SOFTWARE – Uma sequência de instruções a serem seguidas e/ou executadas, na

manipulação, redirecionamento ou modificação de um dado/informação ou

acontecimento, ou seja, um programa de computador.

SPAM – Termo usado para se referir aos emails não solicitados, que geralmente são

enviados para um grande número de pessoas. Quando o conteúdo é exclusivamente

comercial, este tipo de mensagem também é referenciado como UCE (do Inglês

Unsolicited Commercial E-mail).

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada, é uma

linguagem de pesquisa declarativa para banco de dados relacional(base de dados

relacional).

TOKEN - são dispositivos físicos que auxiliam o usuário quanto à segurança pessoal

ao gerar uma senha temporária de proteção para as contas que ele utiliza.

TROJANS – São programas aparentemente inofensivos, úteis e com alguma

funcionalidade, porém esconde programas nocivos que põe em risco a segurança

das informações.

VÍRUS – Programa escrito para alterar a maneira como um computador opera, sem

a permissão ou conhecimento do usuário. Deve atender a dois critérios: executar a

si mesmo e auto-replicar.

Page 83: HALLINE MICHELE ALVES POLLYANNA CHRYSTINA MILANI ZANI

82

VULNERABILIDADE – É uma falha no projeto, implementação ou configuração de

um software ou sistema operacional que, quando explorada por um atacante, resulta

na violação da segurança de um computador.

WEB – Em inglês significa teia ou rede. O significado de Web ganhou outro sentido

com o aparecimento da Internet e passou a designar a rede que conecta

computadores por todo mundo, a World Wide Web (WWW).

XOR - É uma operação lógica entre dois operandos que resulta em um valor lógico.