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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 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

2 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

3 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

4 (...) 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

5 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

6 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

7 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

8 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 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.

9 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 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.

10 LISTA DE ILUSTRAÇÕES Figura 1.1 WAN...20 Figura MAN Figura LAN Figura WLAN Figura 1.5 VLAN Figura Rede Ethernet Figura 1.7 VPN Figura Modelo OSI...26 Figura Modelo TCP/IP - OSI Figura Modelo TCP/IP - Protocolos Figura 2.1- Algumas pessoas que podem causar problemas de segurança e os motivos para fazê-lo Figura Instalação de um Patch Figura 2.3 Firewall Figura 2.4 Criptografia em PHP e WebServices Figura e-cnpj e e-cpf Figura Leitor de cartões Figura 2.7 Token Figura Como funciona o SSL Figura HTTPS Figura Modelo Cliente Servidor Figura Acesso Ao Servidor Web Figura Arquitetura Web Figura Participação de mercado dos servidores Web Figura 4.1 Buffer Overflow.. 55 Figura 4.2 Esquema de como funciona um ataque DDoS Figura Tela inicial do Bactrack 5 R Figura 5.2 Linhas de comando para executar o Slowloris no Bactrack Figura 5.3 Building Sockets no Slowlorisl no Bactrack...62 Figura 5.4 Envio de pacotes ao servidor atacado pelo Slowloris Figura 5.5 Servidor antes do ataque... 63

11 Figura 5.6 Servidor durante o ataque Figura 5.7 Conexões estabelecidas entre o Slowloris e o Apache no Servidor durante o ataque Figura 5.8 Conexões em espera entre durante o ataque... 68

12 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

13 HTTPS - HTTP Secure HTML HyperText Markup Language IIS - Internet Information Services WAS - Windows Process Activation Service CGI - Common Gateway Interface

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

15 LISTA DE QUADROS Quadro 2.1 Camadas e protocolos para um usuário doméstico navegando com SSL Quadro 5.1 Configurações do mod_qos... 66

16 SUMÁRIO INTRODUÇÃO REDES DE COMPUTADORES TIPOS DE REDES REDE DE LONGA DISTÂNCIA (WAN) REDE METROPOLITANA (MAN) REDE LOCAL (LAN) REDE LOCAL SEM FIO (WLAN) REDE VIRTUAL LOCAL (VLAN) O PADRÃO ETHERNET REDE PRIVADA VIRTUAL (VPN) PROTOCOLOS DE COMUNICAÇÃO ARQUITETURA DE REDES MODELO OSI MODELO TCP/IP CAMADA DE APLICAÇÃO CAMADA DE TRANSPORTE CAMADA INTERNET IP CAMADA DE INTERFACE DE REDE SEGURANÇA EM SERVIDOR WEB AMEAÇAS À SEGURANÇA DE UMA REDE PATCH DE SEGURANÇA FIREWALL CRIPTOGRAFIA AUTORIDADE DE CERTIFICAÇÃO CERTIFICADO DIGITAL: E-CNPJ, E-CPF E TOKEN SECURE SOCKETS LAYER (SSL)... 42

17 2.1.8 HTTPS SERVIDORES WEB CONSIDERAÇÕES INICIAIS LIGHTTPD IIS NGINX SERVIDOR APACHE BREVE HISTÓRICO DO APACHE UTILIZAÇÕES DO APACHE TIPOS DE ATAQUES MAIS COMUNS EM SERVIDORES WEB IMPLEMENTAÇÃO: UTILIZANDO A FERRAMENTA SLOWLORIS NO BACKTRACK PARA REALIZAR O ATAQUE DOS EM UM SERVIDOR APACHE IMPLEMENTAÇÃO CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS GLOSSÁRIO... 77

18 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

19 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.

20 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 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

21 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, 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)

22 21 Figura 1.2 MAN. Fonte: Cyberti, 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.

23 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, REDE VIRTUAL LOCAL (VLAN) Figura 1.5 VLAN. Fonte: Ponto de Redes, 2012.

24 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) 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 Rede Ethernet. Fonte: Projeto De Redes, 2012.

25 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, 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

26 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)

27 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 Modelo OSI. Fonte: LST, 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.

28 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.

29 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

