ANALISE E BLOQUEIO DE PROXY EM FIREWALL



Documentos relacionados
Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

IPTABLES. Helder Nunes

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Redes de Computadores. Prof. André Y. Kusumoto

Depois que instalamos o Squid vamos renomear o arquivo de configuração para criarmos um do zero.

Entendendo como funciona o NAT

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Arquitetura de Rede de Computadores

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Segurança de Redes. Firewall. Filipe Raulino

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

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

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

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

Firewall. Qual a utilidade em instalar um firewall pessoal?

Firewall. Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Administração de Sistemas Operacionais

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

Instalação e Configuração Iptables ( Firewall)

Pré-requisitos e passos iniciais. Topologia visual

Prof. Samuel Henrique Bucke Brito

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

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

Projeto e Instalação de Servidores Servidores Linux Aula 6 Firewall e Proxy

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:

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

Uso do iptables como ferramenta de firewall.

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

Curso de extensão em Administração de redes com GNU/Linux

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

5/7/2010. Apresentação. Web Proxy. Proxies: Visão Geral. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

Rede de Computadores

Firewall IPTables e Exemplo de Implementação no Ambiente Corporativo.

Aula Prática Roteador

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

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

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

Elaboração de Script de Firewall de Fácil administração

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

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Informática I. Aula Aula 22-03/07/06 1

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

PARANÁ GOVERNO DO ESTADO

CONHECIMENTOS ESPECÍFICOS TÉCNICO DE LABORATÓRIO / ÁREA INFORMÁTICA

Protocolos Hierárquicos

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

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

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

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

Aula Prática Wi-fi Professor Sérgio Teixeira

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

Curso Firewall. Sobre o Curso de Firewall. Conteúdo do Curso

SERVIDOR PROXY COM SQUID3 em GNU/Linux Debian7 Por: Prof. Roitier Campos Gonçalves

Componentes de um sistema de firewall - II. Segurança de redes

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

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

PROJETO E IMPLANTAÇÃO DE INTRANETS

SISTEMAS DISTRIBUIDOS

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

REDES DE COMPUTADORES

Segurança na Rede Local Redes de Computadores

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

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

INTERNET = ARQUITETURA TCP/IP

ENDEREÇOS DE REDE PRIVADOS até até até Kernel

UNIVERSIDADE FEDERAL DE PELOTAS

gladiador INTERNET CONTROLADA

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

LABORATÓRIO WIRESHARK: DNS

Objetivos: i) Verificar o impacto de loops em redes locais ii) Configurar o protocolo STP para remover loops da rede

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 3

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Rotina de Discovery e Inventário

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Configurando um servidor DHCP

DarkStat para BrazilFW

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

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

GESTÃO DE SISTEMAS OPERACIONAIS II


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

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

Professor: Gládston Duarte

Projeto de sistemas O novo projeto do Mercado Internet

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

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

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Firewalls, um pouco sobre...

Transcrição:

1 UNIJUI UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DECEEng DEPARTAMENTO DE CIÊNCIA EXATAS E ENGENHARIAS ANALISE E BLOQUEIO DE PROXY EM FIREWALL Robson Schutz Curso de Ciência da Computação Ijuí (RS), novembro de 2014

2 Robson Schutz ANALISE E BLOQUEIO DE PROXY EM FIREWALL Trabalho de Conclusão de Curso do curso de Ciência da Computação da UNIJUI Universidade regional do Noroeste do Estado do Rio Grande do Sul para obtenção do título de Bacharel em Ciência da Computação. Orientador: Dr. Gerson Battisti Ijuí (RS), novembro de 2014

3 AGRADECIMENTOS Gostaria de agradecer primeiramente a Deus por me dar serenidade, coragem, discernimento e sabedoria, me ensinando a expressar e colocar no papel todas as ideias que gostaria de pôr em pratica. Gostaria de agradecer meu pai (em memória) que de uma forma ou outra sempre me guiou em meus pensamentos para manter o foco na vida, agradecer minha mãe pelas palavras de incentivo, apoio e afeto onde nunca deixou de ser uma super mãe tanto em momentos bons como em momentos difíceis, agradeço muito a paciência e companheirismo e carinho de meu padrasto, agradeço muito mesmo ao meu irmão pelas ajudas e incentivos, agradeço de coração a minha noiva pelo apoio e incentivo companheira para todas as horas, também agradeço demais familiares, amigos e colegas de trabalho e de faculdade, bem como aos meus professores ao longo da vida acadêmica. Em especial aqueles que sempre me apoiaram, acreditaram no meu potencial, me incentivaram tiveram bastante paciência nos momentos difíceis e que me ensinaram a cobrar mais de mim mesmo por saber que eu seria capaz. O meu mais sincero agradecimento de coração.

4 RESUMO Um dos principais motivos em escolher a área de redes de computadores é a vasta abrangência do conteúdo e avanços na tecnologia e disseminação de conteúdo. Desta forma este trabalho abrange a parte que diz respeito a análise e bloqueio de softwares anônimos como o Tor e Ultrasurf, onde são citadas suas características varredura de logs e como ele atua para burlar os sistemas de firewall. Hoje sistemas em áreas governamentais, instituições educacionais e privadas podem ter esse relativo problema de bloqueio, já que os mesmos podem serem responsabilizados indevidamente por usuários que acessam este sistema livremente. Neste trabalho será lapidado uma melhor solução para inibir este tipo de acesso de proxy anônimo, serão então apresentados os resultados já com testes em um ambiente de produção. Palavras-chave: Redes de Computadores, Tecnologia, Software anônimos, Tor, Ultrasurf, logs, Firewall, Bloqueio.

5 ABSTRACT One of the main reasons for choosing the area of computer networks is the vast area covered by the content and advances in technology and dissemination of content and she is in power. Thus this work covers the part that concerns the analysis and blocking of anonymous software like Tor and Ultrasurf, where they are cited characteristics scanning logs and how it acts to circumvent firewall systems. Today systems in government, educational institutions and private areas can have that on lock problem since they can be wrongly blamed by users accessing the system freely. This work will cut a better solution to inhibit this type of access anonymous proxy; will then be presented with the results already testing in a production environment. Keywords: Computer Networking, Technology, Software anonymous, Tor, Ultrasurf, logs, firewall blocking.

6 UMÁRIO INTRODUÇÃO... 10 JUSTIFICATIVA... 12 OBJETIVOS... 13 1 REDE DE COMPUTADORES... 14 1.1 Redes Geograficamente Distribuídas... 15 1.2 Modelo de Referencia OSI... 16 1.3 Modelo de Referencia TCP/IP... 17 1.4 A internet hoje... 19 2 FERRAMENTAS DE BLOQUEIO... 21 2.1 Firewall... 21 2.1.1 Iptables... 21 2.1.2 Squid... 22 2.2 Fwbuilder... 23 2.3 Fail2ban... 23 3 FERRAMENTAS BURLAR BLOQUEIOS... 24 3.1 UltraSurf... 24 3.2 TOR... 24 3.2.1 Deep Web... 25 4 FERRAMENTA ANALISE... 27 4.1 Tcpdump... 27 4.2 Wireshark... 28 6 Estudo de Caso... 30 Preparação... 32 Passo 1... 32 Passo 2... 32 Passo 3... 32 Passo 4... 34 Passo 5... 36 Passo 6... 37 Passo 7... 38 7 Resultados... 41 CONSIDERAÇÕES FINAIS... 46 BIBLIOGRAFIA... 48

