SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Faculdade Eniac 
Graduação Tecnológica em Tecnologia de Redes de Computadores 
Adriano José dos Santos 
Luan Moreno 
Segurança Em Redes Linux- SRL 
Servidores Críticos 
Guarulhos 
2013
Segurança Em Redes Linux- SRL 
Servidores Críticos 
Trabalho de Conclusão de Curso apresentado à Faculdade Eniac, como requisito parcial para a obtenção do título de Graduação Tecnológica em Tecnologia de Redes de Computadores 
Orientador: Prof. Andreia Pereira 
Guarulhos 
2013
Dedico este TCC a minha Família, pois sem a união e apoio não seria possível acreditar no melhor que podemos alcançar.
Agradeço primeiramente a Deus e as pessoas que nos incentivaram ao longo desta trajetória da vida.
“Você pode encarar um erro como uma besteira a ser esquecida ou como um resultado que aponta uma nova direção.” 
Steve Jobs
Sumário 
Introdução .......................................................................................................................................... 8 
1. A Internet ................................................................................................................................. 10 
1.1 O TCP/IP e a Internet .......................................................................................................... 11 
1.2 Um breve histórico ............................................................................................................... 12 
2. Segurança em Redes ................................................................................................................ 13 
2.1 O que é segurança na rede ................................................................................................ 13 
2.2 Criptografias ......................................................................................................................... 14 
2.3 Sistemas de Detecção de Invasão .................................................................................... 18 
2.4 Ataques e segurança .......................................................................................................... 21 
2.5 Mecanismo de segurança .................................................................................................. 22 
3. Segurança com servidores Linux ............................................................................................ 24 
3.1 História do Linux .................................................................................................................. 24 
3.2 Servidores Linux .................................................................................................................. 24 
3.3 Servidores de rede local ..................................................................................................... 25 
3.4 Servidores de internet ......................................................................................................... 26 
4. Firewall......................................................................................................................................... 27 
4.1 Níveis de segurança ............................................................................................................ 28 
4.2 Configurações de um Firewall no Linux ........................................................................... 28 
4.3 Filtragens de pacotes .......................................................................................................... 29 
5. Servidor Proxy Squid ................................................................................................................. 30 
5.1 Configuração Proxy Squid .................................................................................................. 30 
6. Políticas de Segurança ............................................................................................................. 32 
6.1 Procedimentos de segurança ............................................................................................ 33 
7. Revisão Bibliográfica ................................................................................................................. 34 
8. Conclusão ................................................................................................................................... 35
9. Referências Bibliográficas ........................................................................................................ 36 
10. Anexos ....................................................................................................................................... 37 
10.1 Arquivo de configuração de um Firewall (Iptables) ..................................................... 37 
10.2 Arquivo do de configuração do Proxy (Squid)............................................................... 45 
11. Termo de compromisso e responsabilidade ........................................................................ 50
8 
Introdução 
Trata-se de um trabalho de conclusão de curso como requisito parcial para obtenção de titulação em tecnólogo do curso de Tecnologia Redes de Computadores. O tema deste estudo foi escolhido em função do grande crescimento da internet e a falta de segurança. A que hoje em dia é fundamental para que os computadores e servidores estejam protegidos para combater invasões e outros tipos de ameaça. Ameaças como as de spam, vírus e hackers são muito comum em redes internas e externas, e sem conhecimento adequado e com ferramentas adequadas fica praticamente impossível detectar e eliminar algo do gênero. 
O problema que as empresas andam sofrendo hoje em dia é a falta de segurança dentro da rede local, ocasionando problemas como ataques por de hackers e grandes problemas com acesso indevido do próprio usuário que infringem regras de política de segurança da empresa constantemente e com isso prejudicando e expondo e dados que ficam armazenados e a integridade da empresa, também mais um dos grandes problemasé sem dúvida obter o controle e impedir acessos a sites indesejáveis, poremfuncionários diariamente esta diariamenteacessando sites que não são de conduta da empresa com isso ocasionando em certos momentos do dia lentidão da internet e insegurança contra vírus. 
O projeto é sobre implantação de segurança por meio de servidores com sistema operacional Linux aonde serão instalado alguns serviços que tem um ponto muito forte na segurança com aplicações como o Firewall (Iptables) e Proxy (Squid), com esses serviços citados e mais alguns é possível obter ponto muito positivo para uma rede, assim teremos grande controle para rede local e rede externa e diminuindo a vulnerabilidade acabando com problemas já citados anteriormente, Além de tudo e primordial ter controle de todo e qualquer acesso aos sites visualizados, impedindo o uso indevido e tendo controle do que os funcionários da empresa estão acessando em tempo real assim mesmo bloqueando e limitando certos sites como (facebook,uol,terra,globo,etc). 
É importante fazer levantamentos de quais problemas, ou seja, quem poderá ter acesso total ou quem vai ter acesso limitado para utilizar a internet, também será levantado como e o que os hackers estão invadindo.
9 
Esse projeto é de alta relevância para toda e qualquer empresa, pois nossa rede interna até o momento não tem uma segurança adequada impedindo que hackers tentem invadir a mesma, e também não temos controle diário dos sites que os funcionários estão acessando com a implantação dos servidores esses problemas serão controlados. O objetivo é implantar servidores Linux para ter controle de sites acessados por funcionários diariamente, e assim bloqueando tudo que não faz parte da política da empresa e também vamos trabalhar para deixar a rede interna da empresa com segurança evitando que hackers tentem invadir a mesma. Nosso objetivo é ter esses controles para posteriormente não temos problemas com invasões e também para que nossa internet não sofra com lentidão por uso indevido dos funcionários. O intuito da pesquisa é apresentar uma visão ampla sobre a importância da segurança em rede e como implantá-la, além de apresentar os diversos tipos de ameaças às quais uma organização está sujeita na internet e no dia a dia.
10 
1. A Internet 
A internet não é de modo algum uma rede, mais sim um conjunto vasto de redes diferentes que trabalham com protocolos comuns e também fornecem certos serviços. Também é um sistema usual no sentindo de não ter tido um planejamento adequado e não possui um controle adequado por ninguém. Através da internet podemos fazer muitas coisas e temos vários recursos aonde citaremos alguns. (TANENBAUM ANDREW, 2001) 
 Trocar correspondências com qualquer pessoa dentre os milhões de usuários na rede espalhados pelo mundo; 
 Discutir assuntos específicos com grupos de pessoas que têm os mesmos interesses; 
 Obter programas e arquivos de textos, imagens, sons, animação e vídeos; 
 Ter acesso a banco de dados, notícias de jornais, dados financeiros, boletins meteorológicos, entre outros; 
 Fazer pesquisas bibliográficas; 
 Navegar em páginas com informações sobre empresas ou pessoas; 
 Divertir-se em sites de entretenimento; 
 Fazer compras ou requisitar serviços; 