30 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 Modelo TCP/IP OSI. Fonte: 2DC, Figura Modelo TCP/IP Protocolos. Fonte: 2DC, 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

31 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) 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 Protocolo da camada de Aplicação. Protocolo Descrição HTTP Utilizado no serviço Web. FTP Utilizado no serviço de transferência de arquivos. SMTP Utilizado no serviço de correio eletrônico. Telnet Utilizado no serviço de terminal remoto. DNS Utilizado no serviço de nomes. SNMP Utilizado no serviço de gerência remota. Fonte: Maia Esta camada comunica-se com a camada de Transporte através de uma porta, estas portas são numeradas de 0 a , 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)

32 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 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

33 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 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 a 65535, estas são atribuídas pelo sistema local conforme a necessidade. (TORRES, 2009) 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) 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,

34 33 esta camada não reconhece o endereço IP, ela utiliza o endereço MAC 1 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)

35 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.

36 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 s, 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)

37 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 Perante a algumas ameaças, existem algumas formas de preveni-las PATCH DE SEGURANÇA Após a liberação de um sistema operacional podem ocorrer erros ou o mau funcionamento em alguns softwares, como bugs 2 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)

38 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 Instalação de um Patch. Fonte: O que é Patch, 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)

39 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, phishing 4 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, É 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)

40 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 Criptografia em PHP e WebServices. Fonte: RECKZIEGEL, 2013.

41 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) 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)

42 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 e-cnpj e e-cpf. Fonte: Infocomex, Figura Leitor de cartões. Fonte: CDILAN, 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

43 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, 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)

44 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 Como funciona o SSL. Fonte: Sierti, 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.

45 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) 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).

46 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 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 HTTPS Fonte: Elaborado pelas autoras.

47 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 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)

48 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 Modelo Cliente Servidor. Fonte: Wikiversity, Web: A figura abaixo demonstra de forma simples o funcionamento do servidor 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.

49 48 Figura Acesso Ao Servidor Web. Fonte: Adobe, A figura abaixo exibe a arquitetura do servidor Web: Figura Arquitetura Web. Fonte: GURGEL, Existem vários servidores Web, porém os principais utilizados atualmente são: Lighttpd, o IIS, o Nginx e o Apache.

50 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 FastCGI 6, CGI 7, SSL e SCGI 8. (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.

51 NGINX Seu primeiro lançamento público foi em 2004, criado pelo programador Igor Sysoev, é um servidor de Proxy reverso 9 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 FTP 10 (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) 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.

52 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 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 (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;

53 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) 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.

54 53 Figura Participação de mercado dos servidores Web. Fonte: NETCRAFT, No próximo capítulo é feita a abordagem dos tipos de ataques feitos à servidores web.

55 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)

56 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 buffer 11 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, 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)

57 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 hosts 12 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 botnets 13, 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, 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)

58 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 sniffer 14, 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)

59 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, , 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.

60 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 (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,

61 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

62 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 Tela inicial do Bactrack 5 r3. Fonte: Elaborado pelas autoras, 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

63 62 Sendo o IP do Servidor Apache alvo do ataque. Figura 5.2 Linhas de comando para executar o Slowloris no Bactrack. Fonte: Elaborado pelas autoras, 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.

64 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, O servidor alvo antes do ataque: Figura 5.5 Servidor antes do ataque. Fonte: Elaborado pelas autoras, 2013.

65 64 Figura 5.6 Servidor durante o ataque. Fonte: Elaborado pelas autoras, 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.

66 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:

67 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 ocupadas QS_SrvMaxConnClose 180 # Desativa keep-alive quando 70% das conexões TCP estão LimitRequestFields 30 # Limite de cabeçalho do pedido e do corpo, limita uploads e mensagens com pedidos também QS_LimitRequestBody # 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

68 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, 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.

69 Figura 5.8 Conexões em espera entre durante o ataque. Fonte: Elaborado pelas autoras,

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE 1/5 PROTOCOLOS DE O Modelo OSI O OSI é um modelo usado para entender como os protocolos de rede funcionam. Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization)

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES Conteúdo 1 Topologia de Redes 5 Escalas 5 Topologia em LAN s e MAN s 6 Topologia em WAN s 6 2 Meio Físico 7 Cabo Coaxial 7 Par Trançado 7 Fibra Óptica 7 Conectores 8 Conector RJ45 ( Par trançado ) 9 Conectores