7 ISTA DE ABREVIATURAS DNS - Domain Name System FTP - File Trnasfer Protocol HTTP - Hypertext Tranfer Protocol HTTPS - HyperText Transfer Protocol Secure ISO - International Organization for Standardization LAN - Local Área Network OSI - Open Systems Interconnection TCP - Transmission Control Protocol TOR - The Onion Router; UDP - User Datagram Protocol WAN - Wide Area Network

8 LISTA DE FIGURAS Figura 1 - Interligação dos Micros... 14 Figura 2 - Modelo de Interligação WAN... 16 Figura 3 - Comunicação Modelo OSI entre dois dispositivos... 17 Figura 4 - Comunicação Modelo TCP/IP entre dois dispositivos... 18 Figura 5 - Esboço de um Firewall... 21 Figura 6 - Esboço da Deep Web... 26 Figura 7 - Tela do Comando executado pelo TCPdump... 28 Figura 8 - Tela do Wireshark capturando pacotes na rede... 29 Figura 9 - Esboço da Implementação em ambiente de teste... 31 Figura 10 - Esboço do teste em ambiente de produção... 31 Figura 11 - Tela Inicial de Instalação do Debian 6... 32 Figura 12 - Tela de configuração do Fwbuilder... 38 Figura 13 - UltraSurf sendo Executado com sucesso... 41 Figura 14 - Log do Firewall rodando UltraSurf... 42 Figura 15 - Bloqueio enviado pelo fail2bain... 42 Figura 16 - Aviso na tela do usuário... 43 Figura 17 - Log de direcionamento para pagina de aviso... 43 Figura 18 - Software TOR tentando conexão sem sucesso... 44

9 LISTA DE GRÁFICOS Gráfico 1 - Tentativa de acessos com TOR e UultraSurf...45 Gráfico 2 - Quantidade de Usuários na Rede do Projeto...45

10 INTRODUÇÃO O que hoje forma a Internet começou lá em 1969 com a ARPANET, uma Agencia de Pesquisas de Projetos Avançados, subdivisão do departamento de defesa dos Estados Unidos. Com o passar dos anos a palavra Internet já era de uso comum inicialmente tratada como rede de computadores. Inicialmente desenvolvida com fins militares, a rede rapidamente se ampliou em questão da sua importância e sua grande variedade de possibilidades. Um bom exemplo dessa possibilidade é suportar serviços de envio e recebimento de e-mails, acesso a outros computadores, notícias, transferências de arquivos em si uma difusão de conteúdos multimídia O protocolo TCP/IP foi o maior impulsionador da Internet, dado que é ele que está na base da Internet. Linguagens como a que ele utiliza, o HTML, derivadas do HTML, entre outras permitem grande flexibilidade no acesso a variedades fontes de informações de vários tipos, eles imagens, vídeos, noticiários, musicas, em fim qualquer tipo de entretenimento. Com a constante evolução das redes de computadores e grande volume de trafego na Internet, começou a ter vários problemas com censuras de informações, onde elas não tinham intenção de serem acessadas por terceiros. Com isso governos como o da China fizeram sanções de bloqueio e censura a determinados sites para controlar o que os usuários estavam acessando em seu país. Com isso surgiu grupo de usuários, estudantes e empresas que começaram a estudar e testar possibilidades de burlar sistemas de bloqueios e censuras, foi então que surgiram softwares como o TOR e o Ultrasurf que serão explanados neste trabalho para acessos a esse tipo de informações. Contudo surgiu uma camada da web conhecida como Deep Web onde usuários navegam anonimamente sem que sejam identificados em tempo real, sabe-se que a Deep Web já é um bom tanto maior que a Web limpa na Internet, não é que seja um outro tipo de acesso mas poderíamos explicar que seria uma segunda camada da Internet. Nesta camada da Web sabe-se que existe um mundo obscuro que muitos tentam explanar mas que não tem conhecimento suficiente do que estão enfrentando, nesta camada da web existe cargas e cargas de informações e dados que podem conter vírus, venda de drogas ilícitas, além de ter bastante prostituição, aliciamento de menores, pedofilia entre outros casos já relatados na sociedade.

11 O intuito deste trabalho é tentar estabelecer uma navegação segura através de softwares como o firewall para proteger estes usuários destes tipos de acesso, mantendo assim censuras que poderão causar prejuízos em determinado momentos para os usuários. Por fim será efetuada a analise deste trafego e monitoramento do comportamento dos softwares que fazem esses tipos de operações, para tentar inibir com bloqueios a atividade do mesmo dentro de um ambiente de produção.

12 JUSTIFICATIVA Com os avanços dos sistemas e a disseminação do uso da internet por meio de usuários, sejam esses acessos dentro de empresas privadas, governamentais, educacionais ou de acesso domésticos, precisam ter um acesso mais consciente. Motivos pelos os quais foram pensados neste trabalho, o principal foco dele justifica-se pelo trabalho que se tem de administradores de redes em corporações para manterem seus sistemas protegidos e longe de problemas relacionados a esses tipos de serviços. Pode citar exemplos como o uso indevido de links de dados de uma instituição por meio de usuários, se esse usuário não for identificado pelo uso indevido que o mesmo fez quem se responsabiliza é a instituição a onde o link está vinculado, causando assim transtornos, multas, etc. Problemas assim precisam ser evitados a fim de proteger e solucionar dores de cabeças de administradores de rede, pois controlando o trajeto que está trafegando em sua corporação poderá controlar e identificar possíveis ataques hackers, pedofilia entre outros já conhecidos.

13 OBJETIVOS Objetivos Gerais Efetuar uma análise detalhada de todo o trafego, fazer todo o monitoramento através de logs. Através dos resultados obtidos será verificado a possibilidade de inibir e bloquear o acessos de softwares que burlar os bloqueios implementados pelos firewalls. Objetivos específicos Demonstrar o funcionamento de dois softwares que são utilizado para a navegação anônima na rede. Verificar a forma de trabalho deste tipo de software. Analisar os logs de acesso desses softwares em cima do firewall. Avaliar as propostas já conhecidas sobre segurança e bloqueio desses tipos de sistemas e apresentar resultados melhores e mais efetivos através de analises e testes em cima destes software em um ambiente de testes e em produção.