A internet pode parecer estranha mais não possui um dono, ou seja, não existi uma pessoa que possa dizer que é proprietária, a internet pertence a todos que estejam conectados nela. Dessa forma, na internet cada um é responsável pela parte que utiliza. (TANENBAUM ANDREW, 2001)
11 
1.1 O TCP/IP e a Internet 
Ajunção de protocolos TCP/IP foi criadapropriamente para ser um protocolo utilizado diretamente na Internet, e tem como característica principal o suporte direto a comunicação de redes de diferentes tipos. Neste caso a arquitetura do TCP/IP é independente da infra-estrutura de rede física ou lógica usada. Efetivamente, toda tecnologia de rede pode ser empregada como meio de transporte dos protocolos TCP/IP. O protocolo TCP/IP e a internet compartilham junta uma história que retrocede a várias décadas. 
O sucesso da internet se deve em grande parte do design elegante do TCP/IP e ao fato que ele é uma família de protocolos aberta e não proprietária. Por outro lado, a alavancagem fornecida pela internet ajudou o TCP/IP prevalecer sobre várias famílias de protocolo concorrentes que foram favorecidas num momento ou em outro por razoes políticas e comerciais. (EVI NEMETH, 2004) 
Os protocolos e o modelo TCP/IP também tiveram os seus problemas. Em primeiro lugar, o modelo não diferencia com a necessária clareza os conceitos de serviço, interface e protocolo. A boa pratica da engenharia de software exige uma diferenciação entre especificação e implementação algo que o OSI faz com muito cuidadoao contrário do TCP/IP. Consequentemente, o modelo TCP/IP não é o melhor dos guias para criação de novas redes com base em novas tecnologias. Em segundo lugar, o modelo TCP/IP não é nem um pouco abrangente e não consegue descrever outras pilhas de protocolos que não a pilha TCP/IP. Por exemplo, seria praticamente impossível tentar descrever a Bluetooth usando o modelo TCP/IP. Em terceiro lugar, a camada host/rede não é realmente uma camada no sentido que o termo é usado no contexto dos protocolos hierarquizados. Trata-se na verdade, de uma interface (entre as camadas de rede e de enlace de dados). A distinção entre uma interface e uma camada é crucial e você deve considerá-la com cuidado. Em quarto lugar o modelo TCP/IP não faz distinção (nem sequer menciona) entre as camadas física e de enlace de dados. Elas são completamente diferentes. A camada física está relacionada ás características de transmissão do fio de cobre, dos cabos de fibra óptica e da comunicação sem fio. A tarefa da camada de enlace de dados é delimitar o início e o final dos quadros e enviá-los de um lado ao outro com o grau de confiabilidade desejado. Um modelo mais adequado deve incluir as duas camadas como elementos distintos, modelo TCP/IP não faz isso”. Tanenbaum, Andrew, (2001)
12 
1.2 Um breve histórico 
A internet foi desenvolvida a muito tempo atrás com intuito de pesquisa destinadas a bases militares dos estados unidos, daí então após guerra a ArphaNet não foi mais útil para utilização dos mesmos ocasionando acesso a cientistas que mais tarde disponibilizaram a rede para universidades e assim repassando a outras universidades do mundo todo, foi por esse meio que a rede internet passou a ser utilizada por usuários domésticos até chegar a grande quantidade de mais de 5 milhões de acesso e assim mais e mais usuários se conectavam com a rede que gerou uma comunicação mundial. Assim que a World Wide Web nasceu e veio à tona tudo ficou mais bonito e atraente atraindo cada vez mais utilizadores chamados de internautas, com seu conteúdo grande e abrangente disponibilizou tecnologias com diversos sistemas que pode gerar um ambiente que contem endereço próprio e que e possível ser encontrado por qualquer usuário que esteja conectado na rede, isso e a internet de todos que de fato e um mundo sem fim que cresce cada dia mais e mais, em termos de segurança não pode ser deixada de lado pois como tudo tem seu lado bom e ruim. 
A internet não é um produto da Microsoft ou de outra empresa do tipo, O progenitor da internet moderna foi uma rede chamada ARPNET estabelecida em 1969 pela DARPA (Defence Advanced Research Agency), o braço de P&D do Departamento de Defesa dos Estados Unidos. A ARPANET tornou-se eventualmente o backbone NFSNET que conectava em vários pontos denominados peer. (NEMETH, 2011).
13 
2. Segurança em Redes 
Com a popularização da internet, a proteção da privacidade se tornou extremamente importante para cada cidadão, pois os seus dados pessoais trafegam na internet, e podem ser invadidos. Criptografia é a chave que permite solucionar tecnologicamente este problema. Para tornar seguro o comércio eletrônico há necessidade de se ter criptografia de alto nível, tanto de segurança como de eficiência, nas várias plataformas. Os algoritmos de chave pública vêm resolver os problemas de autenticação e integridade.Além disso, um problema ocorrido na criptografia de chave simétrica (apresenta a mesma chave para cifrar e decifrar) é resolvido, pois, propõem um modelo onde são utilizadas duas chaves, uma para cifrar outra para decifrar. Com a modernização dos sistemas surgiu possibilidade da criação de assinatura digital, assim usando o que cada pessoa tem como único como as digitais, leitura da retina, leitura facial além de outros métodos eletrônicos. 
2.1 O que é segurança na rede 
Conforme James F. Kurose& Keith W. Ross (2005), a Segurança em redes tem como foco proteger a comunicação entre dispositivos, assim assegurando que a informação não seja alterada ou vista por quem não deveria. Com isso foi adotado o método de criptografar/criptar as informações. Suponhamos que exista dois roteadores que precisam se comunicar com segurança, eles são roteador 01 e roteador 02. O roteador 01 quer que suas informações sejam entendidas apenas pelo roteador 02, onde os dois estão se comunicando por uma rede insegura, á internet. O roteador 02 quer ter certeza que a informação que chegou a ele, foi de fato enviada pelo roteador 01 e vice e versa, além de precisarem saber se a informação transmitida é integra, que não tenha sido alterada no caminho. O fundamental para que tudo isto ocorra é ter certeza que os dispositivos possam realmente se comunicar garantindo que não tenha nada que possa negar essa transição de informação. A seguir os principais itens desejáveis para uma comunicação segura:
14 
Confidencialidade: Somente quem enviou e recebeu a informação é quem deve interpretar, pois essa informação poder ser interceptada no caminho, então por isso a informação deve estar criptografada e somente quem tem a chave deve decifrar a informação. 
Autenticação do ponto final: A autenticação é quem vai envolver o roteador 01 e 02 em uma rede segura além de garantir a identidade de ambos as partes, assim confirmando ser quem realmente diz que é. 
Integridade de mensagens: Mesmo que haja uma comunicação entre as partes onde a autenticação foi estabelecida, eles também querem assegurar que o conteúdo de sua comunicação não seja alterado, por acidente ou intencional, durante a transmissão. Para proporcional uma maior integridade na mensagem podem ser utilizados protocolos na camada de transporte e de enlace, assim são utilizadas técnicas de verificação de pacotes. 
Segurança operacional: Se falando de organizações, sabemos que possuem redes conectadas à Internet. Essas redes podem ser comprometidas potencialmente por atacantes que ganham acesso a essas redes por meio da rede pública a internet. Esses atacantes podem inserir Worms nos hospedeiros na rede, e então adquirir segredos corporativos, mapear as configurações da rede interna e lançar ataques DoS. Para este problema são implementados Firewall e sistemas de detecção de invasão realizada na inspeção dos pacotes, o Firewall localizado entre a rede local e a Internet pode barrar e alertar um administrador se a alguma suspeita. 
2.2 Criptografias 
Segundo James F. Kurose & Keith W. Ross (2005), a criptografia já são usadas a muitos anos, para proteger nossas informações, até nos dias de hoje métodos utilizados a anos, ainda estão inseridos nos sistemas. Como a Cifra de César, que substitui as letras para esconder a informação, o nome do métodos foi uma homenagem ao Júlio César que usou esta pratica para se comunicar com os generais. Como grande parte dos estudos tecnológicos, a criptografia teve uma grande evolução na guerra. A Cifra de César é o método de trocar uma letra por
15 
outras, assim tornando ilegível para quem interceptar a informação, como todo método de cifrar, pode ser decifrado. Existem duas situações que podem ser consideradas ao decifrar o código de Cesar: O interceptador conhece ou adivinha que algum tipo de cifra de substituição simples foi utilizado, mas não especificamente que é um código de César; O interceptador sabe que é a Cifra de César que foi utilizada para esconder a mensagem e pode tentar descobrir o valor de troca das letras, seguindo o alfabeto são 26 letras a serem decifradas. Figura 1: Código de César com chave de 3 unidades 
(Fonte: Wikipédia) 
As técnicas de Criptografia permitem que o remetente modifique os dados de forma que um elemento não autorizado tenha acesso a informação que foi interceptada. Muito se evoluiu desde os códigos de encriptação usados na antiguidade até os dias de hoje. No entanto, até a década de 1970, um conceito se manteve firme entre os diversos métodos propostos. A mesma chave era usada para esconder e para revelar os dados. É o que chamamos de criptografia simétrica. Com a evolução desse paradigma de criptografia ao longo dos séculos, hoje temos mecanismos seguros e eficientes, como o 3DES (Triple Data Encryption Standard) e o AES (Advanced Encryption Standard), que são os algoritmos base para os protocolos usados.Hoje os protocolos mais usados para proteção de dados na Internet, é o SSL (Secure Sockets Layer) e o TLS (TransportLayer Security) utilizam a criptografia simétrica para proteger os dados transmitidos e armazenados. No entanto, a criptografia simétrica possui um desafio conceitual importante e impossível de ser resolvido. Esse processo exige duas chaves de acesso para decifrar os dados, uma está com que emite o dado e a outra deve estar com quem vai receber, para que assim ela possa decifrar o que foi codificado do outro lado. Para uma comunicação
16 
feita entre dois locais fixos que sempre vão estar se comunicando esse método é eficaz, pois a troca da chave é feita no primeiro contato. 
Figura 2: Esquema de funcionamento da criptografia simétrica 
(Fonte: GTA.UFRJ) 
Mas se tratando da comunicação feita através de duas pessoas na internet, esse método não seria viável, pois não teria como uma enviar para outra a chave de acesso. Para este caso a solução foi encontrada na criptografia assimétrica, na qual utiliza-se duas chaves distintas, mas que se complementam. Por essa propriedade, dá-se o nome de par de chaves, que é composto pela chave pública e pela chave privada. A chave pública é liberada para todos que desejam se comunicar com o emissor da chave enquanto a chave privada fica em poder de quem a emitiu.Assim a Pessoa que envia a mensagem codifica a os dados com uma chave pública, e quem recebe decodifica com a chave privada. Com esta técnica apenas quem possui a chave privada poderá ter acesso a informação. Uma desvantagem dos algoritmos de criptografia assimétrica existentes é o seu desempenho, que são algumas dezenas de vezes mais lentos que os métodos simétricos. Sendo assim, na prática, a criptografia assimétrica é utilizada para definir uma chave de sessão, que será utilizada na criptografia simétrica durante a comunicação. Esse é o funcionamento dos protocolos SSL e TLS, usados largamente na Internet. No entanto, na criptografia assimétrica, as chaves públicas podem ser forjadas, fazendo com que o emissor não obtenha a chave pública correta do destinatário. Para solucionar esse problema, os engenheiros da Internet. Criaram a figura da Autoridade Certificadora, que funciona como um cartório, autenticando as chaves públicas das pessoas. É essa autenticação da chave pública do seu banco, por exemplo, que faz o seu navegador exibir o singelo cadeado de segurança, fazendo com que você saiba que o site é mesmo do banco e não de um criminoso.
17 
Além do uso tradicional da criptografia para manter a confidencialidade dos dados, como mostrado até aqui nesse artigo, a criptografia possui outras finalidades no mundo dos computadores. Através da criptografia, pode-se implementar técnicas de garantia de integridade dos dados e de autenticação das mensagens. A garantia de integridade garante que se um dado for modificado, essa modificação é detectada, informando ao destinatário que a mensagem foi comprometida. Já a autenticação das mensagens é o que comumente chama-se de assinatura digital. Tal técnica permite garantir que uma mensagem veio de quem diz ser o remetente. Para garantir a origem, basta que o emissor codifique a mensagem utilizando a sua chave privada. Assim, todos terão certeza que foi realmente aquele emissor quem enviou a mensagem. 
- Chave particular: a metade secreta de um par de chaves criptográficas que é usada com um algoritmo de chave pública. As chaves particulares são usadas para decriptografar uma chave de sessão simétrica, assinar dados digitalmente ou decriptografar dados que foram criptografados com a chave pública correspondente. 
- Chave pública:a metade não secreta de um par de chaves criptográficas que é usada com um algoritmo de chave pública. As chaves públicas normalmente são usadas ao criptografar uma chave de sessão, verificar uma assinatura digital ou criptografar dados que possam ser decriptografados com a chave particular correspondente. 
- Autenticação do destino: visa esconder informações sigilosas das pessoas que controlam as linhas de comunicação e os computadores intermediários (provedores). 
- Integridade de informação: busca evitar que um mal-intencionado leia e altere parte da informação transitando na linha de comunicação antes de chegar ao destino, ou seja, o destinatário gostaria de detectar se alguma alteração parcial foi feita na linha. 
- Autenticação da origem: é como evitar que um falso usuário (origem) envie uma informação para destinatário, ou seja, o destinatário deseja ter certeza que foi o usuário verdadeiro que enviou a informação. 
- Integridade de banco de dados: é como evitar que alguma pessoa desautorizada leia as informações já enviadas e armazenadas no computador do destinatário.
18 
- Detecção de integridade de informação: evita que alguma pessoa desautorizada leia e altere as informações já enviadas e armazenadas no computador do destinatário. 
Outra aplicação da criptografia pode ser vista em redes privadas virtuais. Em uma VPN existe um túnel criptográfico entre duas ou mais redes que estão conectadas utilizando como meio uma rede pública. 
Uma VPN usa protocolos de criptografia por tunelamento que fornecem a confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações, possibilitando comunicações seguras através de redes inseguras. 
2.3 Sistemas de Detecção de Invasão 
Para Coulouris, Dollimore, Kindberg, (2007), quando falamos em segurança da informação, existem equipamentos e softwares essenciais para uma rede como Antivírus e Firewall, com eles conseguimos o mínimo de segurança para a comunicação de uma rede interna a uma rede externa. Com o Firewall podemos implementar políticas de segurança, onde será controlado tudo que entra e sai da rede, assim impedindo a entrada do que não está autorizado. A ferramenta utilizada para monitorar o tráfego da rede e para detectar e alertar sobre ataques e tentativas de acessos indevidos chama-se IDS (Sistema de Detecção de Intrusos). Na grande maioria das vezes não bloqueia uma ação, mas verifica se esta ação é ou não uma ameaça para um segmento de rede. Conforme Uchôa (2005), o complemento do IDS, o IPS (Sistema de Prevenção de Intrusos), tem a capacidade de identificar uma intrusão, analisar a relevância do evento e bloquear determinados eventos, fortalecendo assim a técnica de detecção de intrusos. O IPS usa a capacidade de detecção do IDS juntamente com a capacidade de bloqueio de um Firewall, notificando e bloqueando de forma eficaz ações suspeitas ou indevidas em diversos pontos de uma arquitetura de rede, sendo considerada uma das ferramentas de segurança de maior abrangência. O IPS atua na camada de monitoramento, mas pode ser configurado para gerar ações de bloqueio, de forma que, pode atuar também na camada de controle de acesso ao sistema. O IDS e IPS devem ser
19 
configurados de forma a reduzir o número de falsos positivos facilitando a análise dos dados coletados. Configurado de forma incorreta, um IPS pode bloquear tráfego legítimo. O IDS no seu sentido mais restrito se refere a aplicativos capazes de alertar sobre 45 tentativas de invasão, como o aplicativo Snort, e em um sentido mais amplo, também monitorar a integridade do sistema, como os aplicativos AIDE ou o Tripwire. 
Alguns aplicativos utilizados para detecção de intrusos, são capazes de desenvolver análise de tráfego e registro de pacotes em tempo real. Estes aplicativos analisam protocolos, buscam e associam padrões de conteúdo e podem ser usados para detectar uma variedade de ataques. O Snort e o LIDS (Sistema de Detecção de intrusos do Linux) são algumas ferramentas que merecem destaque. De acordo com Uchôa (2005), o Snort possui uma base de assinaturas bastante completa e exige pouco esforço computacional da máquina onde é instalado. Já o LIDS, adiciona novas funcionalidades ao kernel do Linux para detecção de intrusos aumentando a segurança do sistema. Porém, para sua utilização, é necessária a recompilação do kernel. A grande parte dos sistemas comerciais de detecção de intrusão é baseada em rede.Nesse tipo de IDS os ataques são capturados e analisados através de pacotes de rede. Ouvindo um segmento de rede, o NIDS pode monitorar o tráfego afetando múltiplas estações que estão conectadas ao segmento de rede, assim protegendo essas estações. Os NIDS também podem consistir em um conjunto de sensores ou estações espalhados por vários pontos da rede. Essas unidades monitoram o tráfego da rede, realizando análises locais do tráfego e reportando os ataques a um console central. As estações que rodam esses sensores devem estar limitadas a executar somente o sistema de IDS, para se manterem mais seguras contra ataques. Muitos desses sensores rodam num modo chamado "stealth", de maneira que torne mais difícil para o atacante determinar as suas presenças e localizações. 
Segundo BECE, podemos destacar as vantagens do IDS baseados em rede: 
A implementação de um NIDS tem pouco impacto sobre a performance da rede. Eles geralmente ficam em modo passivo, apenas escutando o tráfego da rede sem interferir no seu funcionamento. NIDS bem posicionados podem monitorar uma
20 
grande rede. Os IDSs baseados em rede podem ser muito seguros contra a maioria dos ataques, além de ficarem invisíveis aos atacantes. 
E também as desvantagens: 
Os NIDS podem ter dificuldade em processar todos os pacotes em uma rede que possua um grande tráfego de dados. Eles não podem analisar o tráfego de informações criptografadas Esse problema vem aumentando em função da utilização de VPNs pelas organizações (e pelos atacantes também). Muitas vantagens dos NIDSs não se aplicam mais as modernas redes baseadas em switches. Os switches dividem as redes em pequenos segmentos (usualmente uma estação por porta) e provêm ligações lógicas diretas entre as estações no mesmo equipamento. A maioria dos switchs não tem um sistema de monitoramento de portas e isso limita ao NIDS apenas analisar uma estação. Mesmo que o switch possua o recurso de monitoramento, apenas uma porta não poderá receber todo o tráfego passando pelo equipamento. A maioria dos NIDSs não pode reconhecer se um ataque foi bem sucedido. Eles apenas apontam que um ataque foi iniciado. Dessa maneira eles apenas detectam um ataque, sendo que o administrador de sistemas deve verificar se o host apontado foi atacado. Alguns IDSs baseados em rede têm problemas em lidar com pacotes de dados fragmentados. Esses tipos de pacotes podem até tornar um NIDs instável ou mesmo travar o seu funcionamento. 
Os HIDSs operam sobre informações coletadas em computadores individuais. Através disso os HIDs podem analisar as atividades das estações com confiança e precisão, determinando exatamente quais processos e usuários estão envolvidos em um tipo particular de ataque no sistema operacional. Além disso, ao contrário dos sistemas baseados em rede, os baseados em host (estação) podem ver as conseqüências de uma tentativa de ataque, como eles podem acessar diretamente e monitorar os arquivos e processos do sistema usualmente alvos de ataques. Alguns HIDSs suportam um gerenciamento centralizado e relatórios que podem permitir que um apenas um console possa gerenciar várias estações. Outros geram mensagens em formatos que são compatíveis com os sistemas de gerenciamento de redes. 
Segundo BECE, podemos descrever as vantagens dos IDSs baseados em host:
21 
Esse tipo de IDS tem a capacidade de monitorar eventos locais de um host, podendo detectar ataques que não poderiam ser detectados por um IDS de rede. Eles podem operar em um ambiente onde o tráfego de rede é criptografado, a informação é analisada antes de ser criptografada na origem, ou depois de ser decriptada no destino. Quando o IDS de host opera em nível de sistema operacional, ele pode ajudar a detectar 'Trojan Horses' ou outros tipos de ataques que envolvam problemas de integridade nos programas. 
E também as desvantagens: 
Esse tipo de IDS é difícil de se gerenciar porque cada host monitorado precisa ser configurado. Como as informações utilizadas para análise do HIDS estão armazenadas no host, um atacante pode invadir o sistema e desabilitar essas funcionalidades. Os HIDSs não podem reconhecer ataques que sejam destinados a rede inteira porque apenas conseguem monitorar os pacotes de redes recebidos pelo próprio host. Um IDS baseado em host consome recursos de processamento do host monitorado, influenciando na sua performance. 
2.4 Ataques e segurança 
No entendimento de Uchôa (2005), o monitoramento de arquivos de registro é importante para identificar falhas em serviços, tentativas de invasão e ações anormais no sistema. Toda política de segurança deve ser implementada a partir de um estudo que engloba toda a rede, softwares, hardwares, periféricos e até a cultura da empresa. Também é importante configurar o nível de detalhamento de registro das informações de acordo com a necessidade da empresa e criticidade do serviço. Existem utilitários, como o logwatch, que permitem informar ao superusuário através de e-mail sobre registros ligados à segurança do sistema. 
É importante inspecionar arquivos de registro para verificar atividades suspeitas. Por exemplo, nos arquivos de registro podem ser encontrados IP's que não deveriam estar acessando a rede, ou registro de atividades suspeitas em horários incomuns. Um atacante pode camuflar uma invasão substituindo arquivos de registro de um computador. Para identificar ações realizadas pelo atacante, o administrador deve
22 
utilizar ferramentas de verificação de integridade. 
2.5 Mecanismo de segurança 
O SNORT é uma ferramenta NIDS desenvolvido por Martin Roesch "open-source" bastante popular por sua flexibilidade nas configurações de regras e constante atualização frente às novas ferramentas de invasão. Outro ponto forte desta ferramenta é o fato de ter o maior cadastro de assinaturas, ser leve, pequeno, fazer escaneamento do micro e verificar anomalias dentro de toda a rede ao qual seu computador pertence. O código fonte é otimizado, desenvolvido em módulos utilizando linguagem de programação C e, junto, com a documentação, são de domínio público. O Snort conta ainda, com o permanente desenvolvimento e atualização, que são feitos diariamente, tanto em relação ao código propriamente dito, como das regras de detecção. Os padrões utilizados na construção das regras de detecção das subversões são introduzidos no sistema de configuração, tão rápido quando são enviados os alertas originados pelos órgãos responsáveis, como por exemplo o CERT, Bugtraq (lista de discussão), entre outros. Por ser uma ferramenta peso leve, a utilização do Snort é indicada para monitorar redes TCP/IP pequenas, onde pode detectar uma grande variedade do tráfego suspeito, assim como ataques externos e então, fornece argumento para as decisões dos administradores. Os módulos que compõe o Snort são ferramentas poderosas, capazes de produzir uma grande quantidade de informação sobre os ataques monitorados, dado que é possível avaliar tanto o cabeçalho quanto o conteúdo dos pacotes, além de disponibilizar, por exemplo, a opção de capturar uma sessão inteira. O Snort monitora o tráfego de pacotes em redes IP, realizando análises em tempo real sobre diversos protocolos (nível de rede e aplicação) e sobre o conteúdo (hexa e ASCII).
23 
Outro ponto positivo desse software é o grande número de possibilidades de tratamento dos alertas gerados. O subsistema de registro e alerta é selecionado em tempo de execução através de argumentos na linha de comando, são três opções de registro e cinco de alerta. O registro pode ser configurado para armazenar pacotes decodificados e legíveis em uma estrutura de diretório baseada em IP, ou no formato binário do tcpdump em um único arquivo. Para um incremento de desempenho, o registro pode ser desligado completamente, permanecendo os alertas. Já os alertas podem, ser enviados ao syslog, registrados num arquivo de texto puro em dois formatos diferentes, ou ser enviados como mensagens WinPopup usando o smbclient. Os alertas podem ser enviados para arquivo texto de forma completa e o alerta rápido. O alerta completo escreve a mensagem de alerta associada à regra e a informação do cabeçalho do pacote até o protocolo de camada de transporte. A opção de alerta rápido escreve um subconjunto condensado de informação do cabeçalho alerta. Por fim, uma última opção desabilita os alertas completamente.Existe também, a possibilidade de utilizar métodos como o Database Plug-in por exemplo, para registrar pacotes em uma variedade de bases de dados diferentes (MySQL, PostgreSQL, entre outros), as quais contam com recursos próprios para efetuar consultas, correlações e dispõem de mecanismos de visualização para analisar dados.
24 
3. Segurança com servidores Linux 
A segurança com servidores Linux hoje e um dos pontos positivos entre os administradores de rede por nos trazer uma segurança muito grande quando falamos em serviços de sistemas críticos, a grande vantagem de trabalhar com servidores Linux que os serviços que podemos utilizar têm como ponto positivo a segurança que comparada a de outros sistemas operacionais não e tão forte quanto aos agregados ao Linux, programas como vírus e outras pragas torna-se inúteis, pois tem sua ação limitada pelas restrições de acesso que existe no sistema de arquivos do Linux, o Linux também e vulnerável a vírus,mas devido a essa separação de privilégios entre processos a segurança prevalece e por isso hoje as empresas estão migrando para servidores com sistema operacional Linux. 
3.1 História do Linux 
O Linux nasceu em 1991 como um projeto pessoal de Linus Torvalds, o Linux e projeto ramificado do antigo Minix, um sistema operacional escrito por Andrew Tanenbaum, de fato o Linux gero para o mundo um grande interesse de estudo e logo seu kernel assumiu vida própria. Apesar de o Linux ter grandes características do UNIX não podemos apontar sua origem para ele, pois o UNIX vem de algumas décadas atrás, o sistema criado foi em 1969 como um projeto de pesquisa no AT&T Bell Labs e em 1976 o UNIX ficou gratuito nas universidades e assim tornou-se base para diversas distribuições. O Linux é desenvolvido e mantido por muitas pessoas ao redor do mundo como programadores, hackers de alguma forma contribuem para manter o kernel gratuitamente. 
3.2 Servidores Linux 
Os servidores Linux hoje em dia nos traz uma grande gama de serviços que podemos usar sem medo de ser feliz, por ser todos softwares livres e distribuídos
25 
pela licença GPL (General Public Licence), sem dizer que temos várias distribuições para escolher, as mais usadas são Debian, CentOS, Fedora, ou RedHat Enterprise, para quem precisa de suporte comercial, Ubuntu. 
De acordo com Morimoto, Carlos, (2008), - Servidores são maquinas que deve ficar ligadas o tempo todo, sempre executando a mesma coisa. Existem vários tipos de servidores, como servidores web, servidores de arquivos, Servidores de impressão, etc. sendo que uma única e exclusivamente máquina pode rodar vários serviços simultaneamente só dependendo da configuração de hardware e da demanda. 
3.3 Servidores de rede local 
De acordo com Tanenbaum Andrew, (2001) – As redes locais que são chamadas muitas vezes de LANS, são exatamente redes privadas para certos lugares como edifícios, campus universitário e empresa. Essa rede local abrange alguns quilômetros de extensão. Elas são amplamente usadas para fazer a conexão de computadores pessoais e estações de trabalho em escritórios e instalações industriais de empresa. Utilizando esse recurso da rede LAN podemos fazer compartilhamento de impressoras e a troca de informações em tempo real. A rede LAN possui três características forte que distinguem de outros tipos de redes: (1) tamanho, (2) transmissão, (3) topologia. A rede Lan tem um tamanho restrito, o que significa que o pior tempo de transmissão é limitado e conhecido com bastante antecedência. Também a rede Lan é composta por cabos que interligam aos computadores com isso diminuindo os erros e mantendo a estabilidade da conexão sempre boas. 
Dentro de uma rede local, tudo começa com o cabeamento, onde você pode empregar uma combinação de rede cabeada e pontos de acesso wireless. As redes cabeadas oferecem como vantagem a velocidade e a estabilidade da conexão, enquanto as redes wireless primam pela praticidade, de forma que o ideal acaba sendo usar uma combinação das duas. (MORIMOTO, CARLOS, 2011)
26 
3.4 Servidores de internet 
Os servidores de Internet são maquinas feitas para controlar o acesso de uma rede ao acesso na Internet, a verificação de segurança baseada em pacotes, portas, mais é feito no através do mesmo. Isto não significa que tais verificações também não sejam feitas em outros locais, como nos firewalls das estações de trabalho. O servidor de internet também pode implementar funções de cache de páginas de internet, log de acessos ou conversas em chats. A principal vantagem de utilizar um computador como servidor de internet é que há uma gama muito maior em termos de serviços disponíveis, o que nem sempre é possível em dispositivos compactos como os roteadores, que também podem fazer o papel de “servidores de internet”, por assim dizer. Hoje em dia, com a popularização do Linux a maior parte dos servidores de internet o utilizam. Além de oferecer maior segurança, é um sistema gratuito com centenas de ferramentas também gratuitas à disposição. A internet e formada por uma malha de cabos de fibra ótica, que interligam praticamente toso os países. Mesmo em locais mais remotos, é possível se conectar via modem, via celular ou algum tipo de rede sem fio de longa distância, ou até mesmo via satélite. A peça central são os roteadores, que interligam diferentes segmentos da rede, formando uma coisa só. Cada roteador conhece os vizinhos, sabe quais redes estão conectadas a eles e sabe escolher o caminho mais curto para cada pacotes de dados (MORIMOTO, 2008, p. 20.)
27 
4. Firewall 
Um servidor com que contém o serviço de Firewall tem como principal função bloquear portas para evitar invasões e ataques de terceiros, pode ser definido como um sistema que controla os pacotes e conexões de rede que passam por ele, seja no sentido de entrada ou na saída Muitos administradores de rede prefere deixar apenas a porta ssh aberta e fechando todas as outras portas e assim abrindo conforme a necessidade da rede interna isso é de grande importância para a segurança da rede interna. Uma definição bem básica diz que o Firewall tem como o principal objetivo proteger uma ou mais redes internas de outras redes. 
Figura 03: Funcionamento Firewall Iptables 
Fonte: Elaborado pelo Autor. 
Agora serão demonstradas algumas regras básicas do Firewall e logo em seguida será demonstrado um script com passo a passo em pleno funcionamento. O comando iptables é o responsável por ler todos os parâmetros que o script pode ter e atualizar os mesmo, no decorrer do script será visto alguns comandos importante como Accept que é quando algum pacote ou ip pode ser aceito na rede, também
28 
tem o comando reject e Drop que é quando algum pacote deve ser bloqueado pelo filtro do iptables assim o mesmo não pode passar para a rede interna. 
A função básica de um firewall em um servidor é bloquear o acesso a portas que não estão em uso, evitando assim a exposição de serviços vulneráveis, ou que não devem receber conexões por parte da internet. (MORIMOTO, CARLOS, 2008), 
4.1 Níveis de segurança 
Os IPTABLES é um dos firewall em software livre mais utilizados, e como ele já vem instalado por padrão, na maioria das distribuições Linux e pelo fato dele ser bom de desempenho, ter um nível de segurança considerável e ser de fácil configuração ele será utilizado para proteger o sistema operacional e a rede. Porem todos os servidores em uma rede deve ser assegurado individualmente e monitorado com ferramentas de segurança como o crack, tcpd, nmap, COPS e tripwire. 
Com a existência dos firewall, nenhum risco estará associado, pois o firewall não permitirá que este serviço seja acessível via rede. Além disso, o firewall registra todos os acessos à máquina melhorando o nível de segurança e rastreabilidade; e ainda pode identificar e bloquear ataques mesmo em algumas portas liberadas, identificando pacotes com formação anômala. (SILVA 2008 p. 201) 
4.2 Configurações de um Firewall no Linux 
Neste Capitulo será apresentada uma estrutura de um Firewall Iptables configurado com base o sistema operacional Linux, ter um bom script de Firewall e muito importante para obter uma rede segura e livre de ameaças, um arquivo de script bem configurado com todas as regras implementadas de forma designada a serviços necessários dentro da rede. As linhas de script abaixo são muito importantes pois verifica tudo que entra e sai da rede, o arquivo e responsável pelo bloquei oi liberação de todo acesso que trafega na rede, todas as configurações são inseridas neste arquivo que fica encarregado por bloquear algum tipo de invasão e sites que não devem ser acessados.
29 
Além de proteger maquinas individuais, o firewall pode ser implementado com algumas precauções de segurança em nível de rede, há três categorias principais de firewall: são eles filtragem de pacotes, proxy de serviço e inspeção de estados. (NEMETH, 2004, p. 504) 
Arquivo de configuração do Firewall movido para Anexo 
4.3 Filtragens de pacotes 
A filtragem de pacotes é relativamente a forma de bloquear ou liberar dados que trafegam em uma determinada rede de uma forma seletiva conforme os dados atravessam uma interface. Os critérios usados são os endereços de origem e destino, porta de origem e destino e protocolo. A filtragem tem suas regras definidas que especificam critérios em que o pacote deve se enquadrar, um Firewall configurado para filtragem de pacotes tem a finalidade de limitar os tipos de trafego que podem passar através de um gateway de Internet ou através de um gateway interno que separa domínios dentro de uma empresa baseando em informações contidas no cabeçalho do pacote. É bem semelhante atravessar um fronteira internacional de carro passando por um posto alfandegário. Se especificado os endereços de destino, números de portas e tipos de protocolos que são aceitáveis, o gateway simplesmente descarta pacotes que não atendem ao perfil preestabelecido (NEMETH, 2004,) 
Em geral, os firewalls configurados para filtragem de pacotes oferecem um aumento muito significativo na segurança e com baixo custo em termos de desempenho ou de complexidade (NEMETH, 2004, p. 504.)
30 
5. Servidor Proxy Squid 
O serviço Squid permite compartilhar a conexão para vários computadores, trabalhando como um intermédio entre os computadores e a internet. Ele faz o trabalho de guardar os cachês mais acessados das páginas web assim deixando a conexão mais rápida, pois o tempo de resposta é mais eficiente. O squid também pode ser utilizado como um servidor Proxy, temos também a conexão via Nat, essa conexão faz com que os computadores da rede acessam a internet diretamente, sem restrições. O Proxy já é diferente ele é mais burocrático ele se limita a passar as requisições antes ele analisa todo o trafego de dados e assim vai separando o que pode ou não pode passar e guardando as informações para usar posteriormente. 
Um servidor Webproxy é capaz de analisar pacotes na camada de aplicativo (camada 7). Isto oferece uma flexibilidade muito maior, porque permite que o trafego dentro de um serviço, como o trafego da porta 80 (http) possa ser filtrado. (RICCI, BRUNO, 2006, p. 02), 
5.1 Configuração Proxy Squid 
O Squid é composto por um único pacote com isso fica mais fácil a configuração e a criação de regras de acesso para segurança da rede local, abaixo temos um configuração completa feita para melhor desempenho em segurança da rede. 
Figura 4: Funcionamento Proxy Web Squid
31 
Fonte: Elaborado pelo autor 
Toda a configuração do squid é feita nesse arquivo. A configuração descrita abaixo está de forma transparente na rede ou seja assim que o serviço e ativado em modo transparente na rede todas as maquinas já estão sendo filtradas pelas regras, lembrando que o proxy trabalha em conjunto com Firewall. 
Arquivo de configuração do Squid movido para anexo
32 
6. Políticas de Segurança 
Política de segurança e um quesito indispensável em qualquer rede, seja ela pequena, média e grande, pois o impacto que traz para possíveis causas de quebra de informações e vulnerabilidade e muito grande quando se diz respeito à usuário e sistemas. Independente das ferramentas que esteja sendo usada para proteção de uma rede é de grande importância uma que haja sempre uma boa política de segurança implantada para minimizar riscos que possa vir a ocorrer, pois de fato boa parte de causas que envolvem vírus, trojans e spywares e falhas nos sistemas e devido ao uso incorreto de usuários sem conhecimento o qualquer tipo de malicia na internet. Decisões relacionadas a políticas de segurança a ser tomada ou não tem que determinar uma grande segurança da rede, porém não e de bom tom que decisões sejam tomadas sem antes ter identificado as metas para segurança. 
Seja lá qual for a política de segurança adotada, ela deve ser explicita, por escrito, entendida e assinada por todos os usuários e administradores de sistemas. O cumprimento da política deve ser consistente, até mesmo quando os usuários são clientes que estão pagando por serviços computacionais. A falha na aplicação de políticas enfraquece sua validade legal e perceptível. (NEMETH, 2004, p. 618.)
33 
6.1 Procedimentos de segurança 
Um procedimento de segurança deve definir: 
 Uma lista contendo todos serviços de rede que serão oferecidos; 
 Quais áreas e departamentos proverão os serviços; 
 Quem terá acesso a esses serviços; 
 Como será provido o acesso; 
 Quem administrara esses serviços 