Leia mais

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação AULA 01 INTRODUÇÃO Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação CONCEITO Dois ou mais computadores conectados entre si permitindo troca de informações, compartilhamento de

Leia mais

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br

Redes de Computadores. Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Redes de Computadores Prof. André Y. Kusumoto andre_unip@kusumoto.com.br Open Systems Interconnection Modelo OSI No início da utilização das redes de computadores, as tecnologias utilizadas para a comunicação

Leia mais

1 Redes de Computadores - TCP/IP Luiz Arthur

1 Redes de Computadores - TCP/IP Luiz Arthur 1 Redes de Computadores - TCP/IP Luiz Arthur TCP/IP O protocolo TCP/IP atualmente é o protocolo mais usado no mundo. Isso se deve a popularização da Internet, a rede mundial de computadores, já que esse

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s: Tecnologia em Redes de Computadores Redes de Computadores Professor: André Sobral e-mail: alsobral@gmail.com Conceitos Básicos Modelos de Redes: O O conceito de camada é utilizado para descrever como ocorre

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com

Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Prof. Marcelo Machado Cunha Parte 3 www.marcelomachado.com Protocolo é a linguagem usada pelos dispositivos de uma rede de modo que eles consigam se comunicar Objetivo Transmitir dados em uma rede A transmissão

Leia mais

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 2 - MODELO DE REFERÊNCIA TCP (RM TCP) 1. INTRODUÇÃO O modelo de referência TCP, foi muito usado pela rede ARPANET, e atualmente usado pela sua sucessora, a Internet Mundial. A ARPANET é de grande

Leia mais

Modelos de Camadas. Professor Leonardo Larback

Modelos de Camadas. Professor Leonardo Larback Modelos de Camadas Professor Leonardo Larback Modelo OSI Quando surgiram, as redes de computadores eram, em sua totalidade, proprietárias, isto é, uma determinada tecnologia era suportada apenas por seu

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

O modelo ISO/OSI (Tanenbaum,, 1.4.1) Cenário das redes no final da década de 70 e início da década de 80: Grande aumento na quantidade e no tamanho das redes Redes criadas através de implementações diferentes de hardware e de software Incompatibilidade

Leia mais

MÓDULO 8 Modelo de Referência TCP/IP

MÓDULO 8 Modelo de Referência TCP/IP MÓDULO 8 Modelo de Referência TCP/IP A internet é conhecida como uma rede pública de comunicação de dados com o controle totalmente descentralizado, utiliza para isso um conjunto de protocolos TCP e IP,

Leia mais

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Protocolo O que é um protocolo? Humano: que horas são? eu tenho uma pergunta Máquina: Definem os formatos, a ordem das mensagens enviadas e recebidas pelas entidades de rede e as ações a serem tomadas

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas

5.2 MAN s (Metropolitan Area Network) Redes Metropolitanas MÓDULO 5 Tipos de Redes 5.1 LAN s (Local Area Network) Redes Locais As LAN s são pequenas redes, a maioria de uso privado, que interligam nós dentro de pequenas distâncias, variando entre 1 a 30 km. São

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 09/2013 Cap.3 Protocolo TCP e a Camada de Transporte 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores

Leia mais

Professor: Gládston Duarte

Professor: Gládston Duarte Professor: Gládston Duarte INFRAESTRUTURA FÍSICA DE REDES DE COMPUTADORES Computador Instalação e configuração de Sistemas Operacionais Windows e Linux Arquiteturas físicas e lógicas de redes de computadores

Leia mais

Unidade 2.1 Modelos de Referência

Unidade 2.1 Modelos de Referência Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.1 Modelos de Referência 2 Bibliografia da disciplina

Leia mais

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

AULA 03 MODELO OSI/ISO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação AULA 03 MODELO OSI/ISO Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação INTRODUÇÃO 2 INTRODUÇÃO 3 PROTOCOLOS Protocolo é a regra de comunicação usada pelos dispositivos de uma

Leia mais

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Um pouco sobre Pacotes e sobre os protocolos de Transporte Um pouco sobre Pacotes e sobre os protocolos de Transporte O TCP/IP, na verdade, é formado por um grande conjunto de diferentes protocolos e serviços de rede. O nome TCP/IP deriva dos dois protocolos mais