14 1 REDE DE COMPUTADORES Desde o princípio da era da computação os equipamentos voltados para estas tarefas eram desenvolvidos com um alto valor e tinham uma aplicação executada em grandes centros em um único ponto para vários usuários. Com o passar dos anos e os equipamentos tendo uma redução considerável de valores com melhoras nas tecnologias implantadas nos hardwares e o surgimento de micros computadores entrou um detalhe importante da distribuição do processamento e comunicação dos dados entre estes micros. Assim se pensou, estudou e surgiu a rede de computadores, onde uma tecnologia fosse capaz de interligar os equipamentos (estações de trabalho), antes operando sozinha, mas que de agora em diante pudesse compartilhar os recursos e dados, tornando assim uma rede. Para ter uma definição de rede é preciso dois ou mais micros interligados e compartilhando tanto recurso como informações. Figura 1 - Interligação dos Micros Fonte: Elaborado pelo autor Com o estudo e avanço das tecnologias surgiram ambientes de pesquisas em universidades com o enfoque dos sistemas de computação, em meados de 1987 surgiu a distribuição do poder computacional, várias redes locais começaram ser desenvolvidas para viabilizar a troca e compartilhamento entre os dispositivos (recursos de hardware e software). Com o passar dos anos muitas empresas tiveram um aumento significativo de computadores e operação, frequentemente instalados em locais distantes entre si. Por exemplo, uma empresa com muitas fabricas pode ter um computador em cada uma delas para monitorar estoques, produtividade e folhas de pagamentos, inicialmente, esses computadores funcionavam de forma independente dos demais, mas, em um determinado momento, decidiuse conectá-los para que fosse possível extrair e correlacionar informações sobre toda a empresa. Em termos genéricos, podemos dizer que estamos falando de compartilhamento de recursos, cujo objetivo é colocar todos os programas e equipamentos e especialmente dados ao alcance de todas as pessoas da rede independentemente da localização física do recurso e do usuário. (Tanenbaum, 1997)

15 A rede também aumenta a confiabilidade do sistema, pois tem fontes alternativas de fornecimento. Todos os arquivos podem ser copiados em duas ou três máquinas, dessa forma se um deles não estiver disponível é possível recorrer a seu backup. Além disso, a presença de diversas CPUs significa que se uma delas falhar, as outras poderão assumir suas funções, embora haja uma queda de desempenho. É de fundamental importância, que nas operações militares, financeiras, de controle de tráfego aéreo e na segurança de reatores nucleares, entre outras aplicações, os sistemas possam continuar operando mesmo quando haja problemas de hardware. 1.1 Redes Geograficamente Distribuídas Com o crescimento das redes surgiu a necessidade de compartilhar recursos por uma maior quantidade de usuários dispersos geograficamente. Pelos altos custos de envios de dados por satélites e sistemas de micro-ondas que tais redes em geral são públicas ou seja de comunicação de sub-rede. Por questões de confiabilidade e caminhos alternativos surgiu as redes geograficamente distribuída. A rede que é distribuída geograficamente, ou WAN, abrange uma área geográfica ampla ou seja, interligando estados países e continentes. A Rede Geograficamente Distribuída contém um conjunto de maquinas cuja finalidade é executar os programas, aplicações de usuário, seguindo a tradição esta máquina será chamada de host e o termo end system também é utilizado na literatura específica. Os hosts são conectados por uma sub-rede de comunicação simplificando, uma sub-rede. A tarefa da sub-rede é transportar mensagens de um host para outro, exatamente com um sistema telefônico transporta as palavras da pessoa que fala para a que ouve. (Tanenbaum, 1997) Esta base das redes geograficamente distribuídas as WAN, os usuários de todos os lugares interligados através da mesma poderia comunicar-se uns com os outros em tempo de trafego em rede, esse sistema por exemplo revolucionou a comunicação entre países e continentes, onde uma notícia poderia rodar o mundo em questões de segundos. Temos a seguir uma figura demonstrando um exemplo de rede geograficamente distribuída WAN.

16 Figura 2 - Modelo de Interligação WAN Fonte: Elaborado pelo autor Com o surgimento de todas essas redes para interligações precisou-se ter um padrão de uso das mesmas. Criado em 1983 e após anos em estudo foi formalizado em meados de 1995 um modelo de referência da ISO, seu principal objetivo foi ter um modelo de referência para protocolos de comunicações. 1.2 Modelo de Referencia OSI O modelo de comunicação OSI (Open System Iterconect) divide as redes de computadores em 7 camadas. Este modelo permite comunicação heterogênea entre as camada e define diretrizes para construção de um ambiente de redes independente da forma que for utilizada. As camadas são descriminadas da seguinte forma: 1- Física Nesta camada está a relação de bit a bit sobre o canal de comunicação 2- Enlace Esta camada é responsável por criar uma transmissão de um sistema cru e transformar em um sistema livre de erros de transmissão 3- Rede Nesta camada é efetuado o controle da operação sua tarefa controlar a informação dos pacotes que são roteados da fonte para o destino. 4- Transporte Esta camada é responsável de quebrar os dados vindos da camada sessão e encaminhá-los garantindo que os mesmos cheguem do outro lado. 5- Sessão Esta camada é responsável por controlar por exemplo login e transferência de arquivos.

17 6- Apresentação Nesta camada por exemplo é tratado a criptografia e privacidades dos dados trafegados. 7- Aplicação Neste camada é onde se tem a variedade de protocolos que são necessários para o trafego e aplicações dentro da redes de computadores. Entende que este número de camadas deve ser o suficiente para não seja preciso agrupar funções específicas de uma mesma camada. Seguindo o raciocínio temos um exemplo bem claro de como é feito a comunicação em dois dispositivos de rede divididos nas sete camadas. Figura 3 - Comunicação Modelo OSI entre dois dispositivos Fonte: Elaborado pelo autor Como o Modelo lógico foi definido como um modelo acadêmico e para estudos de novos padrão teve em paralelo o surgimento de um outro modelo de referencia que foi utilizado pela ARPANET que foi definido pela primeira vez em 1974 (CERF e Kahn). 1.3 Modelo de Referencia TCP/IP O modelo de Referencia TCP/IP surgiu com a necessidade de interconectar várias redes de maneira uniformes, foi definida em 1974 com algumas perspectivas de melhorias em 1985 (Neiner et al) e teve uma filosofia do projeto na qual se baseava em 1988 (Clark). O departamento de defesa dos Estados Unidos da América tinha necessidade que sua rede fosse capaz de sobreviver à perda de comunicação e que deveria ser mantida enquanto as maquinas tanto de origem quanto de destino estivessem em pleno funcionamento. Era necessário uma arquitetura flexível, capaz de suportar cargas de transferência de arquivos quando de transmissão de voz em tempo real, com toda essas especificações o padrão foi apresentado com 4 camadas distintas para intercomunicação de forma homogenia entre equipamento x equipamento. Foi distribuída da seguinte forma:

18 1- Host/Rede - Nesta camada a única exigência é que a origem se conecte com a rede usando algum protocolo capaz de enviar pacotes ip. 2- Internet Camada também conhecida como Inter-redes permite que pacotes trefeguem independentemente até o destino não importando a ordem, sua principal função é entregar os pacotes IP. 3- Transporte Nesta camada é feita a conversa entre a origem e o destino e onde é definido o tipo de pacote que será trafegado TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol). 4- Aplicação Nesta camada contem todos os protocolos de alto nível, dentre eles estão: FTP (File Trnasfer Protocol), DNS (Domain Name System), HTTP (Hypertext Tranfer Protocol). Figura 4 - Comunicação Modelo TCP/IP entre dois dispositivos Fonte: Elaborado pelo autor Comparação entra modelos de Referencia OSI e TCP/IP Os modelos de referência OSI e TCP/IP tem muito em comum. Os dois se baseiam no conceito de uma pilha de protocolos independentes. Além disso, as camadas têm praticamente as mesmas funções. Em ambos os modelos estão presentes as camadas que englobam até a camada de transporte. Nesses modelos são oferecidos os processos desejam se comunicar um serviço de transporte fim a fim independentes do tipo de rede que está sendo usado. diferenças. Mesmo tendo várias semelhanças fundamentais, os dois modelos também tem muitas Os protocolos e o modelo TCP/IP também tiveram os seus problemas. Dentre eles estão o fato de o Modelo TCP/IP não ser o melhor dos guias para se estruturar novas redes com novas tecnologias, não conseguem ser nem um pouco abrangente e não conseguem descrever outras pilhas de protocolos, a camada de host/rede não é realmente uma camada no sentido em que o termo é usado no contexto hierárquico, o modelo não faz distinção entre as camadas física e de enlace de dados e por fim apesar de serem bem projetados não aconteceu o mesmo com outros modelos projetados pela comunidade acadêmica. (Tanenbaum, 1997)