De acordo com NEMETH 2008 Outras questões de política importante que podem ter um escopo mais abrangente do que simplesmente seu grupo de administrador de sistema local são: 
 Tratamento de brechas de segurança 
 Controle de exportação de sistemas de arquivos 
 Critérios para seleção de senhas 
 Remoção de logins motivadas 
 Material envolvendo direitos autorais
34 
7. Revisão Bibliográfica 
TANENBAUM (2001, p. 54), em “Redes de Computadores”, citado nos capítulos 1 observa a que a internet tem por finalidade ser a tecnologia de todos e para tudo, não existe um dono, parecer estranho mas é a realidade, a internet e o maior meio de comunicação hoje em dia, o autor cita isso de forma clara, isso sem dúvida fundamentou grande importância na abordagem SRL. 
NEMETH (2004, p. 486), em sua obra “Manual Completo do Linux”, referenciado no capítulo 21, define que as tecnologias atuais e de fato algo de extrema importância e responsabilidade, isso com certeza traz garantia e segurança, confiabilidade e maior comprometimento dos usuários. 
MORIMOTO (2008, p. 16), em sua obra “Servidores Linux: Guia Prático”, referenciado no capítulo 1, define que servidores Linux podem ser divididos em dois grandes grupos, isso difere muito na segurança pois temos os servidores locais e servidores de internet, cada um realizando sua devida missão e de fato é uma importância enormena abordagem da segurança em redes Linux. 
Ricci (2008, p. 1,), em sua obra “Squid: Solução Definitiva”, referenciado no capítulo 1,7 define que Proxy refere-se a um software que atua como gateway de aplicação entre o cliente e o serviço a ser acessado, interpretando as requisições e repassando-as ao servidor de destino, isso sem dúvida é fator primordial e uns dos diversos pontos positivos de segurança para rede, assim os benefícios são maiores ao ter a integração de proxy junto a solução de firewall, somando segurança mais confiabilidade dentro da rede, protegendo a rede provada contra os acessos indevidos de uma rede pública com esses pontos o autor me trouxe conhecimento que foram fundamentais na abordagem dos servidores críticos.
35 
8. Conclusão 
A segurança em redes independente do sistema operacional e ferramentas utilizadas requer significativamente grande grau de conhecimento e estudo, com a rápida evolução da tecnologia e os diversos meios de comunicação que temos no dia de hoje fica bem claro que de fato segurança e ponto que engloba muita coisa quando se diz respeito a ambiente seja ele doméstico ou corporativo. Neste trabalho foi desenvolvido e mostrado tecnologias que ajudam a minimizar a falta de segurança e falta de conhecimento de usuários de diversos tipos de rede. Porem um administrador de rede que utilizando sistema operacional Linux e implementa aplicações como um bom firewall, servidor proxy, ferramentas de segurança e uma política de segurança, tende a minimizar possíveis falhas que pode existir em uma rede sem um gerenciamento correto. Após entender os riscos que a internet pode trazer e com base em estudos realizados durante o desenvolvimento deste trabalho, os benefícios que gera com a utilização de todas as aplicações mostradas foram as principais contribuição para meu conhecimento. A utilização dessa ferramentas de segurança torna possível proteger, monitorar e recuperar um sistema após um possível ataque ou até mesmo descumprimento de políticas. Chegamos à conclusão que, apesar de não ser possível proteger totalmente os servidores, os administradores utilizando diversas técnicas e tecnologias como as descritas podem garantir um alto nível de segurança.
36 
9. Referências Bibliográficas 
TANEBAUM, Andrew. Redes de computadores 4ª ed. Amsterdam: editora Campus. 2003 
STALLING, Willian. Criptografia e Segurança de Redes: princípios e praticas – 4 ed. Editora person. 2007 
NEMETH, Evi; SNYDER, Garth; Hein, Trent R. Manual Completo de linux: guia do administrador – 2 ed. São Paulo: Pearson Makron Books, 2004. 
KUROSE, James F.; ROSS, Keith W. - Redes de Computadores e a Internet: uma abordagem top-down - 5 ed. São Paulo: Editora Pearson 
RICCI, Bruno. Squid: solução definitiva. São Paulo: Editora Ciência Moderna. 2006 
MORIMOTO, Carlos Eduardo - Servidores Linux: Guia prático. Porto alegre: Sul Editores. 2008 
UCHÔA, Joaquim Quinteiro. Segurança Computacional. Lavras: UFLA/FAEPE, 2005. 
Outras Referências: 
SILVA, Gilson Marques da. Segurança em Redes Linux: princípios e praticas – 1 ed. São Paulo: Editora Ciência Moderna, 2008 
COULOURIS, Geoge; DOLLIMORE, Jean; KINDBERG, Tim. – Sistemas Distribuídos: Conceitos e projetos – 4 ed. Porto Alegre: Bookman, 2007. 
Referências Eletrônicas: 
Hammershmitt, Gisele. Breve História da internet. Disponível em 
<http://gihammer.wordpress.com/2008/03/07/breve-historia-da-internet/>. Acesso em 19 março 2013.
37 
10. Anexos 
10.1 Arquivo de configuração de um Firewall (Iptables) 
#!/bin/bash 
echo 1 > /proc/sys/net/ipv4/ip_forward 
echo 1 > /proc/sys/net/ipv4/tcp_syncookies 
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts 
/sbin/modprobe ip_tables 
/sbin/modprobe iptable_nat 
/sbin/modprobe ip_nat_ftp 
/sbin/modprobe ip_conntrack_ftp 
### protecao contra flooding 
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do 
echo 0 > $f 
done 
### logar pacotes estranhos 
for f in /proc/sys/net/ipv4/conf/*/log_martians; do 
echo 0 > $f 
done 
### 
firewall="/etc/firewall" 
ip_interno="$(cat ${firewall}/ip_interno)" 
ip_valido="$(cat ${firewall}/ip_externo)"
38 
rede_interna="$(cat ${firewall}/rede_interna)" 
iptables="/sbin/iptables" 
caixa=$(nslookup -sil cmt.caixa.gov.br | grep -v # |grep Address | awk '{print $2}' ) 
caixa=$(nslookup -sil conectividade.caixa.gov.br | grep -v # |grep Address | awk '{print $2}' ) 
orkut=$(nslookup -sil www.orkut.com.br | grep -v # |grep Address | awk '{print $2}' ) 
if [ "$1" != "blockip" ]; then 
$iptables -F 
$iptables -t nat -F 
######## 
$iptables -X 
$iptables -X FIREWALL >/dev/null 2>&1 
######## 
$iptables -P INPUT DROP 
$iptables -P FORWARD DROP 
$iptables -P OUTPUT ACCEPT 
######## 
$iptables -N FIREWALL 
$iptables -A FIREWALL -m limit --limit 20/minute -j LOG --log-level info --log-prefix "FIREWALL: " 
$iptables -A FIREWALL -j DROP 
# Permitir pacotes de conexões estabelecidas 
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
39 
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
# Loopback local 
$iptables -A INPUT -i lo -j ACCEPT 
# Não permitir pacotes na interface errada 
$iptables -A INPUT -s 192.168.0.0/16 -i eth0 -j DROP 
$iptables -A FORWARD -s 192.168.0.0/16 -i eth0 -j DROP 
# DNS 
$iptables -A INPUT -p tcp --dport 53 -j ACCEPT 
$iptables -A INPUT -p udp --dport 53 -j ACCEPT 
# Regras de ICMP 
$iptables -A INPUT -p icmp -j ACCEPT 
$iptables -A INPUT -p icmp -i eth1 -j ACCEPT 
$iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT 
$iptables -A INPUT -p icmp --icmp-type 5 -j ACCEPT 
$iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT 
$iptables -A INPUT -p icmp -s $ip_valido -j ACCEPT 
$iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT 
$iptables -A FORWARD -p icmp --icmp-type 3 -j ACCEPT 
$iptables -A FORWARD -p icmp --icmp-type 5 -j ACCEPT 
$iptables -A FORWARD -p icmp --icmp-type 11 -j ACCEPT 
##############################################################
40 
#Regras de liberação por porta (interno e externo) - Arquivo /etc/firewall/portas_entrada 
entrada=$(cat ${firewall}/portas_entrada | awk '{print $1}' ) 
for port in $entrada; do 
$iptables -A INPUT -p tcp -i eth1 -s $rede_interna -d $ip_interno --dport $port -j ACCEPT 
$iptables -A INPUT -p tcp -i eth0 -s ! $rede_interna -d $ip_valido --dport $port -j ACCEPT 
done 
### Regras de liberação por porta (somente interno) - Arquivo /etc/firewall/portas_interno 
interno=$(cat ${firewall}/portas_interno | awk '{print $1}' ) 
for port in $interno; do 
$iptables -A INPUT -p tcp -i eth1 -s $rede_interna -d $ip_interno --dport $port -j ACCEPT 
done 
### Liberação acesso Samba ### 
samba=$(cat ${firewall}/samba | awk '{print $1}' ) 
for ip in $samba; do 
$iptables -A INPUT -i eth1 -s $ip -p udp -d $ip_interno -j ACCEPT 
$iptables -A INPUT -i eth1 -s $ip -p tcp -d $ip_interno --dport 135:139 -j ACCEPT 
$iptables -A INPUT -i eth1 -s $ip -p tcp -d $ip_interno --dport 445 -j ACCEPT 
done
41 
## Liberação acesso SSH ### - Arquivo /etc/firewall/ssh 
ssh=$(cat ${firewall}/ssh | awk '{print $1}' ) 
for ip in $ssh; do 
$iptables -A INPUT -i eth1 -s $ip -p tcp --sport 1024:65535 -d $ip_interno --dport 22 -j ACCEPT 
done 
### Mascaramento de IP's ## - Arquivo /etc/firewall/masquerade 
masquerade=$(cat ${firewall}/masquerade | awk '{print $1}' ) 
for ip in $masquerade; do 
$iptables -A FORWARD -d $ip -j ACCEPT 
$iptables -A FORWARD -s $ip -j ACCEPT 
$iptables -A INPUT -s $ip -j ACCEPT 
$iptables -t nat -A POSTROUTING -s $ip -j MASQUERADE 
done 
### Bloqueio de IP's #### - Arquivo /etc/firewall/blockip 
fi 
blockip=$(cat ${firewall}/blockip | awk '{print $1}' ) 
for ip in $blockip; do 
$iptables -I INPUT -s $ip -j DROP 
$iptables -I INPUT -s $ip -m limit --limit 18/minute -j LOG --log-level info --log-prefix "IP Bloqueado: " 
$iptables -I FORWARD -s $ip -j DROP 
$iptables -I FORWARD -s $ip -m limit --limit 18/minute -j LOG --log-level info --log- prefix "IP Bloqueado: "
42 
done 
if [ "$1" != "blockip" ]; then 
#mascaramento local 
masq_local=$(cat ${firewall}/masq_local | awk '{print $1}' ) 
for ip in $masq_local; do 
$iptables -t nat -A POSTROUTING -o eth0 -s $rede_interna -d $ip -j MASQUERADE 
$iptables -A FORWARD -s $rede_interna -d $ip -j ACCEPT 
$iptables -A FORWARD -d $rede_interna -s $ip -j ACCEPT 
done 
# Redirecionamento para o squid 
$iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -m multiport -d ${caixa}/16 - -dport 80,443 -j ACCEPT 
$iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 10.100.0.0/16 -j ACCEPT 
$iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 200.139.97.224/28 -j ACCEPT 
$iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 200.173.13.80/28 -j ACCEPT 
# Liberação para configuração do IE7, necessária na primeira inicialização do IE7 
$iptables -t nat -A POSTROUTING -p tcp -s 10.100.0.0/16 -d 65.55.0.0/16 --dport 80 -j MASQUERADE 
$iptables -A FORWARD -s 10.100.0.0/16 -d 65.55.0.0/16 -j ACCEPT 
$iptables -A FORWARD -d 10.100.0.0/16 -s 65.55.0.0/16 -j ACCEPT 
#----Redirecionamento para o sistema interno
43 
#$iptables -t nat -I PREROUTING -p tcp -d 200.173.13.87 --dport 8080 -j DNAT --to 10.100.0.247:80 
#$iptables -I FORWARD -p tcp -d 10.100.0.247 --dport 80 -j ACCEPT 
#$iptables -I FORWARD -p tcp -s 10.100.0.247 --sport 80 -j ACCEPT 
#Bloquear o site facebook 
FACEBOOK_IP_RANGE=”31.13.64.0-31.13.127.255 31.13.24.0-31.13.31.255 
74.119.76.0-74.119.79.255 69.63.176.0-69.63.191.255 69.171.224.0-69.171.255.255 
66.220.144.0-66.220.159.255 204.15.20.0-204.15.23.255 173.252.64.0- 173.252.127.255” 
Iptables –N FACEBOOK 
# FACEBOOK DENY 
For face in $FACEBOOK_IP_RANGE; do 
Iptables –I FORWARD –M tcp –p tcp –m iprange –dst-range $face –dport 443 –j 
FACEBOOK 
Iptables –I FORWARD –m tcp –p tcp –m iprange –dst-range $face –dport 80 –j 
FACEBOOK 
Done 
FACEBOOK_ALLOW=” 0x:30:67:3x:b9:ad zz:24:2c:aa:2d:55” 
#MSR_LIBERADO 
For MSR_LIBERADO in $FACEBOOK_ALLOW; 
Do 
Iptables –I FACEBOOK –m mac –mac-source $MSR_LIBERADO –j ACCEPT 
Done
44 
Iptables –A FACEBOOK –j reject 
$iptables -I FORWARD -d $excessoes -s 207.46.0.0/16 -j ACCEPT 
$iptables -I FORWARD -s $excessoes -d 207.46.0.0/16 -j ACCEPT 
done 
#-------Windows update 
update=$(cat ${firewall}/winupdate | awk '{print $1}' ) 
for update in $update; do 
$iptables -t nat -I POSTROUTING -s $rede_interna -d $update -j MASQUERADE 
$iptables -I FORWARD -s $rede_interna -d $update -j ACCEPT 
Fonte: Configuração retirada do local de trabalho (Mercatudo Casas André Luiz) (firewall.sh) Rodando em um servidor com Linux CentOS 6 Server.
45 
10.2 Arquivo do de configuração do Proxy (Squid) 
# Porta onde o servidor ficará disponível e o Proxy transparente 
HTTP_port 3128 transparent 
Icp_port 3130 
Htcp_port 0 
Visible_hostname Mercatudo 
Tcp_outgoing_adress 255.255.255.255 
Udp_incoming_address 0.0.0.0 
Udp_outgoing_address 255.255.255.255 
Icp_query_timeout 0 
Maximum_icp_query_timeout 2000 
Mcast_icp_query_timeout 2000 
Dead_peer_timeout 10 seconds 
Hierarchy_stoplistcgi-bin ? 
# Proibir Musica 
Acl_proibir musica urlpath_regex –I “/etc/squid/proibir_musica” 
Acl query urlpath_regexcgi-bin ? 
No_cachedeny query 
# Quantidade de memória Ram usada para cachê: 
Cachê_mem 128 mb 
# Porcetagem no qual o squid começará a descartar os arquivos mais antigos em cachê: 
Cachê_swap_low 90 
Cachê_swap_high 95 
# Quantidade de memória em disco usado para cachê: 
Maximum_object_size 512 mb 
Minumum_object_size 0 kb
46 
# Determina o tamanho maximo dos arquivos que serão guardados no cachê feito na memória RAM: 
Maximum_object_size_in_memory 8 kb 
Ipcache_size 1024 
Ipcache_low 90 
Ipcache_high 95 
Fqdncache_size 1024 
Cache_ replacement_policylru 
Memory_replacement_policylry 
# Monitorar o log usando o login no lugar do ip da máquina: 
Log_fqdn on 
Log_ip_on_direct on 
Hosts_file /etc/hosts 
# Caminho onde serão armazenados os arquivos de log. 
# Quantidade de espaço no HD= 2048 
Cache_dirufs /var/spool/squid 204816 256 
Cache_acess_log /var/log/squid/acess.log 
Cache_log /var/log/squid/store.log 
# atualização do cache 
Refresh_pattern ^ftp: 15 20% 2280 
Refresh_pattern . 15 20% 2280 
# FTP_usersquid@mcal.com.br 
FTP_list_width 32 
FTP_passive on 
ftp_sanitycheck on 
dns_retransmit_interval 5 seconds 
dns_timeout 5 minutes
47 
# Define as palavras que serão liberadas pelo squid: 
acl whitelist url_regex “/etc/squid/whitelist” 
# Define as palavras que serão bloqueadas pelo squid: 
Acl blacklist url_regex “/etc/squid/blacklist” 
# Regra mime 
Acl streaming rep_mime_type –I “/etc/squid/mimeaplicativo” 
# Login-internet-acl 
# Regras-almoço-https 
Aclalmoço-https-time time “/etc/squid/grupos/almoço-https.time” 
Acl almoço-https-srcsrc “/etc/squid/grupos/almoco-https.src 
Aclalmoço-https-dstdomain-allow dstdomain “/etc/squid/grupos/almoco- https.dstdomain.allow” 
Aclalmoco-https-url_regex-allow url_regex “/etc/squid/grupos/almoco- https.url_regex.allow 
Aclalmoco-https-dstdomain-deny dstdomain “/etc/squid/grupos/alomoco- https.dstdomain.deny” 
Aclalmoco-https-url_regex-deny url_regex “/etc/squid/grupos/almoco- https.url_regex.deny” 
http_acess deny almoco-https !almoco-https-time 
http_acess allow almoco-https-srcalmoco-https-time almoco-https-dstdomain-allow 
http_acess allow almoco-https-srcalmoco-https-time almoco-https-url_regex-allow 
http_acess deny almoco-https-srcalmoco-https-time almoco-https-dstdomain-deny 
http_acess deny almoco-https-srcalmoco-https-time almoco-https-url_regex-deny 
# Regra-Faculdades 
Acl faculdades-time time “/etc/squid/grupos/faculdades.time” 
Acl faculdades-srcsrc “/etc/aquid/grupos/faculdades.src” 
Acl faculdades-dstdomain-allowdstdomain “/etc/squid/grupos/faculdades.dsrdomain.aloow” 
Acl faculdades-url_regex-allowurl_regex “/etc/squid/grupos/faculdades.url_regex.allow”
48 
Acl faculdades-dstdomain-denydstdomain “/etc/squid/grupos/faculdades.dstdomain.deny” 
Acl faculdades-url_regex-denyurl_regex “etc/squid/grupos/faculdades.url_regex.deny” 
http_acessdeny faculdades-src !faculdades-time 
http_acessallow faculdades-src faculdades-time faculdades-dstdomain-allow 
http_acessallow faculdades-src faculdades-time faculdades-url_regex-allow 
http_acessdeny faculdades-src !faculdades-time faculdades-dstdomain-deny 
http_accessdeny faculdades-src !faculdades-time faculdades-url_regex-deny 
# Regras geral-usuário 
Acl usergeralsrc “/etc/squid/grupos/usergeral_src” 
http_acess allow usergeral 
# Configuração mínima recomendada 
Aclallsrc 0.0.0.0/0.0.0.0 
# Define o range da rede interna: 
Aclminharedesrc 10.100.0.0/255.255.0.0 
Acl manager protocachê_object 
Acllocalhostsrc 127.0.0.1/255.255.255.255 
Aclssl_ports port 443 563 
Aclsafe_ports port 80 # http 
Aclsafe_ports port 21 # ftp 
Aclsafe_ports port 443 563 # https, snews 
Aclsafe_ports port 70 # gopher 
Aclsafe_ports port 210 # wais 
Aclsafe_ports port 1025-65535 #-unregistered ports 
Aclsafe_ports port 280 # http-mgmt 
Aclsafe_ports port 488 # gss-http 
Aclsafe_ports port 591 #filemaker 
Aclsafe_ports port 631 #cups 
Aclsafe_ports port 777 # multiling http
49 
Aclsafe_ports port 901 # swat 
Acl purge method PURGE 
Acl CONNECT method CONNECT 
# Only allow cachemgracess from localhost 
http_acess allow manager localhost 
http_acess deny manager 
# Only allow purge requests from localhost 
http_acess allow paurgelocalhost 
http_acess deny purge 
# Deny requests to unknown ports 
http_acess deny !safe_ports 
# Deny CONNECT to other than SSL ports 
http_acess deny CONNECT !SSL_ports 
# insert your own rule (s) here to allow acess from your clients 
http_acess allow localhost 
http_acess allow whitelist 
#http_acess deny proibidos 
http_acess deny blacklist 
http_acess deny proibir_musica 
http_acess allow minharede 
#streaming 
http_reply_acess deny streaming 
#and finally deny all other acess to this proxy 
http_acess deny all 
#allow icp queries from everyone 
Icp_acess allow all 
#redirect_program /usr/bin/squidguard –c /etc/squid/squidguard.conf 
Fonte: Elaborado pelo autor - Configuração retirada do local de trabalho (Mercatudo Casas André Luiz, Rodando em um servidor com Linux CentOS 6 Server.
50 
11. Termo de compromisso e responsabilidade 
Autenticidade e exclusividade sob as penas da Lei 9610/98 
Pelo presente, o abaixo assinado declara, sob as penas da lei, que o presente trabalho é inédito e original, desenvolvido especialmente para os fins educacionais a que se destina e que, sob nenhuma hipótese, fere o direito de autoria de outrem. 
Para maior clareza, firmo o presente termo de originalidade. 
Guarulhos, 08 de 09 de 2013

Mais conteúdo relacionado

Mais procurados

Unidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaUnidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaJuan Carlos Lamarão
 
Segurança na Rede
Segurança na RedeSegurança na Rede
Segurança na Redecarbgarcia
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
Conceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresConceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresRogerio Pereira
 
Artigo Maic
Artigo MaicArtigo Maic
Artigo MaicUFPA
 
Cloud computing-curso-dia3
Cloud computing-curso-dia3Cloud computing-curso-dia3
Cloud computing-curso-dia3Ademar Freitas
 
Oportunidades e Riscos de Segurança na Computação na Nuvem
Oportunidades e Riscos de Segurança na Computação na NuvemOportunidades e Riscos de Segurança na Computação na Nuvem
Oportunidades e Riscos de Segurança na Computação na NuvemCássio Quaresma
 
Discursiva Juridica
Discursiva JuridicaDiscursiva Juridica
Discursiva Juridicajgcruz
 
Especificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaEspecificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaFabian Martins
 
Cartilhas uca.7-seguranca
Cartilhas uca.7-segurancaCartilhas uca.7-seguranca
Cartilhas uca.7-segurancaismaelfurtado
 
Implementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerImplementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerAnderson Pontes
 

Mais procurados (17)

Unidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança FísicaUnidade 1.1 Segurança e Segurança Física
Unidade 1.1 Segurança e Segurança Física
 
Segurança na Rede
Segurança na RedeSegurança na Rede
Segurança na Rede
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Conceito em segurança de redes de computadores
Conceito em segurança de redes de computadoresConceito em segurança de redes de computadores
Conceito em segurança de redes de computadores
 
Artigo Maic
Artigo MaicArtigo Maic
Artigo Maic
 
Cloud computing-curso-dia3
Cloud computing-curso-dia3Cloud computing-curso-dia3
Cloud computing-curso-dia3
 
Capítulo I: A segurança de sistemas da informação & aspectos sociotécnicos,...
Capítulo I: A segurança de sistemas da informação  &  aspectos sociotécnicos,...Capítulo I: A segurança de sistemas da informação  &  aspectos sociotécnicos,...
Capítulo I: A segurança de sistemas da informação & aspectos sociotécnicos,...
 
Modulo 01 Capitulo 03
Modulo 01 Capitulo 03Modulo 01 Capitulo 03
Modulo 01 Capitulo 03
 
Oportunidades e Riscos de Segurança na Computação na Nuvem
Oportunidades e Riscos de Segurança na Computação na NuvemOportunidades e Riscos de Segurança na Computação na Nuvem
Oportunidades e Riscos de Segurança na Computação na Nuvem
 
Modulo 01 Capitulo 02
Modulo 01 Capitulo 02Modulo 01 Capitulo 02
Modulo 01 Capitulo 02
 
Essentials Modulo1
Essentials Modulo1Essentials Modulo1
Essentials Modulo1
 
Modulo 01 Capitulo 01
Modulo 01 Capitulo 01Modulo 01 Capitulo 01
Modulo 01 Capitulo 01
 
Discursiva Juridica
Discursiva JuridicaDiscursiva Juridica
Discursiva Juridica
 
Especificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaEspecificação formal de protocolos de Segurança
Especificação formal de protocolos de Segurança
 
Modulo 01 CapíTulo 04
Modulo 01 CapíTulo 04Modulo 01 CapíTulo 04
Modulo 01 CapíTulo 04
 
Cartilhas uca.7-seguranca
Cartilhas uca.7-segurancaCartilhas uca.7-seguranca
Cartilhas uca.7-seguranca
 
Implementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e routerImplementando segurança de redes com brazilfw firewall e router
Implementando segurança de redes com brazilfw firewall e router
 

Destaque

Destaque (8)

Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
Tecnologias Atuais de Redes - Aula 3 - VPN [Apostila]
 
Eniac
EniacEniac
Eniac
 
IV MOCICULT oficial 2014
IV MOCICULT oficial 2014IV MOCICULT oficial 2014
IV MOCICULT oficial 2014
 
Modelo slide senai tcc 2008 final
Modelo slide senai tcc 2008   finalModelo slide senai tcc 2008   final
Modelo slide senai tcc 2008 final
 
Monografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de InformaçãoMonografia Completa - Graduação em Sistemas de Informação
Monografia Completa - Graduação em Sistemas de Informação
 
Modelo de slide apresentação senai
Modelo de slide apresentação   senaiModelo de slide apresentação   senai
Modelo de slide apresentação senai
 
Arquivo modelo para tcc 2013
Arquivo modelo para tcc 2013Arquivo modelo para tcc 2013
Arquivo modelo para tcc 2013
 
Ficha de epi modelo
Ficha de epi modeloFicha de epi modelo
Ficha de epi modelo
 

Semelhante a Segurança em Redes Linux com Firewall e Proxy

A internet
A internetA internet
A interneta3136727
 
Conceitos BáSicos Sobre SegurançA Parte 3
Conceitos BáSicos Sobre SegurançA   Parte 3Conceitos BáSicos Sobre SegurançA   Parte 3
Conceitos BáSicos Sobre SegurançA Parte 3Felipe Santos
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesmauriciomoda
 
Mecanismos de segurança linux
Mecanismos de segurança linuxMecanismos de segurança linux
Mecanismos de segurança linuxAllan Reis
 
Monografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoMonografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoApolonio Santiago
 
Microsoft redes introdução
Microsoft redes   introduçãoMicrosoft redes   introdução
Microsoft redes introduçãoJoão Dias
 
Conceitos relacionados à internet
Conceitos relacionados à internetConceitos relacionados à internet
Conceitos relacionados à internetwisley2017
 
2 sis cai sistema de controle de acesso a internet
2 sis cai sistema de controle de acesso a internet2 sis cai sistema de controle de acesso a internet
2 sis cai sistema de controle de acesso a internetricardo17754
 
TCC Segurança de Redes e Iptables
TCC Segurança de Redes e IptablesTCC Segurança de Redes e Iptables
TCC Segurança de Redes e IptablesRafael Magri Gedra
 
UM CURSO DE INFORMATICA BASICA PARA IDOSOS
UM CURSO DE INFORMATICA BASICA PARA IDOSOSUM CURSO DE INFORMATICA BASICA PARA IDOSOS
UM CURSO DE INFORMATICA BASICA PARA IDOSOSdjgsantos1981
 
curso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfcurso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfRamoSantos2
 

Semelhante a Segurança em Redes Linux com Firewall e Proxy (20)

Unidade 3
Unidade 3Unidade 3
Unidade 3
 
A internet
A internetA internet
A internet
 
Conceitos BáSicos Sobre SegurançA Parte 3
Conceitos BáSicos Sobre SegurançA   Parte 3Conceitos BáSicos Sobre SegurançA   Parte 3
Conceitos BáSicos Sobre SegurançA Parte 3
 
artigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redesartigo ferramentas de gerenciamento de redes
artigo ferramentas de gerenciamento de redes
 
Mecanismos de segurança linux
Mecanismos de segurança linuxMecanismos de segurança linux
Mecanismos de segurança linux
 
Monografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_InvasaoMonografia_Apolonio_UnB_Invasao
Monografia_Apolonio_UnB_Invasao
 
Microsoft redes introdução
Microsoft redes   introduçãoMicrosoft redes   introdução
Microsoft redes introdução
 
Conceitos relacionados à internet
Conceitos relacionados à internetConceitos relacionados à internet
Conceitos relacionados à internet
 
2 sis cai sistema de controle de acesso a internet
2 sis cai sistema de controle de acesso a internet2 sis cai sistema de controle de acesso a internet
2 sis cai sistema de controle de acesso a internet
 
A internet
A internetA internet
A internet
 
TCC Segurança de Redes e Iptables
TCC Segurança de Redes e IptablesTCC Segurança de Redes e Iptables
TCC Segurança de Redes e Iptables
 
UM CURSO DE INFORMATICA BASICA PARA IDOSOS
UM CURSO DE INFORMATICA BASICA PARA IDOSOSUM CURSO DE INFORMATICA BASICA PARA IDOSOS
UM CURSO DE INFORMATICA BASICA PARA IDOSOS
 
Iii. tema transversal
Iii. tema transversalIii. tema transversal
Iii. tema transversal
 
Fundamentos de Segurança da Informação
Fundamentos de Segurança da InformaçãoFundamentos de Segurança da Informação
Fundamentos de Segurança da Informação
 
Informática
Informática Informática
Informática
 
Daniel josé teles aps
Daniel josé teles apsDaniel josé teles aps
Daniel josé teles aps
 
Inf seg redinf_semana5
Inf seg redinf_semana5Inf seg redinf_semana5
Inf seg redinf_semana5
 
AuraMiddleware
AuraMiddlewareAuraMiddleware
AuraMiddleware
 
curso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdfcurso-128710-aula-02-v1.pdf
curso-128710-aula-02-v1.pdf
 
Noes geraisdeinformtica
Noes geraisdeinformticaNoes geraisdeinformtica
Noes geraisdeinformtica
 

Segurança em Redes Linux com Firewall e Proxy

  • 1. Faculdade Eniac Graduação Tecnológica em Tecnologia de Redes de Computadores Adriano José dos Santos Luan Moreno Segurança Em Redes Linux- SRL Servidores Críticos Guarulhos 2013
  • 2. Segurança Em Redes Linux- SRL Servidores Críticos Trabalho de Conclusão de Curso apresentado à Faculdade Eniac, como requisito parcial para a obtenção do título de Graduação Tecnológica em Tecnologia de Redes de Computadores Orientador: Prof. Andreia Pereira Guarulhos 2013
  • 3. Dedico este TCC a minha Família, pois sem a união e apoio não seria possível acreditar no melhor que podemos alcançar.
  • 4. Agradeço primeiramente a Deus e as pessoas que nos incentivaram ao longo desta trajetória da vida.
  • 5. “Você pode encarar um erro como uma besteira a ser esquecida ou como um resultado que aponta uma nova direção.” Steve Jobs
  • 6. Sumário Introdução .......................................................................................................................................... 8 1. A Internet ................................................................................................................................. 10 1.1 O TCP/IP e a Internet .......................................................................................................... 11 1.2 Um breve histórico ............................................................................................................... 12 2. Segurança em Redes ................................................................................................................ 13 2.1 O que é segurança na rede ................................................................................................ 13 2.2 Criptografias ......................................................................................................................... 14 2.3 Sistemas de Detecção de Invasão .................................................................................... 18 2.4 Ataques e segurança .......................................................................................................... 21 2.5 Mecanismo de segurança .................................................................................................. 22 3. Segurança com servidores Linux ............................................................................................ 24 3.1 História do Linux .................................................................................................................. 24 3.2 Servidores Linux .................................................................................................................. 24 3.3 Servidores de rede local ..................................................................................................... 25 3.4 Servidores de internet ......................................................................................................... 26 4. Firewall......................................................................................................................................... 27 4.1 Níveis de segurança ............................................................................................................ 28 4.2 Configurações de um Firewall no Linux ........................................................................... 28 4.3 Filtragens de pacotes .......................................................................................................... 29 5. Servidor Proxy Squid ................................................................................................................. 30 5.1 Configuração Proxy Squid .................................................................................................. 30 6. Políticas de Segurança ............................................................................................................. 32 6.1 Procedimentos de segurança ............................................................................................ 33 7. Revisão Bibliográfica ................................................................................................................. 34 8. Conclusão ................................................................................................................................... 35
  • 7. 9. Referências Bibliográficas ........................................................................................................ 36 10. Anexos ....................................................................................................................................... 37 10.1 Arquivo de configuração de um Firewall (Iptables) ..................................................... 37 10.2 Arquivo do de configuração do Proxy (Squid)............................................................... 45 11. Termo de compromisso e responsabilidade ........................................................................ 50
  • 8. 8 Introdução Trata-se de um trabalho de conclusão de curso como requisito parcial para obtenção de titulação em tecnólogo do curso de Tecnologia Redes de Computadores. O tema deste estudo foi escolhido em função do grande crescimento da internet e a falta de segurança. A que hoje em dia é fundamental para que os computadores e servidores estejam protegidos para combater invasões e outros tipos de ameaça. Ameaças como as de spam, vírus e hackers são muito comum em redes internas e externas, e sem conhecimento adequado e com ferramentas adequadas fica praticamente impossível detectar e eliminar algo do gênero. O problema que as empresas andam sofrendo hoje em dia é a falta de segurança dentro da rede local, ocasionando problemas como ataques por de hackers e grandes problemas com acesso indevido do próprio usuário que infringem regras de política de segurança da empresa constantemente e com isso prejudicando e expondo e dados que ficam armazenados e a integridade da empresa, também mais um dos grandes problemasé sem dúvida obter o controle e impedir acessos a sites indesejáveis, poremfuncionários diariamente esta diariamenteacessando sites que não são de conduta da empresa com isso ocasionando em certos momentos do dia lentidão da internet e insegurança contra vírus. O projeto é sobre implantação de segurança por meio de servidores com sistema operacional Linux aonde serão instalado alguns serviços que tem um ponto muito forte na segurança com aplicações como o Firewall (Iptables) e Proxy (Squid), com esses serviços citados e mais alguns é possível obter ponto muito positivo para uma rede, assim teremos grande controle para rede local e rede externa e diminuindo a vulnerabilidade acabando com problemas já citados anteriormente, Além de tudo e primordial ter controle de todo e qualquer acesso aos sites visualizados, impedindo o uso indevido e tendo controle do que os funcionários da empresa estão acessando em tempo real assim mesmo bloqueando e limitando certos sites como (facebook,uol,terra,globo,etc). É importante fazer levantamentos de quais problemas, ou seja, quem poderá ter acesso total ou quem vai ter acesso limitado para utilizar a internet, também será levantado como e o que os hackers estão invadindo.
  • 9. 9 Esse projeto é de alta relevância para toda e qualquer empresa, pois nossa rede interna até o momento não tem uma segurança adequada impedindo que hackers tentem invadir a mesma, e também não temos controle diário dos sites que os funcionários estão acessando com a implantação dos servidores esses problemas serão controlados. O objetivo é implantar servidores Linux para ter controle de sites acessados por funcionários diariamente, e assim bloqueando tudo que não faz parte da política da empresa e também vamos trabalhar para deixar a rede interna da empresa com segurança evitando que hackers tentem invadir a mesma. Nosso objetivo é ter esses controles para posteriormente não temos problemas com invasões e também para que nossa internet não sofra com lentidão por uso indevido dos funcionários. O intuito da pesquisa é apresentar uma visão ampla sobre a importância da segurança em rede e como implantá-la, além de apresentar os diversos tipos de ameaças às quais uma organização está sujeita na internet e no dia a dia.
  • 10. 10 1. A Internet A internet não é de modo algum uma rede, mais sim um conjunto vasto de redes diferentes que trabalham com protocolos comuns e também fornecem certos serviços. Também é um sistema usual no sentindo de não ter tido um planejamento adequado e não possui um controle adequado por ninguém. Através da internet podemos fazer muitas coisas e temos vários recursos aonde citaremos alguns. (TANENBAUM ANDREW, 2001)  Trocar correspondências com qualquer pessoa dentre os milhões de usuários na rede espalhados pelo mundo;  Discutir assuntos específicos com grupos de pessoas que têm os mesmos interesses;  Obter programas e arquivos de textos, imagens, sons, animação e vídeos;  Ter acesso a banco de dados, notícias de jornais, dados financeiros, boletins meteorológicos, entre outros;  Fazer pesquisas bibliográficas;  Navegar em páginas com informações sobre empresas ou pessoas;  Divertir-se em sites de entretenimento;  Fazer compras ou requisitar serviços; A internet pode parecer estranha mais não possui um dono, ou seja, não existi uma pessoa que possa dizer que é proprietária, a internet pertence a todos que estejam conectados nela. Dessa forma, na internet cada um é responsável pela parte que utiliza. (TANENBAUM ANDREW, 2001)
  • 11. 11 1.1 O TCP/IP e a Internet Ajunção de protocolos TCP/IP foi criadapropriamente para ser um protocolo utilizado diretamente na Internet, e tem como característica principal o suporte direto a comunicação de redes de diferentes tipos. Neste caso a arquitetura do TCP/IP é independente da infra-estrutura de rede física ou lógica usada. Efetivamente, toda tecnologia de rede pode ser empregada como meio de transporte dos protocolos TCP/IP. O protocolo TCP/IP e a internet compartilham junta uma história que retrocede a várias décadas. O sucesso da internet se deve em grande parte do design elegante do TCP/IP e ao fato que ele é uma família de protocolos aberta e não proprietária. Por outro lado, a alavancagem fornecida pela internet ajudou o TCP/IP prevalecer sobre várias famílias de protocolo concorrentes que foram favorecidas num momento ou em outro por razoes políticas e comerciais. (EVI NEMETH, 2004) Os protocolos e o modelo TCP/IP também tiveram os seus problemas. Em primeiro lugar, o modelo não diferencia com a necessária clareza os conceitos de serviço, interface e protocolo. A boa pratica da engenharia de software exige uma diferenciação entre especificação e implementação algo que o OSI faz com muito cuidadoao contrário do TCP/IP. Consequentemente, o modelo TCP/IP não é o melhor dos guias para criação de novas redes com base em novas tecnologias. Em segundo lugar, o modelo TCP/IP não é nem um pouco abrangente e não consegue descrever outras pilhas de protocolos que não a pilha TCP/IP. Por exemplo, seria praticamente impossível tentar descrever a Bluetooth usando o modelo TCP/IP. Em terceiro lugar, a camada host/rede não é realmente uma camada no sentido que o termo é usado no contexto dos protocolos hierarquizados. Trata-se na verdade, de uma interface (entre as camadas de rede e de enlace de dados). A distinção entre uma interface e uma camada é crucial e você deve considerá-la com cuidado. Em quarto lugar o modelo TCP/IP não faz distinção (nem sequer menciona) entre as camadas física e de enlace de dados. Elas são completamente diferentes. A camada física está relacionada ás características de transmissão do fio de cobre, dos cabos de fibra óptica e da comunicação sem fio. A tarefa da camada de enlace de dados é delimitar o início e o final dos quadros e enviá-los de um lado ao outro com o grau de confiabilidade desejado. Um modelo mais adequado deve incluir as duas camadas como elementos distintos, modelo TCP/IP não faz isso”. Tanenbaum, Andrew, (2001)
  • 12. 12 1.2 Um breve histórico A internet foi desenvolvida a muito tempo atrás com intuito de pesquisa destinadas a bases militares dos estados unidos, daí então após guerra a ArphaNet não foi mais útil para utilização dos mesmos ocasionando acesso a cientistas que mais tarde disponibilizaram a rede para universidades e assim repassando a outras universidades do mundo todo, foi por esse meio que a rede internet passou a ser utilizada por usuários domésticos até chegar a grande quantidade de mais de 5 milhões de acesso e assim mais e mais usuários se conectavam com a rede que gerou uma comunicação mundial. Assim que a World Wide Web nasceu e veio à tona tudo ficou mais bonito e atraente atraindo cada vez mais utilizadores chamados de internautas, com seu conteúdo grande e abrangente disponibilizou tecnologias com diversos sistemas que pode gerar um ambiente que contem endereço próprio e que e possível ser encontrado por qualquer usuário que esteja conectado na rede, isso e a internet de todos que de fato e um mundo sem fim que cresce cada dia mais e mais, em termos de segurança não pode ser deixada de lado pois como tudo tem seu lado bom e ruim. A internet não é um produto da Microsoft ou de outra empresa do tipo, O progenitor da internet moderna foi uma rede chamada ARPNET estabelecida em 1969 pela DARPA (Defence Advanced Research Agency), o braço de P&D do Departamento de Defesa dos Estados Unidos. A ARPANET tornou-se eventualmente o backbone NFSNET que conectava em vários pontos denominados peer. (NEMETH, 2011).
  • 13. 13 2. Segurança em Redes Com a popularização da internet, a proteção da privacidade se tornou extremamente importante para cada cidadão, pois os seus dados pessoais trafegam na internet, e podem ser invadidos. Criptografia é a chave que permite solucionar tecnologicamente este problema. Para tornar seguro o comércio eletrônico há necessidade de se ter criptografia de alto nível, tanto de segurança como de eficiência, nas várias plataformas. Os algoritmos de chave pública vêm resolver os problemas de autenticação e integridade.Além disso, um problema ocorrido na criptografia de chave simétrica (apresenta a mesma chave para cifrar e decifrar) é resolvido, pois, propõem um modelo onde são utilizadas duas chaves, uma para cifrar outra para decifrar. Com a modernização dos sistemas surgiu possibilidade da criação de assinatura digital, assim usando o que cada pessoa tem como único como as digitais, leitura da retina, leitura facial além de outros métodos eletrônicos. 2.1 O que é segurança na rede Conforme James F. Kurose& Keith W. Ross (2005), a Segurança em redes tem como foco proteger a comunicação entre dispositivos, assim assegurando que a informação não seja alterada ou vista por quem não deveria. Com isso foi adotado o método de criptografar/criptar as informações. Suponhamos que exista dois roteadores que precisam se comunicar com segurança, eles são roteador 01 e roteador 02. O roteador 01 quer que suas informações sejam entendidas apenas pelo roteador 02, onde os dois estão se comunicando por uma rede insegura, á internet. O roteador 02 quer ter certeza que a informação que chegou a ele, foi de fato enviada pelo roteador 01 e vice e versa, além de precisarem saber se a informação transmitida é integra, que não tenha sido alterada no caminho. O fundamental para que tudo isto ocorra é ter certeza que os dispositivos possam realmente se comunicar garantindo que não tenha nada que possa negar essa transição de informação. A seguir os principais itens desejáveis para uma comunicação segura:
  • 14. 14 Confidencialidade: Somente quem enviou e recebeu a informação é quem deve interpretar, pois essa informação poder ser interceptada no caminho, então por isso a informação deve estar criptografada e somente quem tem a chave deve decifrar a informação. Autenticação do ponto final: A autenticação é quem vai envolver o roteador 01 e 02 em uma rede segura além de garantir a identidade de ambos as partes, assim confirmando ser quem realmente diz que é. Integridade de mensagens: Mesmo que haja uma comunicação entre as partes onde a autenticação foi estabelecida, eles também querem assegurar que o conteúdo de sua comunicação não seja alterado, por acidente ou intencional, durante a transmissão. Para proporcional uma maior integridade na mensagem podem ser utilizados protocolos na camada de transporte e de enlace, assim são utilizadas técnicas de verificação de pacotes. Segurança operacional: Se falando de organizações, sabemos que possuem redes conectadas à Internet. Essas redes podem ser comprometidas potencialmente por atacantes que ganham acesso a essas redes por meio da rede pública a internet. Esses atacantes podem inserir Worms nos hospedeiros na rede, e então adquirir segredos corporativos, mapear as configurações da rede interna e lançar ataques DoS. Para este problema são implementados Firewall e sistemas de detecção de invasão realizada na inspeção dos pacotes, o Firewall localizado entre a rede local e a Internet pode barrar e alertar um administrador se a alguma suspeita. 2.2 Criptografias Segundo James F. Kurose & Keith W. Ross (2005), a criptografia já são usadas a muitos anos, para proteger nossas informações, até nos dias de hoje métodos utilizados a anos, ainda estão inseridos nos sistemas. Como a Cifra de César, que substitui as letras para esconder a informação, o nome do métodos foi uma homenagem ao Júlio César que usou esta pratica para se comunicar com os generais. Como grande parte dos estudos tecnológicos, a criptografia teve uma grande evolução na guerra. A Cifra de César é o método de trocar uma letra por
  • 15. 15 outras, assim tornando ilegível para quem interceptar a informação, como todo método de cifrar, pode ser decifrado. Existem duas situações que podem ser consideradas ao decifrar o código de Cesar: O interceptador conhece ou adivinha que algum tipo de cifra de substituição simples foi utilizado, mas não especificamente que é um código de César; O interceptador sabe que é a Cifra de César que foi utilizada para esconder a mensagem e pode tentar descobrir o valor de troca das letras, seguindo o alfabeto são 26 letras a serem decifradas. Figura 1: Código de César com chave de 3 unidades (Fonte: Wikipédia) As técnicas de Criptografia permitem que o remetente modifique os dados de forma que um elemento não autorizado tenha acesso a informação que foi interceptada. Muito se evoluiu desde os códigos de encriptação usados na antiguidade até os dias de hoje. No entanto, até a década de 1970, um conceito se manteve firme entre os diversos métodos propostos. A mesma chave era usada para esconder e para revelar os dados. É o que chamamos de criptografia simétrica. Com a evolução desse paradigma de criptografia ao longo dos séculos, hoje temos mecanismos seguros e eficientes, como o 3DES (Triple Data Encryption Standard) e o AES (Advanced Encryption Standard), que são os algoritmos base para os protocolos usados.Hoje os protocolos mais usados para proteção de dados na Internet, é o SSL (Secure Sockets Layer) e o TLS (TransportLayer Security) utilizam a criptografia simétrica para proteger os dados transmitidos e armazenados. No entanto, a criptografia simétrica possui um desafio conceitual importante e impossível de ser resolvido. Esse processo exige duas chaves de acesso para decifrar os dados, uma está com que emite o dado e a outra deve estar com quem vai receber, para que assim ela possa decifrar o que foi codificado do outro lado. Para uma comunicação
  • 16. 16 feita entre dois locais fixos que sempre vão estar se comunicando esse método é eficaz, pois a troca da chave é feita no primeiro contato. Figura 2: Esquema de funcionamento da criptografia simétrica (Fonte: GTA.UFRJ) Mas se tratando da comunicação feita através de duas pessoas na internet, esse método não seria viável, pois não teria como uma enviar para outra a chave de acesso. Para este caso a solução foi encontrada na criptografia assimétrica, na qual utiliza-se duas chaves distintas, mas que se complementam. Por essa propriedade, dá-se o nome de par de chaves, que é composto pela chave pública e pela chave privada. A chave pública é liberada para todos que desejam se comunicar com o emissor da chave enquanto a chave privada fica em poder de quem a emitiu.Assim a Pessoa que envia a mensagem codifica a os dados com uma chave pública, e quem recebe decodifica com a chave privada. Com esta técnica apenas quem possui a chave privada poderá ter acesso a informação. Uma desvantagem dos algoritmos de criptografia assimétrica existentes é o seu desempenho, que são algumas dezenas de vezes mais lentos que os métodos simétricos. Sendo assim, na prática, a criptografia assimétrica é utilizada para definir uma chave de sessão, que será utilizada na criptografia simétrica durante a comunicação. Esse é o funcionamento dos protocolos SSL e TLS, usados largamente na Internet. No entanto, na criptografia assimétrica, as chaves públicas podem ser forjadas, fazendo com que o emissor não obtenha a chave pública correta do destinatário. Para solucionar esse problema, os engenheiros da Internet. Criaram a figura da Autoridade Certificadora, que funciona como um cartório, autenticando as chaves públicas das pessoas. É essa autenticação da chave pública do seu banco, por exemplo, que faz o seu navegador exibir o singelo cadeado de segurança, fazendo com que você saiba que o site é mesmo do banco e não de um criminoso.
  • 17. 17 Além do uso tradicional da criptografia para manter a confidencialidade dos dados, como mostrado até aqui nesse artigo, a criptografia possui outras finalidades no mundo dos computadores. Através da criptografia, pode-se implementar técnicas de garantia de integridade dos dados e de autenticação das mensagens. A garantia de integridade garante que se um dado for modificado, essa modificação é detectada, informando ao destinatário que a mensagem foi comprometida. Já a autenticação das mensagens é o que comumente chama-se de assinatura digital. Tal técnica permite garantir que uma mensagem veio de quem diz ser o remetente. Para garantir a origem, basta que o emissor codifique a mensagem utilizando a sua chave privada. Assim, todos terão certeza que foi realmente aquele emissor quem enviou a mensagem. - Chave particular: a metade secreta de um par de chaves criptográficas que é usada com um algoritmo de chave pública. As chaves particulares são usadas para decriptografar uma chave de sessão simétrica, assinar dados digitalmente ou decriptografar dados que foram criptografados com a chave pública correspondente. - Chave pública:a metade não secreta de um par de chaves criptográficas que é usada com um algoritmo de chave pública. As chaves públicas normalmente são usadas ao criptografar uma chave de sessão, verificar uma assinatura digital ou criptografar dados que possam ser decriptografados com a chave particular correspondente. - Autenticação do destino: visa esconder informações sigilosas das pessoas que controlam as linhas de comunicação e os computadores intermediários (provedores). - Integridade de informação: busca evitar que um mal-intencionado leia e altere parte da informação transitando na linha de comunicação antes de chegar ao destino, ou seja, o destinatário gostaria de detectar se alguma alteração parcial foi feita na linha. - Autenticação da origem: é como evitar que um falso usuário (origem) envie uma informação para destinatário, ou seja, o destinatário deseja ter certeza que foi o usuário verdadeiro que enviou a informação. - Integridade de banco de dados: é como evitar que alguma pessoa desautorizada leia as informações já enviadas e armazenadas no computador do destinatário.
  • 18. 18 - Detecção de integridade de informação: evita que alguma pessoa desautorizada leia e altere as informações já enviadas e armazenadas no computador do destinatário. Outra aplicação da criptografia pode ser vista em redes privadas virtuais. Em uma VPN existe um túnel criptográfico entre duas ou mais redes que estão conectadas utilizando como meio uma rede pública. Uma VPN usa protocolos de criptografia por tunelamento que fornecem a confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações, possibilitando comunicações seguras através de redes inseguras. 2.3 Sistemas de Detecção de Invasão Para Coulouris, Dollimore, Kindberg, (2007), quando falamos em segurança da informação, existem equipamentos e softwares essenciais para uma rede como Antivírus e Firewall, com eles conseguimos o mínimo de segurança para a comunicação de uma rede interna a uma rede externa. Com o Firewall podemos implementar políticas de segurança, onde será controlado tudo que entra e sai da rede, assim impedindo a entrada do que não está autorizado. A ferramenta utilizada para monitorar o tráfego da rede e para detectar e alertar sobre ataques e tentativas de acessos indevidos chama-se IDS (Sistema de Detecção de Intrusos). Na grande maioria das vezes não bloqueia uma ação, mas verifica se esta ação é ou não uma ameaça para um segmento de rede. Conforme Uchôa (2005), o complemento do IDS, o IPS (Sistema de Prevenção de Intrusos), tem a capacidade de identificar uma intrusão, analisar a relevância do evento e bloquear determinados eventos, fortalecendo assim a técnica de detecção de intrusos. O IPS usa a capacidade de detecção do IDS juntamente com a capacidade de bloqueio de um Firewall, notificando e bloqueando de forma eficaz ações suspeitas ou indevidas em diversos pontos de uma arquitetura de rede, sendo considerada uma das ferramentas de segurança de maior abrangência. O IPS atua na camada de monitoramento, mas pode ser configurado para gerar ações de bloqueio, de forma que, pode atuar também na camada de controle de acesso ao sistema. O IDS e IPS devem ser
  • 19. 19 configurados de forma a reduzir o número de falsos positivos facilitando a análise dos dados coletados. Configurado de forma incorreta, um IPS pode bloquear tráfego legítimo. O IDS no seu sentido mais restrito se refere a aplicativos capazes de alertar sobre 45 tentativas de invasão, como o aplicativo Snort, e em um sentido mais amplo, também monitorar a integridade do sistema, como os aplicativos AIDE ou o Tripwire. Alguns aplicativos utilizados para detecção de intrusos, são capazes de desenvolver análise de tráfego e registro de pacotes em tempo real. Estes aplicativos analisam protocolos, buscam e associam padrões de conteúdo e podem ser usados para detectar uma variedade de ataques. O Snort e o LIDS (Sistema de Detecção de intrusos do Linux) são algumas ferramentas que merecem destaque. De acordo com Uchôa (2005), o Snort possui uma base de assinaturas bastante completa e exige pouco esforço computacional da máquina onde é instalado. Já o LIDS, adiciona novas funcionalidades ao kernel do Linux para detecção de intrusos aumentando a segurança do sistema. Porém, para sua utilização, é necessária a recompilação do kernel. A grande parte dos sistemas comerciais de detecção de intrusão é baseada em rede.Nesse tipo de IDS os ataques são capturados e analisados através de pacotes de rede. Ouvindo um segmento de rede, o NIDS pode monitorar o tráfego afetando múltiplas estações que estão conectadas ao segmento de rede, assim protegendo essas estações. Os NIDS também podem consistir em um conjunto de sensores ou estações espalhados por vários pontos da rede. Essas unidades monitoram o tráfego da rede, realizando análises locais do tráfego e reportando os ataques a um console central. As estações que rodam esses sensores devem estar limitadas a executar somente o sistema de IDS, para se manterem mais seguras contra ataques. Muitos desses sensores rodam num modo chamado "stealth", de maneira que torne mais difícil para o atacante determinar as suas presenças e localizações. Segundo BECE, podemos destacar as vantagens do IDS baseados em rede: A implementação de um NIDS tem pouco impacto sobre a performance da rede. Eles geralmente ficam em modo passivo, apenas escutando o tráfego da rede sem interferir no seu funcionamento. NIDS bem posicionados podem monitorar uma
  • 20. 20 grande rede. Os IDSs baseados em rede podem ser muito seguros contra a maioria dos ataques, além de ficarem invisíveis aos atacantes. E também as desvantagens: Os NIDS podem ter dificuldade em processar todos os pacotes em uma rede que possua um grande tráfego de dados. Eles não podem analisar o tráfego de informações criptografadas Esse problema vem aumentando em função da utilização de VPNs pelas organizações (e pelos atacantes também). Muitas vantagens dos NIDSs não se aplicam mais as modernas redes baseadas em switches. Os switches dividem as redes em pequenos segmentos (usualmente uma estação por porta) e provêm ligações lógicas diretas entre as estações no mesmo equipamento. A maioria dos switchs não tem um sistema de monitoramento de portas e isso limita ao NIDS apenas analisar uma estação. Mesmo que o switch possua o recurso de monitoramento, apenas uma porta não poderá receber todo o tráfego passando pelo equipamento. A maioria dos NIDSs não pode reconhecer se um ataque foi bem sucedido. Eles apenas apontam que um ataque foi iniciado. Dessa maneira eles apenas detectam um ataque, sendo que o administrador de sistemas deve verificar se o host apontado foi atacado. Alguns IDSs baseados em rede têm problemas em lidar com pacotes de dados fragmentados. Esses tipos de pacotes podem até tornar um NIDs instável ou mesmo travar o seu funcionamento. Os HIDSs operam sobre informações coletadas em computadores individuais. Através disso os HIDs podem analisar as atividades das estações com confiança e precisão, determinando exatamente quais processos e usuários estão envolvidos em um tipo particular de ataque no sistema operacional. Além disso, ao contrário dos sistemas baseados em rede, os baseados em host (estação) podem ver as conseqüências de uma tentativa de ataque, como eles podem acessar diretamente e monitorar os arquivos e processos do sistema usualmente alvos de ataques. Alguns HIDSs suportam um gerenciamento centralizado e relatórios que podem permitir que um apenas um console possa gerenciar várias estações. Outros geram mensagens em formatos que são compatíveis com os sistemas de gerenciamento de redes. Segundo BECE, podemos descrever as vantagens dos IDSs baseados em host:
  • 21. 21 Esse tipo de IDS tem a capacidade de monitorar eventos locais de um host, podendo detectar ataques que não poderiam ser detectados por um IDS de rede. Eles podem operar em um ambiente onde o tráfego de rede é criptografado, a informação é analisada antes de ser criptografada na origem, ou depois de ser decriptada no destino. Quando o IDS de host opera em nível de sistema operacional, ele pode ajudar a detectar 'Trojan Horses' ou outros tipos de ataques que envolvam problemas de integridade nos programas. E também as desvantagens: Esse tipo de IDS é difícil de se gerenciar porque cada host monitorado precisa ser configurado. Como as informações utilizadas para análise do HIDS estão armazenadas no host, um atacante pode invadir o sistema e desabilitar essas funcionalidades. Os HIDSs não podem reconhecer ataques que sejam destinados a rede inteira porque apenas conseguem monitorar os pacotes de redes recebidos pelo próprio host. Um IDS baseado em host consome recursos de processamento do host monitorado, influenciando na sua performance. 2.4 Ataques e segurança No entendimento de Uchôa (2005), o monitoramento de arquivos de registro é importante para identificar falhas em serviços, tentativas de invasão e ações anormais no sistema. Toda política de segurança deve ser implementada a partir de um estudo que engloba toda a rede, softwares, hardwares, periféricos e até a cultura da empresa. Também é importante configurar o nível de detalhamento de registro das informações de acordo com a necessidade da empresa e criticidade do serviço. Existem utilitários, como o logwatch, que permitem informar ao superusuário através de e-mail sobre registros ligados à segurança do sistema. É importante inspecionar arquivos de registro para verificar atividades suspeitas. Por exemplo, nos arquivos de registro podem ser encontrados IP's que não deveriam estar acessando a rede, ou registro de atividades suspeitas em horários incomuns. Um atacante pode camuflar uma invasão substituindo arquivos de registro de um computador. Para identificar ações realizadas pelo atacante, o administrador deve
  • 22. 22 utilizar ferramentas de verificação de integridade. 2.5 Mecanismo de segurança O SNORT é uma ferramenta NIDS desenvolvido por Martin Roesch "open-source" bastante popular por sua flexibilidade nas configurações de regras e constante atualização frente às novas ferramentas de invasão. Outro ponto forte desta ferramenta é o fato de ter o maior cadastro de assinaturas, ser leve, pequeno, fazer escaneamento do micro e verificar anomalias dentro de toda a rede ao qual seu computador pertence. O código fonte é otimizado, desenvolvido em módulos utilizando linguagem de programação C e, junto, com a documentação, são de domínio público. O Snort conta ainda, com o permanente desenvolvimento e atualização, que são feitos diariamente, tanto em relação ao código propriamente dito, como das regras de detecção. Os padrões utilizados na construção das regras de detecção das subversões são introduzidos no sistema de configuração, tão rápido quando são enviados os alertas originados pelos órgãos responsáveis, como por exemplo o CERT, Bugtraq (lista de discussão), entre outros. Por ser uma ferramenta peso leve, a utilização do Snort é indicada para monitorar redes TCP/IP pequenas, onde pode detectar uma grande variedade do tráfego suspeito, assim como ataques externos e então, fornece argumento para as decisões dos administradores. Os módulos que compõe o Snort são ferramentas poderosas, capazes de produzir uma grande quantidade de informação sobre os ataques monitorados, dado que é possível avaliar tanto o cabeçalho quanto o conteúdo dos pacotes, além de disponibilizar, por exemplo, a opção de capturar uma sessão inteira. O Snort monitora o tráfego de pacotes em redes IP, realizando análises em tempo real sobre diversos protocolos (nível de rede e aplicação) e sobre o conteúdo (hexa e ASCII).
  • 23. 23 Outro ponto positivo desse software é o grande número de possibilidades de tratamento dos alertas gerados. O subsistema de registro e alerta é selecionado em tempo de execução através de argumentos na linha de comando, são três opções de registro e cinco de alerta. O registro pode ser configurado para armazenar pacotes decodificados e legíveis em uma estrutura de diretório baseada em IP, ou no formato binário do tcpdump em um único arquivo. Para um incremento de desempenho, o registro pode ser desligado completamente, permanecendo os alertas. Já os alertas podem, ser enviados ao syslog, registrados num arquivo de texto puro em dois formatos diferentes, ou ser enviados como mensagens WinPopup usando o smbclient. Os alertas podem ser enviados para arquivo texto de forma completa e o alerta rápido. O alerta completo escreve a mensagem de alerta associada à regra e a informação do cabeçalho do pacote até o protocolo de camada de transporte. A opção de alerta rápido escreve um subconjunto condensado de informação do cabeçalho alerta. Por fim, uma última opção desabilita os alertas completamente.Existe também, a possibilidade de utilizar métodos como o Database Plug-in por exemplo, para registrar pacotes em uma variedade de bases de dados diferentes (MySQL, PostgreSQL, entre outros), as quais contam com recursos próprios para efetuar consultas, correlações e dispõem de mecanismos de visualização para analisar dados.
  • 24. 24 3. Segurança com servidores Linux A segurança com servidores Linux hoje e um dos pontos positivos entre os administradores de rede por nos trazer uma segurança muito grande quando falamos em serviços de sistemas críticos, a grande vantagem de trabalhar com servidores Linux que os serviços que podemos utilizar têm como ponto positivo a segurança que comparada a de outros sistemas operacionais não e tão forte quanto aos agregados ao Linux, programas como vírus e outras pragas torna-se inúteis, pois tem sua ação limitada pelas restrições de acesso que existe no sistema de arquivos do Linux, o Linux também e vulnerável a vírus,mas devido a essa separação de privilégios entre processos a segurança prevalece e por isso hoje as empresas estão migrando para servidores com sistema operacional Linux. 3.1 História do Linux O Linux nasceu em 1991 como um projeto pessoal de Linus Torvalds, o Linux e projeto ramificado do antigo Minix, um sistema operacional escrito por Andrew Tanenbaum, de fato o Linux gero para o mundo um grande interesse de estudo e logo seu kernel assumiu vida própria. Apesar de o Linux ter grandes características do UNIX não podemos apontar sua origem para ele, pois o UNIX vem de algumas décadas atrás, o sistema criado foi em 1969 como um projeto de pesquisa no AT&T Bell Labs e em 1976 o UNIX ficou gratuito nas universidades e assim tornou-se base para diversas distribuições. O Linux é desenvolvido e mantido por muitas pessoas ao redor do mundo como programadores, hackers de alguma forma contribuem para manter o kernel gratuitamente. 3.2 Servidores Linux Os servidores Linux hoje em dia nos traz uma grande gama de serviços que podemos usar sem medo de ser feliz, por ser todos softwares livres e distribuídos
  • 25. 25 pela licença GPL (General Public Licence), sem dizer que temos várias distribuições para escolher, as mais usadas são Debian, CentOS, Fedora, ou RedHat Enterprise, para quem precisa de suporte comercial, Ubuntu. De acordo com Morimoto, Carlos, (2008), - Servidores são maquinas que deve ficar ligadas o tempo todo, sempre executando a mesma coisa. Existem vários tipos de servidores, como servidores web, servidores de arquivos, Servidores de impressão, etc. sendo que uma única e exclusivamente máquina pode rodar vários serviços simultaneamente só dependendo da configuração de hardware e da demanda. 3.3 Servidores de rede local De acordo com Tanenbaum Andrew, (2001) – As redes locais que são chamadas muitas vezes de LANS, são exatamente redes privadas para certos lugares como edifícios, campus universitário e empresa. Essa rede local abrange alguns quilômetros de extensão. Elas são amplamente usadas para fazer a conexão de computadores pessoais e estações de trabalho em escritórios e instalações industriais de empresa. Utilizando esse recurso da rede LAN podemos fazer compartilhamento de impressoras e a troca de informações em tempo real. A rede LAN possui três características forte que distinguem de outros tipos de redes: (1) tamanho, (2) transmissão, (3) topologia. A rede Lan tem um tamanho restrito, o que significa que o pior tempo de transmissão é limitado e conhecido com bastante antecedência. Também a rede Lan é composta por cabos que interligam aos computadores com isso diminuindo os erros e mantendo a estabilidade da conexão sempre boas. Dentro de uma rede local, tudo começa com o cabeamento, onde você pode empregar uma combinação de rede cabeada e pontos de acesso wireless. As redes cabeadas oferecem como vantagem a velocidade e a estabilidade da conexão, enquanto as redes wireless primam pela praticidade, de forma que o ideal acaba sendo usar uma combinação das duas. (MORIMOTO, CARLOS, 2011)
  • 26. 26 3.4 Servidores de internet Os servidores de Internet são maquinas feitas para controlar o acesso de uma rede ao acesso na Internet, a verificação de segurança baseada em pacotes, portas, mais é feito no através do mesmo. Isto não significa que tais verificações também não sejam feitas em outros locais, como nos firewalls das estações de trabalho. O servidor de internet também pode implementar funções de cache de páginas de internet, log de acessos ou conversas em chats. A principal vantagem de utilizar um computador como servidor de internet é que há uma gama muito maior em termos de serviços disponíveis, o que nem sempre é possível em dispositivos compactos como os roteadores, que também podem fazer o papel de “servidores de internet”, por assim dizer. Hoje em dia, com a popularização do Linux a maior parte dos servidores de internet o utilizam. Além de oferecer maior segurança, é um sistema gratuito com centenas de ferramentas também gratuitas à disposição. A internet e formada por uma malha de cabos de fibra ótica, que interligam praticamente toso os países. Mesmo em locais mais remotos, é possível se conectar via modem, via celular ou algum tipo de rede sem fio de longa distância, ou até mesmo via satélite. A peça central são os roteadores, que interligam diferentes segmentos da rede, formando uma coisa só. Cada roteador conhece os vizinhos, sabe quais redes estão conectadas a eles e sabe escolher o caminho mais curto para cada pacotes de dados (MORIMOTO, 2008, p. 20.)
  • 27. 27 4. Firewall Um servidor com que contém o serviço de Firewall tem como principal função bloquear portas para evitar invasões e ataques de terceiros, pode ser definido como um sistema que controla os pacotes e conexões de rede que passam por ele, seja no sentido de entrada ou na saída Muitos administradores de rede prefere deixar apenas a porta ssh aberta e fechando todas as outras portas e assim abrindo conforme a necessidade da rede interna isso é de grande importância para a segurança da rede interna. Uma definição bem básica diz que o Firewall tem como o principal objetivo proteger uma ou mais redes internas de outras redes. Figura 03: Funcionamento Firewall Iptables Fonte: Elaborado pelo Autor. Agora serão demonstradas algumas regras básicas do Firewall e logo em seguida será demonstrado um script com passo a passo em pleno funcionamento. O comando iptables é o responsável por ler todos os parâmetros que o script pode ter e atualizar os mesmo, no decorrer do script será visto alguns comandos importante como Accept que é quando algum pacote ou ip pode ser aceito na rede, também
  • 28. 28 tem o comando reject e Drop que é quando algum pacote deve ser bloqueado pelo filtro do iptables assim o mesmo não pode passar para a rede interna. A função básica de um firewall em um servidor é bloquear o acesso a portas que não estão em uso, evitando assim a exposição de serviços vulneráveis, ou que não devem receber conexões por parte da internet. (MORIMOTO, CARLOS, 2008), 4.1 Níveis de segurança Os IPTABLES é um dos firewall em software livre mais utilizados, e como ele já vem instalado por padrão, na maioria das distribuições Linux e pelo fato dele ser bom de desempenho, ter um nível de segurança considerável e ser de fácil configuração ele será utilizado para proteger o sistema operacional e a rede. Porem todos os servidores em uma rede deve ser assegurado individualmente e monitorado com ferramentas de segurança como o crack, tcpd, nmap, COPS e tripwire. Com a existência dos firewall, nenhum risco estará associado, pois o firewall não permitirá que este serviço seja acessível via rede. Além disso, o firewall registra todos os acessos à máquina melhorando o nível de segurança e rastreabilidade; e ainda pode identificar e bloquear ataques mesmo em algumas portas liberadas, identificando pacotes com formação anômala. (SILVA 2008 p. 201) 4.2 Configurações de um Firewall no Linux Neste Capitulo será apresentada uma estrutura de um Firewall Iptables configurado com base o sistema operacional Linux, ter um bom script de Firewall e muito importante para obter uma rede segura e livre de ameaças, um arquivo de script bem configurado com todas as regras implementadas de forma designada a serviços necessários dentro da rede. As linhas de script abaixo são muito importantes pois verifica tudo que entra e sai da rede, o arquivo e responsável pelo bloquei oi liberação de todo acesso que trafega na rede, todas as configurações são inseridas neste arquivo que fica encarregado por bloquear algum tipo de invasão e sites que não devem ser acessados.
  • 29. 29 Além de proteger maquinas individuais, o firewall pode ser implementado com algumas precauções de segurança em nível de rede, há três categorias principais de firewall: são eles filtragem de pacotes, proxy de serviço e inspeção de estados. (NEMETH, 2004, p. 504) Arquivo de configuração do Firewall movido para Anexo 4.3 Filtragens de pacotes A filtragem de pacotes é relativamente a forma de bloquear ou liberar dados que trafegam em uma determinada rede de uma forma seletiva conforme os dados atravessam uma interface. Os critérios usados são os endereços de origem e destino, porta de origem e destino e protocolo. A filtragem tem suas regras definidas que especificam critérios em que o pacote deve se enquadrar, um Firewall configurado para filtragem de pacotes tem a finalidade de limitar os tipos de trafego que podem passar através de um gateway de Internet ou através de um gateway interno que separa domínios dentro de uma empresa baseando em informações contidas no cabeçalho do pacote. É bem semelhante atravessar um fronteira internacional de carro passando por um posto alfandegário. Se especificado os endereços de destino, números de portas e tipos de protocolos que são aceitáveis, o gateway simplesmente descarta pacotes que não atendem ao perfil preestabelecido (NEMETH, 2004,) Em geral, os firewalls configurados para filtragem de pacotes oferecem um aumento muito significativo na segurança e com baixo custo em termos de desempenho ou de complexidade (NEMETH, 2004, p. 504.)
  • 30. 30 5. Servidor Proxy Squid O serviço Squid permite compartilhar a conexão para vários computadores, trabalhando como um intermédio entre os computadores e a internet. Ele faz o trabalho de guardar os cachês mais acessados das páginas web assim deixando a conexão mais rápida, pois o tempo de resposta é mais eficiente. O squid também pode ser utilizado como um servidor Proxy, temos também a conexão via Nat, essa conexão faz com que os computadores da rede acessam a internet diretamente, sem restrições. O Proxy já é diferente ele é mais burocrático ele se limita a passar as requisições antes ele analisa todo o trafego de dados e assim vai separando o que pode ou não pode passar e guardando as informações para usar posteriormente. Um servidor Webproxy é capaz de analisar pacotes na camada de aplicativo (camada 7). Isto oferece uma flexibilidade muito maior, porque permite que o trafego dentro de um serviço, como o trafego da porta 80 (http) possa ser filtrado. (RICCI, BRUNO, 2006, p. 02), 5.1 Configuração Proxy Squid O Squid é composto por um único pacote com isso fica mais fácil a configuração e a criação de regras de acesso para segurança da rede local, abaixo temos um configuração completa feita para melhor desempenho em segurança da rede. Figura 4: Funcionamento Proxy Web Squid
  • 31. 31 Fonte: Elaborado pelo autor Toda a configuração do squid é feita nesse arquivo. A configuração descrita abaixo está de forma transparente na rede ou seja assim que o serviço e ativado em modo transparente na rede todas as maquinas já estão sendo filtradas pelas regras, lembrando que o proxy trabalha em conjunto com Firewall. Arquivo de configuração do Squid movido para anexo
  • 32. 32 6. Políticas de Segurança Política de segurança e um quesito indispensável em qualquer rede, seja ela pequena, média e grande, pois o impacto que traz para possíveis causas de quebra de informações e vulnerabilidade e muito grande quando se diz respeito à usuário e sistemas. Independente das ferramentas que esteja sendo usada para proteção de uma rede é de grande importância uma que haja sempre uma boa política de segurança implantada para minimizar riscos que possa vir a ocorrer, pois de fato boa parte de causas que envolvem vírus, trojans e spywares e falhas nos sistemas e devido ao uso incorreto de usuários sem conhecimento o qualquer tipo de malicia na internet. Decisões relacionadas a políticas de segurança a ser tomada ou não tem que determinar uma grande segurança da rede, porém não e de bom tom que decisões sejam tomadas sem antes ter identificado as metas para segurança. Seja lá qual for a política de segurança adotada, ela deve ser explicita, por escrito, entendida e assinada por todos os usuários e administradores de sistemas. O cumprimento da política deve ser consistente, até mesmo quando os usuários são clientes que estão pagando por serviços computacionais. A falha na aplicação de políticas enfraquece sua validade legal e perceptível. (NEMETH, 2004, p. 618.)
  • 33. 33 6.1 Procedimentos de segurança Um procedimento de segurança deve definir:  Uma lista contendo todos serviços de rede que serão oferecidos;  Quais áreas e departamentos proverão os serviços;  Quem terá acesso a esses serviços;  Como será provido o acesso;  Quem administrara esses serviços De acordo com NEMETH 2008 Outras questões de política importante que podem ter um escopo mais abrangente do que simplesmente seu grupo de administrador de sistema local são:  Tratamento de brechas de segurança  Controle de exportação de sistemas de arquivos  Critérios para seleção de senhas  Remoção de logins motivadas  Material envolvendo direitos autorais
  • 34. 34 7. Revisão Bibliográfica TANENBAUM (2001, p. 54), em “Redes de Computadores”, citado nos capítulos 1 observa a que a internet tem por finalidade ser a tecnologia de todos e para tudo, não existe um dono, parecer estranho mas é a realidade, a internet e o maior meio de comunicação hoje em dia, o autor cita isso de forma clara, isso sem dúvida fundamentou grande importância na abordagem SRL. NEMETH (2004, p. 486), em sua obra “Manual Completo do Linux”, referenciado no capítulo 21, define que as tecnologias atuais e de fato algo de extrema importância e responsabilidade, isso com certeza traz garantia e segurança, confiabilidade e maior comprometimento dos usuários. MORIMOTO (2008, p. 16), em sua obra “Servidores Linux: Guia Prático”, referenciado no capítulo 1, define que servidores Linux podem ser divididos em dois grandes grupos, isso difere muito na segurança pois temos os servidores locais e servidores de internet, cada um realizando sua devida missão e de fato é uma importância enormena abordagem da segurança em redes Linux. Ricci (2008, p. 1,), em sua obra “Squid: Solução Definitiva”, referenciado no capítulo 1,7 define que Proxy refere-se a um software que atua como gateway de aplicação entre o cliente e o serviço a ser acessado, interpretando as requisições e repassando-as ao servidor de destino, isso sem dúvida é fator primordial e uns dos diversos pontos positivos de segurança para rede, assim os benefícios são maiores ao ter a integração de proxy junto a solução de firewall, somando segurança mais confiabilidade dentro da rede, protegendo a rede provada contra os acessos indevidos de uma rede pública com esses pontos o autor me trouxe conhecimento que foram fundamentais na abordagem dos servidores críticos.
  • 35. 35 8. Conclusão A segurança em redes independente do sistema operacional e ferramentas utilizadas requer significativamente grande grau de conhecimento e estudo, com a rápida evolução da tecnologia e os diversos meios de comunicação que temos no dia de hoje fica bem claro que de fato segurança e ponto que engloba muita coisa quando se diz respeito a ambiente seja ele doméstico ou corporativo. Neste trabalho foi desenvolvido e mostrado tecnologias que ajudam a minimizar a falta de segurança e falta de conhecimento de usuários de diversos tipos de rede. Porem um administrador de rede que utilizando sistema operacional Linux e implementa aplicações como um bom firewall, servidor proxy, ferramentas de segurança e uma política de segurança, tende a minimizar possíveis falhas que pode existir em uma rede sem um gerenciamento correto. Após entender os riscos que a internet pode trazer e com base em estudos realizados durante o desenvolvimento deste trabalho, os benefícios que gera com a utilização de todas as aplicações mostradas foram as principais contribuição para meu conhecimento. A utilização dessa ferramentas de segurança torna possível proteger, monitorar e recuperar um sistema após um possível ataque ou até mesmo descumprimento de políticas. Chegamos à conclusão que, apesar de não ser possível proteger totalmente os servidores, os administradores utilizando diversas técnicas e tecnologias como as descritas podem garantir um alto nível de segurança.
  • 36. 36 9. Referências Bibliográficas TANEBAUM, Andrew. Redes de computadores 4ª ed. Amsterdam: editora Campus. 2003 STALLING, Willian. Criptografia e Segurança de Redes: princípios e praticas – 4 ed. Editora person. 2007 NEMETH, Evi; SNYDER, Garth; Hein, Trent R. Manual Completo de linux: guia do administrador – 2 ed. São Paulo: Pearson Makron Books, 2004. KUROSE, James F.; ROSS, Keith W. - Redes de Computadores e a Internet: uma abordagem top-down - 5 ed. São Paulo: Editora Pearson RICCI, Bruno. Squid: solução definitiva. São Paulo: Editora Ciência Moderna. 2006 MORIMOTO, Carlos Eduardo - Servidores Linux: Guia prático. Porto alegre: Sul Editores. 2008 UCHÔA, Joaquim Quinteiro. Segurança Computacional. Lavras: UFLA/FAEPE, 2005. Outras Referências: SILVA, Gilson Marques da. Segurança em Redes Linux: princípios e praticas – 1 ed. São Paulo: Editora Ciência Moderna, 2008 COULOURIS, Geoge; DOLLIMORE, Jean; KINDBERG, Tim. – Sistemas Distribuídos: Conceitos e projetos – 4 ed. Porto Alegre: Bookman, 2007. Referências Eletrônicas: Hammershmitt, Gisele. Breve História da internet. Disponível em <http://gihammer.wordpress.com/2008/03/07/breve-historia-da-internet/>. Acesso em 19 março 2013.
  • 37. 37 10. Anexos 10.1 Arquivo de configuração de um Firewall (Iptables) #!/bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/tcp_syncookies #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts /sbin/modprobe ip_tables /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp ### protecao contra flooding for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f done ### logar pacotes estranhos for f in /proc/sys/net/ipv4/conf/*/log_martians; do echo 0 > $f done ### firewall="/etc/firewall" ip_interno="$(cat ${firewall}/ip_interno)" ip_valido="$(cat ${firewall}/ip_externo)"
  • 38. 38 rede_interna="$(cat ${firewall}/rede_interna)" iptables="/sbin/iptables" caixa=$(nslookup -sil cmt.caixa.gov.br | grep -v # |grep Address | awk '{print $2}' ) caixa=$(nslookup -sil conectividade.caixa.gov.br | grep -v # |grep Address | awk '{print $2}' ) orkut=$(nslookup -sil www.orkut.com.br | grep -v # |grep Address | awk '{print $2}' ) if [ "$1" != "blockip" ]; then $iptables -F $iptables -t nat -F ######## $iptables -X $iptables -X FIREWALL >/dev/null 2>&1 ######## $iptables -P INPUT DROP $iptables -P FORWARD DROP $iptables -P OUTPUT ACCEPT ######## $iptables -N FIREWALL $iptables -A FIREWALL -m limit --limit 20/minute -j LOG --log-level info --log-prefix "FIREWALL: " $iptables -A FIREWALL -j DROP # Permitir pacotes de conexões estabelecidas $iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 39. 39 $iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Loopback local $iptables -A INPUT -i lo -j ACCEPT # Não permitir pacotes na interface errada $iptables -A INPUT -s 192.168.0.0/16 -i eth0 -j DROP $iptables -A FORWARD -s 192.168.0.0/16 -i eth0 -j DROP # DNS $iptables -A INPUT -p tcp --dport 53 -j ACCEPT $iptables -A INPUT -p udp --dport 53 -j ACCEPT # Regras de ICMP $iptables -A INPUT -p icmp -j ACCEPT $iptables -A INPUT -p icmp -i eth1 -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 5 -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 11 -j ACCEPT $iptables -A INPUT -p icmp -s $ip_valido -j ACCEPT $iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT $iptables -A FORWARD -p icmp --icmp-type 3 -j ACCEPT $iptables -A FORWARD -p icmp --icmp-type 5 -j ACCEPT $iptables -A FORWARD -p icmp --icmp-type 11 -j ACCEPT ##############################################################
  • 40. 40 #Regras de liberação por porta (interno e externo) - Arquivo /etc/firewall/portas_entrada entrada=$(cat ${firewall}/portas_entrada | awk '{print $1}' ) for port in $entrada; do $iptables -A INPUT -p tcp -i eth1 -s $rede_interna -d $ip_interno --dport $port -j ACCEPT $iptables -A INPUT -p tcp -i eth0 -s ! $rede_interna -d $ip_valido --dport $port -j ACCEPT done ### Regras de liberação por porta (somente interno) - Arquivo /etc/firewall/portas_interno interno=$(cat ${firewall}/portas_interno | awk '{print $1}' ) for port in $interno; do $iptables -A INPUT -p tcp -i eth1 -s $rede_interna -d $ip_interno --dport $port -j ACCEPT done ### Liberação acesso Samba ### samba=$(cat ${firewall}/samba | awk '{print $1}' ) for ip in $samba; do $iptables -A INPUT -i eth1 -s $ip -p udp -d $ip_interno -j ACCEPT $iptables -A INPUT -i eth1 -s $ip -p tcp -d $ip_interno --dport 135:139 -j ACCEPT $iptables -A INPUT -i eth1 -s $ip -p tcp -d $ip_interno --dport 445 -j ACCEPT done
  • 41. 41 ## Liberação acesso SSH ### - Arquivo /etc/firewall/ssh ssh=$(cat ${firewall}/ssh | awk '{print $1}' ) for ip in $ssh; do $iptables -A INPUT -i eth1 -s $ip -p tcp --sport 1024:65535 -d $ip_interno --dport 22 -j ACCEPT done ### Mascaramento de IP's ## - Arquivo /etc/firewall/masquerade masquerade=$(cat ${firewall}/masquerade | awk '{print $1}' ) for ip in $masquerade; do $iptables -A FORWARD -d $ip -j ACCEPT $iptables -A FORWARD -s $ip -j ACCEPT $iptables -A INPUT -s $ip -j ACCEPT $iptables -t nat -A POSTROUTING -s $ip -j MASQUERADE done ### Bloqueio de IP's #### - Arquivo /etc/firewall/blockip fi blockip=$(cat ${firewall}/blockip | awk '{print $1}' ) for ip in $blockip; do $iptables -I INPUT -s $ip -j DROP $iptables -I INPUT -s $ip -m limit --limit 18/minute -j LOG --log-level info --log-prefix "IP Bloqueado: " $iptables -I FORWARD -s $ip -j DROP $iptables -I FORWARD -s $ip -m limit --limit 18/minute -j LOG --log-level info --log- prefix "IP Bloqueado: "
  • 42. 42 done if [ "$1" != "blockip" ]; then #mascaramento local masq_local=$(cat ${firewall}/masq_local | awk '{print $1}' ) for ip in $masq_local; do $iptables -t nat -A POSTROUTING -o eth0 -s $rede_interna -d $ip -j MASQUERADE $iptables -A FORWARD -s $rede_interna -d $ip -j ACCEPT $iptables -A FORWARD -d $rede_interna -s $ip -j ACCEPT done # Redirecionamento para o squid $iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -m multiport -d ${caixa}/16 - -dport 80,443 -j ACCEPT $iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 10.100.0.0/16 -j ACCEPT $iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 200.139.97.224/28 -j ACCEPT $iptables -t nat -A PREROUTING -p tcp -s 10.100.0.0/16 -d 200.173.13.80/28 -j ACCEPT # Liberação para configuração do IE7, necessária na primeira inicialização do IE7 $iptables -t nat -A POSTROUTING -p tcp -s 10.100.0.0/16 -d 65.55.0.0/16 --dport 80 -j MASQUERADE $iptables -A FORWARD -s 10.100.0.0/16 -d 65.55.0.0/16 -j ACCEPT $iptables -A FORWARD -d 10.100.0.0/16 -s 65.55.0.0/16 -j ACCEPT #----Redirecionamento para o sistema interno
  • 43. 43 #$iptables -t nat -I PREROUTING -p tcp -d 200.173.13.87 --dport 8080 -j DNAT --to 10.100.0.247:80 #$iptables -I FORWARD -p tcp -d 10.100.0.247 --dport 80 -j ACCEPT #$iptables -I FORWARD -p tcp -s 10.100.0.247 --sport 80 -j ACCEPT #Bloquear o site facebook FACEBOOK_IP_RANGE=”31.13.64.0-31.13.127.255 31.13.24.0-31.13.31.255 74.119.76.0-74.119.79.255 69.63.176.0-69.63.191.255 69.171.224.0-69.171.255.255 66.220.144.0-66.220.159.255 204.15.20.0-204.15.23.255 173.252.64.0- 173.252.127.255” Iptables –N FACEBOOK # FACEBOOK DENY For face in $FACEBOOK_IP_RANGE; do Iptables –I FORWARD –M tcp –p tcp –m iprange –dst-range $face –dport 443 –j FACEBOOK Iptables –I FORWARD –m tcp –p tcp –m iprange –dst-range $face –dport 80 –j FACEBOOK Done FACEBOOK_ALLOW=” 0x:30:67:3x:b9:ad zz:24:2c:aa:2d:55” #MSR_LIBERADO For MSR_LIBERADO in $FACEBOOK_ALLOW; Do Iptables –I FACEBOOK –m mac –mac-source $MSR_LIBERADO –j ACCEPT Done
  • 44. 44 Iptables –A FACEBOOK –j reject $iptables -I FORWARD -d $excessoes -s 207.46.0.0/16 -j ACCEPT $iptables -I FORWARD -s $excessoes -d 207.46.0.0/16 -j ACCEPT done #-------Windows update update=$(cat ${firewall}/winupdate | awk '{print $1}' ) for update in $update; do $iptables -t nat -I POSTROUTING -s $rede_interna -d $update -j MASQUERADE $iptables -I FORWARD -s $rede_interna -d $update -j ACCEPT Fonte: Configuração retirada do local de trabalho (Mercatudo Casas André Luiz) (firewall.sh) Rodando em um servidor com Linux CentOS 6 Server.
  • 45. 45 10.2 Arquivo do de configuração do Proxy (Squid) # Porta onde o servidor ficará disponível e o Proxy transparente HTTP_port 3128 transparent Icp_port 3130 Htcp_port 0 Visible_hostname Mercatudo Tcp_outgoing_adress 255.255.255.255 Udp_incoming_address 0.0.0.0 Udp_outgoing_address 255.255.255.255 Icp_query_timeout 0 Maximum_icp_query_timeout 2000 Mcast_icp_query_timeout 2000 Dead_peer_timeout 10 seconds Hierarchy_stoplistcgi-bin ? # Proibir Musica Acl_proibir musica urlpath_regex –I “/etc/squid/proibir_musica” Acl query urlpath_regexcgi-bin ? No_cachedeny query # Quantidade de memória Ram usada para cachê: Cachê_mem 128 mb # Porcetagem no qual o squid começará a descartar os arquivos mais antigos em cachê: Cachê_swap_low 90 Cachê_swap_high 95 # Quantidade de memória em disco usado para cachê: Maximum_object_size 512 mb Minumum_object_size 0 kb
  • 46. 46 # Determina o tamanho maximo dos arquivos que serão guardados no cachê feito na memória RAM: Maximum_object_size_in_memory 8 kb Ipcache_size 1024 Ipcache_low 90 Ipcache_high 95 Fqdncache_size 1024 Cache_ replacement_policylru Memory_replacement_policylry # Monitorar o log usando o login no lugar do ip da máquina: Log_fqdn on Log_ip_on_direct on Hosts_file /etc/hosts # Caminho onde serão armazenados os arquivos de log. # Quantidade de espaço no HD= 2048 Cache_dirufs /var/spool/squid 204816 256 Cache_acess_log /var/log/squid/acess.log Cache_log /var/log/squid/store.log # atualização do cache Refresh_pattern ^ftp: 15 20% 2280 Refresh_pattern . 15 20% 2280 # FTP_usersquid@mcal.com.br FTP_list_width 32 FTP_passive on ftp_sanitycheck on dns_retransmit_interval 5 seconds dns_timeout 5 minutes
  • 47. 47 # Define as palavras que serão liberadas pelo squid: acl whitelist url_regex “/etc/squid/whitelist” # Define as palavras que serão bloqueadas pelo squid: Acl blacklist url_regex “/etc/squid/blacklist” # Regra mime Acl streaming rep_mime_type –I “/etc/squid/mimeaplicativo” # Login-internet-acl # Regras-almoço-https Aclalmoço-https-time time “/etc/squid/grupos/almoço-https.time” Acl almoço-https-srcsrc “/etc/squid/grupos/almoco-https.src Aclalmoço-https-dstdomain-allow dstdomain “/etc/squid/grupos/almoco- https.dstdomain.allow” Aclalmoco-https-url_regex-allow url_regex “/etc/squid/grupos/almoco- https.url_regex.allow Aclalmoco-https-dstdomain-deny dstdomain “/etc/squid/grupos/alomoco- https.dstdomain.deny” Aclalmoco-https-url_regex-deny url_regex “/etc/squid/grupos/almoco- https.url_regex.deny” http_acess deny almoco-https !almoco-https-time http_acess allow almoco-https-srcalmoco-https-time almoco-https-dstdomain-allow http_acess allow almoco-https-srcalmoco-https-time almoco-https-url_regex-allow http_acess deny almoco-https-srcalmoco-https-time almoco-https-dstdomain-deny http_acess deny almoco-https-srcalmoco-https-time almoco-https-url_regex-deny # Regra-Faculdades Acl faculdades-time time “/etc/squid/grupos/faculdades.time” Acl faculdades-srcsrc “/etc/aquid/grupos/faculdades.src” Acl faculdades-dstdomain-allowdstdomain “/etc/squid/grupos/faculdades.dsrdomain.aloow” Acl faculdades-url_regex-allowurl_regex “/etc/squid/grupos/faculdades.url_regex.allow”
  • 48. 48 Acl faculdades-dstdomain-denydstdomain “/etc/squid/grupos/faculdades.dstdomain.deny” Acl faculdades-url_regex-denyurl_regex “etc/squid/grupos/faculdades.url_regex.deny” http_acessdeny faculdades-src !faculdades-time http_acessallow faculdades-src faculdades-time faculdades-dstdomain-allow http_acessallow faculdades-src faculdades-time faculdades-url_regex-allow http_acessdeny faculdades-src !faculdades-time faculdades-dstdomain-deny http_accessdeny faculdades-src !faculdades-time faculdades-url_regex-deny # Regras geral-usuário Acl usergeralsrc “/etc/squid/grupos/usergeral_src” http_acess allow usergeral # Configuração mínima recomendada Aclallsrc 0.0.0.0/0.0.0.0 # Define o range da rede interna: Aclminharedesrc 10.100.0.0/255.255.0.0 Acl manager protocachê_object Acllocalhostsrc 127.0.0.1/255.255.255.255 Aclssl_ports port 443 563 Aclsafe_ports port 80 # http Aclsafe_ports port 21 # ftp Aclsafe_ports port 443 563 # https, snews Aclsafe_ports port 70 # gopher Aclsafe_ports port 210 # wais Aclsafe_ports port 1025-65535 #-unregistered ports Aclsafe_ports port 280 # http-mgmt Aclsafe_ports port 488 # gss-http Aclsafe_ports port 591 #filemaker Aclsafe_ports port 631 #cups Aclsafe_ports port 777 # multiling http
  • 49. 49 Aclsafe_ports port 901 # swat Acl purge method PURGE Acl CONNECT method CONNECT # Only allow cachemgracess from localhost http_acess allow manager localhost http_acess deny manager # Only allow purge requests from localhost http_acess allow paurgelocalhost http_acess deny purge # Deny requests to unknown ports http_acess deny !safe_ports # Deny CONNECT to other than SSL ports http_acess deny CONNECT !SSL_ports # insert your own rule (s) here to allow acess from your clients http_acess allow localhost http_acess allow whitelist #http_acess deny proibidos http_acess deny blacklist http_acess deny proibir_musica http_acess allow minharede #streaming http_reply_acess deny streaming #and finally deny all other acess to this proxy http_acess deny all #allow icp queries from everyone Icp_acess allow all #redirect_program /usr/bin/squidguard –c /etc/squid/squidguard.conf Fonte: Elaborado pelo autor - Configuração retirada do local de trabalho (Mercatudo Casas André Luiz, Rodando em um servidor com Linux CentOS 6 Server.
  • 50. 50 11. Termo de compromisso e responsabilidade Autenticidade e exclusividade sob as penas da Lei 9610/98 Pelo presente, o abaixo assinado declara, sob as penas da lei, que o presente trabalho é inédito e original, desenvolvido especialmente para os fins educacionais a que se destina e que, sob nenhuma hipótese, fere o direito de autoria de outrem. Para maior clareza, firmo o presente termo de originalidade. Guarulhos, 08 de 09 de 2013