Leia mais

Cap 01 - Conceitos Básicos de Rede (Kurose)

Cap 01 - Conceitos Básicos de Rede (Kurose) Cap 01 - Conceitos Básicos de Rede (Kurose) 1. Quais são os tipos de redes de computadores e qual a motivação para estudá-las separadamente? Lan (Local Area Networks) MANs(Metropolitan Area Networks) WANs(Wide

Leia mais

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009

Unidade 2.1 Modelos de Referência. Bibliografia da disciplina. Modelo OSI. Modelo OSI. Padrões 18/10/2009 Faculdade INED Unidade 2.1 Modelos de Referência Curso Superior de Tecnologia: Redes de Computadores Disciplina: Fundamentos de Redes Prof.: Fernando Hadad Zaidan 1 2 Bibliografia da disciplina Bibliografia

Leia mais

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo TECNOLOGIA WEB Principais Protocolos na Internet Aula 2 Profa. Rosemary Melo Tópicos abordados Compreender os conceitos básicos de protocolo. Definir as funcionalidades dos principais protocolos de Internet.

Leia mais

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback SMTP, POP, IMAP, DHCP e SNMP Professor Leonardo Larback Protocolo SMTP O SMTP (Simple Mail Transfer Protocol) é utilizado no sistema de correio eletrônico da Internet. Utiliza o protocolo TCP na camada

Leia mais

Revisão. Karine Peralta karine.peralta@pucrs.br

Revisão. Karine Peralta karine.peralta@pucrs.br Revisão Karine Peralta Agenda Revisão Evolução Conceitos Básicos Modelos de Comunicação Cliente/Servidor Peer-to-peer Arquitetura em Camadas Modelo OSI Modelo TCP/IP Equipamentos Evolução... 50 60 1969-70

Leia mais

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural Arquitetura e Protocolos de Rede TCP/IP Modelo Arquitetural Motivação Realidade Atual Ampla adoção das diversas tecnologias de redes de computadores Evolução das tecnologias de comunicação Redução dos

Leia mais

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática Firewall Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Campus Cachoeiro Curso Técnico em Informática Firewall (definições) Por que do nome firewall? Antigamente, quando as casas

Leia mais

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Guia de Conectividade Worldspan Go Res! A V A N Ç A D O Í n d i c e Considerações Iniciais...2 Rede TCP/IP...3 Produtos para conectividade...5 Diagnosticando problemas na Rede...8 Firewall...10 Proxy...12

Leia mais

Redes. Pablo Rodriguez de Almeida Gross

Redes. Pablo Rodriguez de Almeida Gross Redes Pablo Rodriguez de Almeida Gross Conceitos A seguir serão vistos conceitos básicos relacionados a redes de computadores. O que é uma rede? Uma rede é um conjunto de computadores interligados permitindo

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Capítulo 1 Gustavo Reis gustavo.reis@ifsudestemg.edu.br - O que é a Internet? - Milhões de elementos de computação interligados: hospedeiros = sistemas finais - Executando aplicações

Leia mais

Claudivan C. Lopes claudivan@ifpb.edu.br

Claudivan C. Lopes claudivan@ifpb.edu.br Claudivan C. Lopes claudivan@ifpb.edu.br Motivação Camadas do modelo OSI Exemplos de protocolos IFPB/Patos - Prof. Claudivan 2 Para que dois ou mais computadores possam se comunicar, é necessário que eles

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

CAMADA DE TRANSPORTE

CAMADA DE TRANSPORTE Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede CAMADA DE TRANSPORTE Professora: Juliana Cristina de Andrade E-mail: professora.julianacrstina@gmail.com Site: www.julianacristina.com

Leia mais

Comunicando através da rede

Comunicando através da rede Comunicando através da rede Fundamentos de Rede Capítulo 2 1 Estrutura de Rede Elementos de comunicação Três elementos comuns de comunicação origem da mensagem o canal destino da mensagem Podemos definir

Leia mais

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16 REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 16 Índice 1. SISTEMA OPERACIONAL DE REDE...3 1.1 O protocolo FTP... 3 1.2 Telnet... 4 1.3 SMTP... 4 1.4 SNMP... 5 2 1. SISTEMA OPERACIONAL DE REDE O sistema

Leia mais

Administração de Sistemas de Informação I

Administração de Sistemas de Informação I Administração de Sistemas de Informação I Prof. Farinha Aula 03 Telecomunicações Sistemas de Telecomunicações 1 Sistemas de Telecomunicações Consiste de Hardware e Software transmitindo informação (texto,

Leia mais

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo Introdução O que é Protocolo? - Para que os pacotes de dados trafeguem de uma origem até um destino, através de uma rede, é importante

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02 Prof. Gabriel Silva Temas da Aula de Hoje: Revisão da Aula 1. Redes LAN e WAN. Aprofundamento nos Serviços de

Leia mais

Rede de Computadores

Rede de Computadores Escola de Ciências e Tecnologia UFRN Rede de Computadores Prof. Aquiles Burlamaqui Nélio Cacho Luiz Eduardo Eduardo Aranha ECT1103 INFORMÁTICA FUNDAMENTAL Manter o telefone celular sempre desligado/silencioso

Leia mais

Tecnologia e Infraestrutura. Conceitos de Redes

Tecnologia e Infraestrutura. Conceitos de Redes Tecnologia e Infraestrutura Conceitos de Redes Agenda Introdução às Tecnologias de Redes: a) Conceitos de redes (LAN, MAN e WAN); b) Dispositivos (Hub, Switch e Roteador). Conceitos e tipos de Mídias de