19 Algumas das semelhanças deles é que são divididos em camadas, além de ambos modelos terem também camadas de aplicação, não sendo incluso que possuem os mesmos serviços dentro desta mesma camada, ambos têm camadas de transporte e de redes que podem ser comparáveis, além da tecnologia de comutação de pacotes ser presumida por ambas. Profissionais dessas áreas precisam possuir conhecimentos em ambos, para ter um melhor entendimento. Algumas diferenças de ambos é que o Modelo TCP/IP combina aspectos dentro da camada de apresentação e também da camada de seção, da camada de aplicação, o TCP/IP combina a camada física e de enlace do OSI em uma camada. Aparentemente o modelo TCP/IP parece ser de uma simplicidade maior que o modelo OSI, por possuir um número de camadas menor em relação. O protocolo do TCP/IP é o padrão que se desenvolve na rede de computadores, portanto o modelo TCP/IP ganha uma maior ênfase por causa de seus protocolos. Em contrapartida nenhuma rede até hoje foi desenvolvida em cima do protocolo específicos relacionado ao modelo OSI, embora que para estudos, artigos acadêmicos sejam baseados neste modelo. 1.4 A internet hoje A internet é uma extensa rede de computadores interligados, mas independentes. Em menos de duas décadas, transformou-se de uma rede altamente especializada de comunicações, utilizada principalmente para fins militares e acadêmicos, em um bazar eletrônico de massa. Hoje, a rede inclui. Qualquer pessoa que tenha conta em um desses computadores pode enviar correio eletrônico por toda a rede e acessar recursos de centenas de outros computadores. O crescimento fenomenal da Internet é um indicador do impacto que essa tecnologia finalmente terá. Entre 1993 e 1998, a Internet dobrou de tamanho todos os anos. Isso significa que, a cada ano, há o mesmo número de pessoas novas conectando-se a ela, que o número de usuário já existente. A StatsCan relatou, no início de 1998, que 45% dos lares com crianças com menos de 18 anos (1,7 milhão tinham computadores em casa e estimou que 20% deles estão navegando na Internet. Essa cifra crescerá 40% no final do século. A Internet está penetrando nas casas tão rapidamente quanto a televisão nos anos 50, afirmou Don Tapscott, autor de Growing UP Digital: The Rise of the Net Generation (1997).

20 Com todo este crescimento já informado e o inchaço em nossas redes de Internet, pensamentos diferenciados, tráfegos de notícias, comunicações e inundações de interatividades dentro da rede, segundo a Stilborne cita que: Por causa da cultura de livre circulação da Internet e de sua total falta de controles estruturais e externos, ela está tentando livrar-se da ideia de novidade. Aqueles que gastam tempo para conhece-la logo descobrem, entretanto, que ela é realmente um microcosmo da nossa sociedade. Grande parte do que acontece no mundo real refletese de alguma maneira na Internet. Por meio, dela você pode encontrar bibliotecas, programas de rádio e shopping centers. (Stilborne, 2000) Com todo esse acesso livre e facilidades encontradas por usuários para adicionar artigos, notícias, vídeos, facilidade em interatividades, a internet não é somente um meio legal para pessoas e entidades se comunicarem, ela também é bastante utilizada para uso indevido e práticas ilegais de atividades. Governos e entidades privadas começaram a se preocupar com esse inchaço nas redes e vazamentos de notícias não direcionadas aos interesses de terceiros, como roubo de informações que trafegam na rede.

21 2 FERRAMENTAS DE BLOQUEIO Foram criados grupos de estudos, desenvolvedores e entidades diversas para desenvolver formas de controlar determinados acessos a informações dentro de sistemas locais LAN, como controle de grandes centros WAN como estados e países. Para isso foram desenvolvidos aplicações e serviços para efetuar este tipo de controle dentre eles será citado aplicações livres (códigos aberto) que podem ser livremente configurados conforme a necessidades dos clientes. 2.1 Firewall Em termos técnicos Firewall é um software ou hardware capaz de verificar todo o trafego que esteja cruzando por ela e interceptar dados afim de não permitir determinados acessos e/ou pacotes que consistem em causar algum dano na interligação dos sistemas. Em exemplos práticos um firewall pode ajudar a impedir que hackers ou softwares maliciosos obtenham acessos a rede local da rede WAN, o firewall também pode ter a função de não deixar que um computador infecte outro na rede com algum tipo de trafego malicioso. Figura 5 - Esboço de um Firewall Fonte: Elaborado pelo autor Este projeto será desenvolvido um firewall com base em SO Linux com a aplicação de firewall Iptables. 2.1.1 Iptables

22 Iptables é um software de firewall que através de comandos do administrador e tabelas fornecidas pelo Kernel do Sistema, tem a capacidade de efetuar bloqueios e liberações de pacotes trafegados em suas interfaces de redes. De modo geral o administrador do firewall cria regras especificas através de comandos para efetuar essa varredura nos pacotes e efetuar as decisões tomadas, funciona como um porteiro onde ele decide quem entra para rede local ou não. Para um bom funcionamento do firewall deve-se trabalhar em conjunto com outra aplicação de extrema importância na rede que é o proxy. O proxy nada mais é que um serviço que atende a requisições repassando os dados do cliente a frente passando as informações requisitadas e filtradas para algum serviço na rede, como conexão a website, baixar arquivos etc. Outra função do proxy é a capacidade dependendo da forma que está configurado atender as requisições do host/cliente sem ao menos efetuar conexão ao servidor especifico, atuando assim como um cache de arquivo. O proxy escolhido para ser trabalhando foi o Squid, pois se trata de um serviço de código aberto ambiente Linux, e com o poder de se trabalhar em conjunto com o IPTABLES. 2.1.2 Squid Por definição o Squid é um servidor de proxy que suporta tanto tráfego HTTP, HTTPS, FTP, entre outros. Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições frequentes de páginas web numa rede de computadores. O Squid foi escrito para rodar em ambiente Linux mas a partir de sua versão estable 2.6 foi desenvolvido também e ambiente Windows. Sua utilização requer conhecimentos técnicos dos comandos, pois como o IPTABLES possui comandos e regras para funcionar. O Squid tem uma incrível capacidade de utilização da rede onde ele é capaz de fazer cache de arquivos de grande utilização através de sua memória ram, quanto memória de discos físicos, todos nomeados de acordo com a capacidade de hardware e a regra estipulada pelo administrador de sistema. O Squid tem algumas funcionalidade que permitem tornar as conexões anônimas, tais como desabilitar ou alterar campos específicos do cabeçalho dos pedidos HTTP do cliente. Isso pode ser feito pelo administrador que opera e controla a máquina que está rodando o serviço.

23 Com os avanços nesses sistemas de controle de trafego deixando administradores de sistemas tranquilos e com a demanda controlada, em cima das requisições começaram a surgir problemas referentes a usuários incomodados com o controle do que era permitido ou não fazer em determinadas redes. Assim surgindo pessoas capazes de através de softwares burlarem este sistema. Estes sistemas de bloqueios começaram surgir de acordo com informações em notícias por causa de bloqueios, as chamadas censuras na internet e controle ao que era liberado e o que era permitido de trafego em redes. 2.2 Fwbuilder Quando surge uma pergunta mas como é um determinado comando ou qual comando que foi adicionado no firewall, motivos assim motivaram a criação do Fwbuilder que nada mais é uma aplicação desenvolvida em modo gráfico que faz o gerenciamento de um ou de vários firewalls, facilitando assim toda a manutenção do mesmo sem que seja executado vários comandos ou scripts em cima do iptables. 2.3 Fail2ban O software Fail2ban, nada mais é do que um sistema que faz os monitoramentos dos logs e tem como função executar comandos ou mede tentativas de acessos de determinado IP conforme configurado. O fail2ban pode efetuar monitoramentos em serviços como ssh, pam, xinetd, apache, vsftpd, proftpd, wuftpd, postifx, couresmtp, named e também monitoramentos de logs vindos do iptables e proxy como o Squid. Existe vários case de sucesso do mesmo inclusive quanto ataques para cima de Sites e firewall contra métodos de força bruta, que são muito comuns em equipamentos ligados a Internet, fazendo um bloqueio funcional transparente sem causar prejuízos no sistema que está rodando. Este software é escrito todo em python que o torna compatível com praticamente todos os SO, baseado em Linux tais como Debian, Ubuntu, Fedora, RedHat, Mandriva, entre outros.

24 3 FERRAMENTAS BURLAR BLOQUEIOS Neste trabalho foi escolhido em base a estudo e quantidade de acessos a estes sistemas, dois principais softwares que tem poder de efetuar esse tipo de acesso. 3.1 UltraSurf Ultrasurf é um aplicativo livre de evasão de censura para Internet. Desenvolvido pela UltraReach Internet Corporation. Originalmente ele foi desenvolvido para ajudar usuários da Iternet da China a burlar as censuras impostas daquele país e garantir segurança e liberdade online aos usuários. Com o passar dos anos e o aumento de censuras a Instituições privadas, governamentais e educacionais, o acesso a rede através deste aplicativo aumentou significativamente. O Ultrasurf promete proteger a privacidade online com navegação anônima, escondendo o seu endereço IP, apagando o histórico de navegação cookies entre outras, ele usa um sistema padrão da indústria de criptografia end-to-end para proteger a sua transferência de dados que está sendo vista na rede de computadores. O poder hoje em dia do Ultrasurf está tão grande e difundido no mundo que já foi executados por usuários de mais de 180 países no mundo todo e milhões de páginas visualizadas pelo sistemas em um único dia. 3.2 TOR Tor (The Onion Router) é um software gratuito que promete oferecer também um sistema de navegação anti-monitoramento. Teve sua ideia inicial e desenvolvido pelo Laboratório de Pesquisas Naval dos Estados Unidos da America e teve apoio de uma das organizações mais conhecidas no Mundo a EFF (Electronic Frontier Foundation), organização essa que defende os direitos de usuários na rede de Internet. A função dela é semelhante a do Ultrasurf mas promete uma melhor capacidade de carga onde uma vez instalada esconde a identidade do usuário e impede visualização do trafego na rede pois criptografa os dados. Utilizar o Tor Sim ou Não? Esta é a pergunta em muitos dos usuários que com certeza já ouviram falar em universidades, escolas, instituições privadas, entre outras, que mantem algum tipo de bloqueio na rede.

25 Seja para usuários comuns, empresas entre outras que necessitam uma privacidade ou no mínimo um menor controle em suas informações trefegadas o programa promete fazer isto mascarando endereços de ip. Assim tem um porem que tudo que é prometido pode não ser tão seguro quanto parece, onde que ele pode sim dificultar o acesso a dados pessoais e esconder seu endereço, localização, como ele estão em uma camada mais abaixo da camada confiável da internet ele pode causar vários problemas. Como vírus e malwares. Podemos considerar um bom exemplo prático onde o usuário comuns acessando uma página de pesquisa direcionada pelo google poderá não conter vírus já que o sistema de buscador indexas e classifica diariamente os sites que não possui menos problemas e lança em seus primeiros resultados de pesquisas. O acesso com proxys anônimos requer um grau de responsabilidade maior pois como havíamos informado anteriormente ele acaba acessando uma camada mais abaixo da web chamada popularmente de Deepweb. 3.2.1 Deep Web A Deep Web é uma segunda camada podemos dizer da Internet ela não faz parte da Internet a qual os mecanismos de buscas consegue indexar e classificar os sites. De acordo com estudos feitos pela Universidade da Califórnia em Berkeley (2001) estima-se que a camada da Deep Web tenha um tamanho muito superior a camada indexadas pelos mecanismos de buscadores. Grande parte do acesso a camada da Deep Web é efetuada pelo TOR o restante é dividido entre os proxies anônimos conhecidos no mercado. Os usuários podem ter liberdade de censuras entre outras liberdades dentro da rede Deep Web, mas nesta camada da Internet existe muito conteúdo criminoso, explícito, abusivo, pedófilo entre outros como comercio ilícito de drogas e entorpecentes.

26 Figura 6 - Esboço da Deep Web Fonte http://www.goran.si/

27 4 FERRAMENTA ANALISE Foram analisadas as melhores ferramentas de análise e monitoramento de dados e dentre elas obtiveram destaques o Tcpdump e o Wireshark ambos serão analisados abaixo. 4.1 Tcpdump Tcpdump é uma ferramenta utilizada para monitorar os pacotes trafegados numa rede de computadores. Ela mostra os cabeçalhos dos pacotes que passam pela interface de rede. Exemplo de comando tcpdump para mostrar quais as ligações de um determinado endereço tcp-ip à porta 80 do seu servidor: tcpdump -ni eth0 src "número ip" and dst port 80 tcpdump -i eth0 Conexões de origem podem ser monitoradas utilizando o parâmetro src host, um exemplo simples seria monitorarmos o tráfego que vem de 192.168.0.9 para nosso computador, com o ip 192.168.0.2. A linha de comando ficaria da seguinte forma: tcpdump -i eth0 src host 192.168.0.9 Se quisermos monitorar as conexões especificando um host de destino, poderíamos fazê-lo com o parâmetro dst host, o exemplo abaixo mostra todo o tráfego do host 192.168.0.2 com 192.168.0.1, no caso, 192.168.0.1 é nosso gateway. tcpdump -i eth0 dst host 192.168.0.1 Com tcpdump também podemos especificar exceções com o parâmetro not host, por exemplo, em nosso servidor queremos ver todo o tráfego que se passa em sua interface, exceto o de 192.168.0.8, faríamos da seguinte forma: tcpdump -i eth0 not host 192.168.0.9 No tcpdump podemos também especificar portas de origem e destino com os comandos src port e dst port, um exemplo seria monitorarmos o tráfego destinado à porta 80 (http), para isso utilizaríamos a linha de comandos abaixo e navegaríamos em um site qualquer:

28 tcpdump -i eth0 dst port 80 forma: Para verificarmos o tráfego da porta de origem 32881 por exemplo, faríamos da seguinte tcpdump -i eth0 src port 32881 Para verificarmos o tráfego com destino ao ip 10.106.0.1 tcpdum i eth0 dst host 10.106.0.1 Figura 7 - Tela do Comando executado pelo TCPdump Fonte: Elaborado pelo autor 4.2 Wireshark O Wireshark (anteriormente conhecido como Ethereal) é um programa que analisa o tráfego de rede, e o organiza por protocolos. As funcionalidades do Wireshark são parecidas com o tcpdump mas com uma interface GUI, com mais informação e com a possibilidade da utilização de filtros. É então possível controlar o tráfego de uma rede e saber tudo o que entra e sai do computador, em diferentes protocolos, ou da rede à qual o computador está ligado. Também é possível controlar o tráfego de um determinado dispositivo de rede numa máquina que pode ter um ou mais desses dispositivos. Se você estiver numa rede local, com micros ligados através de um hub ou switch, outro usuário pode usar o Wireshark para capturar todas as suas transmissões.

29 Figura 8 - Tela do Wireshark capturando pacotes na rede Fonte: Elaborado pelo autor

30 6 Estudo de Caso Nos dias de hoje quando se fala em Redes de computadores e serviços que rodam em cima da mesma se tem uma noção bem superior à de anos atrás onde este conhecimento era de poucos em uma minoria e de grandes estudiosos e científicos que as desenvolviam. Hoje com a propagação e a mesma estarem cada vez mais presentes na vida de todos precisa-se ter uma melhor organização e também com equipes voltadas para o desenvolvimento e crescimentos da mesma nas empresas requer uma documentação. Segundo Digerati: A documentação da rede propícia, entre outras coisas, maior facilidade em sua manutenção. Mesmo havendo uma mudança de profissionais responsáveis por gerenciá-la, eles terão facilidade em conhecer sua topologia, infraestrutura, componentes físicos e lógicos relacionados etc. a criação da documentação de uma rede pode iniciar antes mesmo da sua montagem, estendendo-se durante sua instalação e configuração e acompanhando-a enquanto existir. Seguindo a linha de raciocínio de Digerati propicia um entendimento melhor de como efetuar toda a documentação e também a importância da mesma dentro de uma equipe que faz o gerenciamento da rede, ou seja, fornece um aparo a toda a documentação a seguir, forma de seguir e a forma padrão para entendimentos futuros. Também se tem a noção que a elaboração de simples tutoriais ou os chamados de passo a passo na hora de uma manutenção ou mesmo uma reformulação dentro de um determinado servidor é de extrema importância e economiza um bom tempo de serviço em cima dos equipamentos. Assim foi demonstrado logo abaixo todo o desenvolvimento e o passo a passo desde a escolha do equipamento, escolhas dos serviços que foram rodados em cima, escolha do SO, configurações de cada serviço e melhoras e adaptações para o ambiente de produção dos mesmos. Será implementado em um primeiro momento o ambiente de testes conforme abaixo.

31 Figura 9 - Esboço da Implementação em ambiente de teste Fonte: Elaborado pelo autor Após efetuado testes e analises nos monitoramentos, foram efetuadas tentativas de bloqueios tanto do TOR como o Ultrasurf primeiramente em ambiente de testes e após estes testes será implantado em produção conforme abaixo. Figura 10 - Esboço do teste em ambiente de produção Fonte: Elaborado pelo autor

32 Preparação O Hardware trabalhado neste projeto é um Dell PowerEdge 710, equipamento com processador Xeon series 5500 com dois processadores físicos com 4 núcleos cada, chip set Intel 5520, Memória Ram de 24 gb DDR3 1333 Mhz e 5discos SAS 15K 146 gb. O Hardware foi preparado com uma Rad 1 (mirror) nos discos 0 e 4, para melhor segurança em manter o SO e serviços funcionando mesmo com um dos discos caindo. Nos discos 1, 2 e 3 terão como finalidade cache de proxy e logs do firewall. Figura 11 - Tela Inicial de Instalação do Debian 6 Fonte: Elaborado pelo autor Passo 1 mesmo. Escolha do sistema somente modo texto com apenas o serviço de SSH rodando no Passo 2 É feito as configurações padrões para o Firewall como configurações de interfaces eth0, eth1 e eth2 conforme necessário. Passo 3 Começa a instalação dos serviços que irão rodar em cima do firewall # apt-get install squid Este comando faz a instalação da versão do squid (stable) estável que está no sistema operacional instalado Configurações iniciais para funcionamento do squid:

33 # vim /etc/squid/squid.conf Aqui se tem as configurações padrões para funcionamento do squid com algumas melhorias para já proteger contra os softwares citados no trabalho. acl NOCACHE url_regex -i "/etc/squid/direto.txt" no_cache deny NOCACHE acl all src all acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 631 # cups acl Safe_ports port 873 # rsync acl Safe_ports port 901 # SWAT acl purge method PURGE acl CONNECT method CONNECT acl micros_liberacao_eventos src "/etc/squid/micros_liberacao_eventos.txt" acl micros_direto src "/etc/squid/micros_direto.txt" acl micros_naveg_bloqueada src "/etc/squid/micros_naveg_bloqueada.txt" acl micros_liberacao_antivirus src "/etc/squid/micros_liberacao_antivirus.txt" acl domr_liberacao dstdom_regex -i "/etc/squid/domr_liberacao.txt" acl domr_bloqueio dstdom_regex -i "/etc/squid/domr_bloqueio.txt" acl domr_bloqueio1 dstdom_regex -i "/etc/squid/domr_bloqueio1.txt" acl bloqueio_proxy dstdom_regex -i "/etc/squid/bloqueio_proxy.txt" acl domr_pornografico dstdom_regex -i "/etc/squid/domr_pornografico.txt" acl domr_bloqueio_conficker dstdom_regex -i "/etc/squid/domr_bloqueio_conficker.txt" acl url_bloqueio url_regex -i "/etc/squid/url_bloqueio.txt" acl url_liberacao url_regex -i "/etc/squid/url_liberacao.txt" acl domr_liberacao_windowsupdate dstdom_regex -i "/etc/squid/domr_liberacao_windowsupdate.txt" acl domr_libera_naveg_bloq dstdom_regex -i safebrowsing.clients.google.com safebrowsingcache.google.com google-analytics.com thawte.com acl micros_sem_controle_banda src "/etc/squid/micros_sem_controle_banda.txt" acl audiovideo_dominio dstdom_regex -i "/etc/squid/audiovideo_dominio.txt" acl audiovideo_urlpath urlpath_regex -i "/etc/squid/audiovideo_urlpath.txt" acl DOWNLOAD url_regex -i "/etc/squid/acl_download.txt" acl url_conficker url_regex -i https?://[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/search acl site_liberacao dstdom_regex -i "/etc/squid/sites_liberacao.txt" http_access allow site_liberacao acl NOCACHE url_regex -i "/etc/squid/direto.txt" no_cache deny NOCACHE acl mac_bloqueio arp "/etc/squid/mac_bloqueio.txt" deny_info BLOQUEIO_HTML mac_bloqueio

34 # js_or_css_file acl js_file url_regex -i ^http:\/\/.*\.(js css)$ cache allow js_file refresh_pattern -i ^http:\/\/.*\.(js css)$ 129600 10000% 259200 override-expire ignore-reload ignore-nocache ignore-private refresh_pattern -i ^http:\/\/.*\.(js css)$ 0 0% 0 # ftp acl ftp url_regex -i ^ftp:\/\/.*$ cache allow ftp refresh_pattern -i ^ftp:\/\/.*$ 129600 10000% 259200 override-expire ignore-reload ignore-no-cache ignore-private refresh_pattern -i /cgi-bin/ 0 0% 0 refresh_pattern \? 0 0% 0 refresh_pattern. 0 20% 4320 http_access allow micros_direto http_access allow manager localhost http_access deny manager http_access allow purge localhost http_access deny purge http_access deny!safe_ports http_access deny CONNECT!SSL_ports http_access deny to_localhost http_access allow localhost http_access allow micros_liberacao_eventos http_access allow url_liberacao http_access allow url_liberacao micros_liberacao_antivirus http_access allow domr_liberacao http_access allow micros_liberacao_windowsupdate domr_liberacao_windowsupdate http_access deny bloqueio_proxy http_access deny domr_pornografico http_access deny url_bloqueio http_access deny url_conficker http_access deny domr_bloqueio_conficker http_access deny brigada domr_bloqueio_brigada http_access allow micros_naveg_bloqueada domr_libera_naveg_bloq http_access deny micros_naveg_bloqueada http_access deny micros_bloqueio_redes_socias rede_sociais Configuração básica efetuada no squid.conf, lembrar somente em no que diz o bloqueio dos proxies na # acl bloqueio_proxy dstdom_regex -i "/etc/squid/bloqueio_proxy.txt" pois nesta acl está direcionada para um arquivo chamado bloqueio_proxy.txt onde tem lista de sites onde possui o download do mesmo. Lembrando o trafego dos Proxy geralmente não estão relacionados a porta padrão de navegação http (80) geralmente eles tentam acessar por outras portas disponíveis assim como a porta 443 onde todo o trafego é criptografado. Passo 4 Efetuado a configuração do firewall bloqueando e liberando o que é necessário de acordo com as características e pedidos do ambiente da produção onde está sendo preparado, como já foi repassado anteriormente o foco é o bloqueio dos softwares de bular bloqueio

35 Neste passo iremos configurar e rodar um script escrito por Walter T. Nakamura (walteen) e adaptado para este ambiente de produção, neles foram efetuadas configurações para o Tor e Proxy que burlam bloqueios de firewall. vim /usr/local/bin/web_proxy.txt -----------INICIO---------------- IPs dos Web proxy HTTPS -------------FIM----------------- vim /usr/local/bin/iptor.sh #!/bin/bash iptables -D FORWARD -j TOR_BLOCK iptables -D TOR_BLOCK -j RETURN iptables -F TOR_BLOCK iptables -X TOR_BLOCK iptables -D FORWARD -j WEB_PROXY iptables -D WEB_PROXY -j RETURN iptables -F WEB_PROXY iptables -X WEB_PROXY # Especifica a URL que contém os nós das conexões do Tor url='https://www.dan.me.uk/torlist/' # Cria a chain TOR_BLOCK iptables -N TOR_BLOCK iptables -N WEB_PROXY # Vincular a chain TOR_BLOCK a diretriz FORWARD iptables -I FORWARD -j TOR_BLOCK iptables -I FORWARD -j WEB_PROXY # Limpa as regras do TOR_BLOCK iptables -F TOR_BLOCK iptables -F WEB_PROXY # Retorna a chain principal caso a origem não seja um no de saída do TOR: iptables -I TOR_BLOCK -j RETURN iptables -I WEB_PROXY -j RETURN # Baixa a página HTML da url especificada e salva como 'tornodelist' wget -N -O tornodelist $url # Referencia o nome do arquivo na variável 'file' file='tornodelist' # Remove as entradas duplicadas, gerando um novo arquivo 'tornodelist2' cat $file uniq > tornodelist2 # Referencia o arquivo tornodelist2 na variável file file='tornodelist2' # Le o arquivo e armazena na chain TOR_BLOCK os nós de conexão do TOR, marcando os pacotes no log com o prefixo "=TorProxy= " # para facilitar a identificação dos pacotes pelo fail2ban. Caso não queira utiliza-lo, coloque apenas -J DROP.

36 while read line do node=$line iptables -I TOR_BLOCK -d $node -j DROP done < $file I='/usr/local/bin/web_proxy.txt' while read line do IP=$line iptables -I WEB_PROXY -d $IP -j DROP done < $I chmod +x /usr/local/bin/iptor.sh 12:15 hs): Adicione ao Crontab para atualizar a lista de IPs semanalmente (Toda Quarta-feira às vim /etc/crontab # Atualiza Semanalmente os IPs do Bloqueio TOR 15 12 * * 3 root /usr/local/bin/iptor.sh Passo 5 Criação de uma página de redirecionamento para quando o usuário receber a mensagem de aviso do bloqueio. Foi adicionado um IP virtual a interface interna do firewall pelo fwbuilder Criar o diretório para o site dentro do firewall: mkdir -p /var/www/bloqueio mkdir -p /var/www/bloqueio/images a2enmod rewrite # Local onde está imagem de aviso make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/200.132.196.57.crt vim /var/www/bloqueio/index.html <html> <head> <title>bloqueio de Software Proxy</title> </head> <body>

37 <center> <img src="images/bloqueio.png"> </center> </body> </html> vim /var/www/bloqueio/.htaccess RewriteEngine on RewriteCond %{SCRIPT_FILENAME}!-f RewriteCond %{SCRIPT_FILENAME}!-d RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(./*) http://%{http_host}/ [R,L] RewriteCond %{HTTPS} on RewriteRule (.*) http://200.132.196.57/ [R,L] Reiniciar o serviço do apache para aplicar as configurações /etc/init.d/apache2 restart Passo 6 Através de testes e visualizações de logs através do tcpdumb se obteve o resultado que o software Ultrasurf começa o teste e varre porta sempre na mesma sequência ou seja, ele tenta se conectar através da porta 443 na faixa 65.49.14.0/24 assim a ideia no ambiente foi colocar uma regra no firewall onde todo o trafego que faz requisição de acesso a essa faixa de ip ele cria um log. Este log precisa ser criado com prefixo (--log-prefix =UltraSurf= ), pois o Fail2bain irá varrer o log a procura do prefix =UltraSurf= é será executada a ação. Desta maneira poderá ser analisada e bloqueada qualquer tipo de software/proxy que tentar fazer algum tipo de tentativa de burlar o firewall.

38 Figura 12 - Tela de configuração do Fwbuilder Fonte: Elaborado pelo autor Passo 7 Instalação fail2ban apt-get install fail2ban /etc/init.d/fail2ban stop Alterar o arquivo jail.conf desabilitando todas as análises de log padrões que vem com o software (a princípio o único que vem habilitado é o do ssh, os demais já estão desabilitados, mudar de enabled = true para enabled = false. vim /etc/fail2ban/jail.conf [ssh] enabled = false port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6 Ultrasurf: Editar o arquivo jail.conf adicionando a análise do log do iptables filtrando pelo vim /etc/fail2ban/jail.conf # Nome do Filtro e ativacao [ultrasurf] enabled = true # Filtro Usado - criado filter.d filter = ultrasurf

39 # Filtrar todas as portas port = all # Direciona para o arquivo de ações para realizar caso o usuário seja pego usando o Ultra Surf banaction = iptables-ultrasurf # Diz onde está o log de acesso que o IPTables está registrando logpath = /var/log/messages # Número maximo de tentativas de conexão. maxretry = 1 # Tempo que o IP ficara na regra de bloqueio em segundos bantime = 1020 Criar as pastas para melhor organização do bloqueio de cada software proxy e criar o script que fará um bloqueio inicial de 2 minutos do IP para derrubar a conexão já estabelecida pelo Ultrasurf: mkdir -p /etc/fail2ban/ultra mkdir -p /etc/fail2ban/ultra/ip vim /etc/fail2ban/ultra/tempo.sh iptables="/sbin/iptables" data=`date --date="+3 hours" +"%H:%M:%S"` datab=`date --date="+3 hours +2 minute" +"%H:%M:%S"` I=$(cat /etc/fail2ban/ultra/ip/ip.txt) echo $I >> /etc/fail2ban/ultra/ip/ip`date +%H%M%S`.txt iptables -I fail2ban-ultrasurf 1 -s $I -m time --timestart $data --timestop $datab --weekdays Sun,Mon,Tue,Wed,Thu,Fri,Sat --datestop 2038-01-19T01:14:07 -j REJECT chmod +x /etc/fail2ban/ultra/tempo.sh Criar a regra que será usada na banaction: vim /etc/fail2ban/action.d/iptables-ultrasurf.conf [Definition] actionstart = iptables -N fail2ban-<name> iptables -t nat -N fail2ban-<name> iptables -A fail2ban-<name> -j RETURN iptables -t nat -A fail2ban-<name> -j RETURN iptables -I INPUT 1 -j fail2ban-<name> iptables -I FORWARD 1 -j fail2ban-<name> iptables -t nat -I PREROUTING -j fail2ban-<name> actionstop = iptables -D FORWARD -j fail2ban-<name> iptables -D INPUT -j fail2ban-<name> iptables -t nat -D PREROUTING -j fail2ban-<name> iptables -F fail2ban-<name> iptables -t nat -F fail2ban-<name> iptables -X fail2ban-<name> iptables -t nat -X fail2ban-<name> actioncheck = iptables -n -L FORWARD grep -q fail2ban-<name> iptables -n -L INPUT grep -q fail2ban-<name>

40 actionban = echo "<ip>" > /etc/fail2ban/ultra/ip/ip.txt./etc/fail2ban/ultra/tempo.sh iptables -I fail2ban-<name> -s <ip> -d 200.132.196.57/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -I fail2ban-<name> -s <ip> -d 200.132.196.57/32 -p tcp -m tcp --dport 80 -j ACCEPT iptables -t nat -I fail2ban-<name> 1 -i eth4 -s <ip> -p tcp -d 0.0.0.0/0 -j DNAT --to-destination 200.132.196.57 actionunban = iptables -t nat -D fail2ban-<name> -i eth4 -s <ip> -p tcp -d 0.0.0.0/0 -j DNAT --todestination 200.132.196.57 iptables -D fail2ban-<name> -s <ip> -d 200.132.196.57/32 -p tcp -m tcp --dport 443 -j ACCEPT iptables -D fail2ban-<name> -s <ip> -d 200.132.196.57/32 -p tcp -m tcp --dport 80 -j ACCEPT [Init] name = ultrasurf fwbuilder: Criar filtro que será usado para buscar no log do iptables o prefixo criado no log pelo vim /etc/fail2ban/filter.d/ultrasurf.conf [Definition] failregex = (.*)=UltraSurf=(.*) SRC=<HOST> ignoreregex = Criar script para limpar "lixo" dos arquivos dos IPs e reiniciar sempre o Fail2ban para limpar regras de um dia para outro: vim /etc/fail2ban/reinicia.sh rm -rf `find /etc/fail2ban/ultra/ip/ -iname "*.txt"` rm -rf `find /etc/fail2ban/hot/ip/ -iname "*.txt"` /etc/init.d/fail2ban restart chmod +x /etc/fail2ban/reinicia.sh Agendar para rodar script todo dia a 01:05 hs: vim /etc/crontab # Limpa "Resto de IPs" e Reinicia Serviço do Fail2ban 5 1 * * * root /etc/fail2ban/reinicia.sh /etc/init.d/fail2ban start Desde forma já se tem início em bloqueio de qualquer equipamento que estiver efetuado conexões via Tor e também via UltraSurf, precisa ser lembrado que cada vez que foi efetuar manutenção em seu firewall terás que executar o script do Tor e também reiniciar o fail2bain para que o mesmo volte em seu funcionamento atualizado.