Leia mais

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com

Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Prof. Marcelo Cunha Parte 5 www.marcelomachado.com Criado em 1974 Protocolo mais utilizado em redes locais Protocolo utilizado na Internet Possui arquitetura aberta Qualquer fabricante pode adotar a sua

Leia mais

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP SMTP "Protocolo de transferência de correio simples (ou em inglês Simple Mail Transfer Protocol ) é o protocolo padrão para envio de e- mails através da

Leia mais

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima INFORMÁTICA FUNDAMENTOS DE INTERNET Prof. Marcondes Ribeiro Lima Fundamentos de Internet O que é internet? Nome dado a rede mundial de computadores, na verdade a reunião de milhares de redes conectadas

Leia mais

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Redes de Computadores. Protocolos de comunicação: TCP, UDP Redes de Computadores Protocolos de comunicação: TCP, UDP Introdução ao TCP/IP Transmission Control Protocol/ Internet Protocol (TCP/IP) é um conjunto de protocolos de comunicação utilizados para a troca

Leia mais

PROJETO E IMPLANTAÇÃO DE INTRANETS

PROJETO E IMPLANTAÇÃO DE INTRANETS PROJETO E IMPLANTAÇÃO DE INTRANETS Aulas : Terças e Quintas Horário: AB Noite [18:30 20:20hs] PROJETO E IMPLANTAÇÃO DE INTRANETS 1 Conteúdo O que Rede? Conceito; Como Surgiu? Objetivo; Evolução Tipos de

Leia mais

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus Segurança de redes com Linux Everson Scherrer Borges Willen Borges de Deus Segurança de Redes com Linux Protocolo TCP/UDP Portas Endereçamento IP Firewall Objetivos Firewall Tipos de Firewall Iptables

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa

Centro Tecnológico de Eletroeletrônica César Rodrigues. Atividade Avaliativa 1ª Exercícios - REDES LAN/WAN INSTRUTOR: MODALIDADE: TÉCNICO APRENDIZAGEM DATA: Turma: VALOR (em pontos): NOTA: ALUNO (A): 1. Utilize 1 para assinalar os protocolos que são da CAMADA DE REDE e 2 para os

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

REDES DE COMPUTADORES

REDES DE COMPUTADORES REDES DE COMPUTADORES 08/2013 Material de apoio Conceitos Básicos de Rede Cap.1 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica.

Leia mais

Revisão. 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan

Revisão. 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan Tecnologia Revisão 1.1 Histórico 1.2 Protocolo 1.3 Classificação 1.4 Lan 1.5 Wan Comunicação de Dados As redes de computadores surgiram com a necessidade de trocar informações, onde é possível ter acesso

Leia mais

Redes de Computadores

Redes de Computadores Redes de Computadores Prof. Macêdo Firmino Princípios de Gerência de Redes Macêdo Firmino (IFRN) Redes de Computadores Maio de 2011 1 / 13 Introdução Foi mostrado que uma rede de computadores consiste

Leia mais

Como medir a velocidade da Internet?

Como medir a velocidade da Internet? Link Original: http://www.techtudo.com.br/artigos/noticia/2012/05/como-medir-velocidade-da-suainternet.html Como medir a velocidade da Internet? Pedro Pisa Para o TechTudo O Velocímetro TechTudo é uma

Leia mais

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 5-1. A CAMADA DE TRANSPORTE Parte 1 Responsável pela movimentação de dados, de forma eficiente e confiável, entre processos em execução nos equipamentos conectados a uma rede de computadores, independentemente

Leia mais

Roteamento e Comutação

Roteamento e Comutação Roteamento e Comutação Design de Rede Local Design Hierárquico Este design envolve a divisão da rede em camadas discretas. Cada camada fornece funções específicas que definem sua função dentro da rede

Leia mais

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos

Leia mais

Capítulo 7 CAMADA DE TRANSPORTE

Capítulo 7 CAMADA DE TRANSPORTE Capítulo 7 CAMADA DE TRANSPORTE INTRODUÇÃO (KUROSE) A Camada de Rede é uma peça central da arquitetura de rede em camadas A sua função é a de fornecer serviços de comunicação diretamente aos processos

Leia mais

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza

FIREWALL. Prof. Fabio de Jesus Souza. fabiojsouza@gmail.com. Professor Fabio Souza FIREWALL Prof. Fabio de Jesus Souza fabiojsouza@gmail.com Professor Fabio Souza O que são Firewalls? Os firewalls são sistemas de segurança que podem ser baseados em: um único elemento de hardware; um

Leia mais

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Arquiteturas de Rede. Prof. Leonardo Barreto Campos Arquiteturas de Rede 1 Sumário Introdução; Modelo de Referência OSI; Modelo de Referência TCP/IP; Bibliografia. 2/30 Introdução Já percebemos que as Redes de Computadores são bastante complexas. Elas possuem

Leia mais

Curso: Redes II (Heterogênea e Convergente)

Curso: Redes II (Heterogênea e Convergente) Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Redes Heterogênea e Convergente Professor Rene - UNIP 1 Redes heterogêneas Redes Heterogêneas Todo ambiente de rede precisa armazenar informações

Leia mais

Camadas da Arquitetura TCP/IP

Camadas da Arquitetura TCP/IP Camadas da Arquitetura TCP/IP A arquitetura TCP/IP divide o processo de comunicação em quatro camadas. Em cada camada atuam determinados protocolos que interagem com os protocolos das outas camadas desta

Leia mais

Protocolos de Redes Revisão para AV I

Protocolos de Redes Revisão para AV I Protocolos de Redes Revisão para AV I 01 Aula Fundamentos de Protocolos Conceituar protocolo de rede; Objetivos Compreender a necessidade de um protocolo de rede em uma arquitetura de transmissão entre

Leia mais

Firewall. Alunos: Hélio Cândido Andersson Sales

Firewall. Alunos: Hélio Cândido Andersson Sales Firewall Alunos: Hélio Cândido Andersson Sales O que é Firewall? Firewall pode ser definido como uma barreira de proteção, que controla o tráfego de dados entre seu computador e a Internet (ou entre a

Leia mais

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com

www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com SERVIÇOS DE REDES DE COMPUTADORES Prof. Victor Guimarães Pinheiro/victor.tecnologo@gmail.com www.victorpinheiro.jimdo.com www.victorpinheiro.jimdo.com Modelo TCP/IP É o protocolo mais usado da atualidade

Leia mais

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br

FACULDADE PITÁGORAS. Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br FACULDADE PITÁGORAS DISCIPLINA FUNDAMENTOS DE REDES REDES DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Material elaborado com base nas apresentações

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica

Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Sistemas Distribuídos: Conceitos e Projeto Introdução a Criptografia e Criptografia Simétrica Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS PROFESSOR: CARLOS BECKER WESTPHALL Terceiro Trabalho

Leia mais

INTERNET = ARQUITETURA TCP/IP

INTERNET = ARQUITETURA TCP/IP Arquitetura TCP/IP Arquitetura TCP/IP INTERNET = ARQUITETURA TCP/IP gatewa y internet internet REDE REDE REDE REDE Arquitetura TCP/IP (Resumo) É útil conhecer os dois modelos de rede TCP/IP e OSI. Cada

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

Redes de Computadores

Redes de Computadores s de Computadores Prof. Macêdo Firmino Revisão do Modelo de Camadas da Internet (TCP/IP) Macêdo Firmino (IFRN) s de Computadores Novembro de 2012 1 / 13 Modelo de Camadas Revisão de de Computadores Os

Leia mais

Assinatura Digital: problema

Assinatura Digital: problema Assinatura Digital Assinatura Digital Assinatura Digital: problema A autenticidade de muitos documentos, é determinada pela presença de uma assinatura autorizada. Para que os sistemas de mensagens computacionais

Leia mais

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1

Informática I. Aula 22. http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Informática I Aula 22 http://www.ic.uff.br/~bianca/informatica1/ Aula 22-03/07/06 1 Critério de Correção do Trabalho 1 Organização: 2,0 O trabalho está bem organizado e tem uma coerência lógica. Termos

Leia mais

APOSTILA DE REDES DE COMPUTADORES PARTE - III

APOSTILA DE REDES DE COMPUTADORES PARTE - III APOSTILA DE REDES DE COMPUTADORES PARTE - III 1 REDE DE COMPUTADORES III 1. Introdução MODELO OSI ISO (International Organization for Standardization) foi uma das primeiras organizações a definir formalmente

Leia mais

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL Documento: Tutorial Autor: Iuri Sonego Cardoso Data: 27/05/2005 E-mail: iuri@scripthome.cjb.net Home Page: http://www.scripthome.cjb.net ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Leia mais

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição? Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES Tecnologias de Rede Arquitetura Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 A arquitetura de redes tem como função

Leia mais

UNIVERSIDADE FEDERAL DE PELOTAS

UNIVERSIDADE FEDERAL DE PELOTAS Usando um firewall para ajudar a proteger o computador A conexão à Internet pode representar um perigo para o usuário de computador desatento. Um firewall ajuda a proteger o computador impedindo que usuários

Leia mais

09/06/2011. Profª: Luciana Balieiro Cosme

09/06/2011. Profª: Luciana Balieiro Cosme Profª: Luciana Balieiro Cosme Revisão dos conceitos gerais Classificação de redes de computadores Visão geral sobre topologias Topologias Barramento Anel Estrela Hibridas Árvore Introdução aos protocolos

Leia mais

Redes de Computadores II

Redes de Computadores II Redes de Computadores II UDP Prof: Ricardo Luís R. Peres Tem como objetivo prover uma comunicação entre dois processos de uma mesma sessão que estejam rodando em computadores dentro da mesma rede ou não.

Leia mais

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Redes de Computadores. Prof. Dr. Rogério Galante Negri

Redes de Computadores. Prof. Dr. Rogério Galante Negri Redes de Computadores Prof. Dr. Rogério Galante Negri Rede É uma combinação de hardware e software Envia dados de um local para outro Hardware: transporta sinais Software: instruções que regem os serviços

Leia mais

REDE DE COMPUTADORES

REDE DE COMPUTADORES SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL REDE DE COMPUTADORES Tecnologias de Rede Topologias Tipos de Arquitetura Prof. Airton Ribeiro de Sousa E-mail: airton.ribeiros@gmail.com 1 REDES LOCAIS LAN -

Leia mais

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet: Comunicação em uma rede Ethernet A comunicação em uma rede local comutada ocorre de três formas: unicast, broadcast e multicast: -Unicast: Comunicação na qual um quadro é enviado de um host e endereçado

Leia mais

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Arquitetura de Redes de Computadores. Bruno Silvério Costa Arquitetura de Redes de Computadores Bruno Silvério Costa Projeto que descreve a estrutura de uma rede de computadores, apresentando as suas camadas funcionais, as interfaces e os protocolos usados para

Leia mais

Protocolos Hierárquicos

Protocolos Hierárquicos Protocolos Hierárquicos O que é a Internet? Milhões de elementos de computação interligados: hospedeiros = sistemas finais Executando aplicações distribuídas Enlaces de comunicação fibra, cobre, rádio,

Leia mais