FACULDADE PITÁGORAS – BELO HORIZONTE




ADMINISTRAÇÃO DE SERVIÇOS EM SISTEMAS DE ARQUITETURA ABERTA




                                                    Allan S. Reis
                                                  Elvis de Souza
                                                  Marco Antonio
                                                  Thiago George




                       Belo Horizonte
                            2010
ALLAN S. REIS, ELVIS DE SOUZA, MARCO ANTONIO & THIAGO GEORGE




     MECANISMOS DE SEGURANÇA EM DISTRIBUIÇÕES LINUX




                                        Trabalho apresentado à disciplina
                                        Administração de Serviços em
                                        Sistemas de Arquitetura Aberta do
                                        curso Superior de Tecnologia em
                                        Redes de Computadores da
                                        Faculdade    Pitágoras – Belo
                                        Horizonte como requisito parcial de
                                        obtenção de pontos na disciplina.
                                        Professor: Thiago Moraes




                       Belo Horizonte
                            2010
                                                                         2
SUMÁRIO


   1 INTRODUÇÃO......................................................................................................................5
2 FIREWALL...................................................................................................................................6
  2.1 Conceito..................................................................................................................................6
  2.2 Filtros de Pacotes....................................................................................................................6
  2.3 IPTABLES..............................................................................................................................7
     2.3.1 Tabelas.............................................................................................................................8
     2.3.2 Cadeias.............................................................................................................................8
     2.3.3 Regras..............................................................................................................................9
     2.3.4 Alvo...............................................................................................................................10
3 PROXY........................................................................................................................................11
  3.1 Conceito................................................................................................................................11
  3.2 SQUID..................................................................................................................................11
  4.1 Conceito................................................................................................................................14
   Rede Privada Virtual, ou Virtual Private Network (VPN), é uma rede privativa construída
  sobre a infra-estrutura de uma rede pública, geralmente a Internet que assegura a privacidade e
  integridade das comunicações, utilizando as mais avançadas tecnologias de criptografia e
  substituindo os links dedicados e de longa distância .................................................................14
   Permite que as empresas criem uma rede totalmente integrada que pode tráfegar voz, dados e
  vídeo além da reduzir os custos com links.................................................................................14
  4.2 Open VPN.............................................................................................................................14
   O OpenVPN oferece vários recursos de segurança internos. Tem a habilidade de bloquear os
  privilégios de acesso root, e oferece suporte a smart card através de criptografia baseada em
  token PKCS#11..........................................................................................................................14




                                                                                                                                               3
LISTA DE FIGURAS




                   4
1 INTRODUÇÃO




      Estamos em um mundo globalizado, onde a informação, independente do seu
formato, é um dos maiores patrimônios de uma organização moderna. Considerada um
ativo importantíssimo para a realização do negócio a informação deve ser protegida e
gerenciada.
      Percebemos que nos últimos anos as tecnologias de informação e comunicação
têm evoluído de forma rápida, fazendo com que as organizações tenham maior
eficiência e rapidez nas tomadas de decisões, devido a este fato as chances de uma
empresa não usar sistemas de informação tornou-se praticamente nula. Neste contexto
a importância de se utilizar mecanismos de segurança é vital para a sobrevivência e
competitividade destas organizações.




                                                                                  5
2 FIREWALL




2.1 Conceito




     Firewall é um dispositivo de rede que tem a função de aplicar uma política de
segurança a um determinado ponto de controle da rede. Seu objetivo é regular o
tráfego de dados entre várias redes, impedindo o envio e/ou recebimento de dados
nocivos ou não autorizados entre elas. Neste conceito estão contemplados os
equipamentos que realizam filtragem de pacotes e de Proxy de aplicações, sempre
ligados às redes TCP/IP.

     Um firewall pode ser um roteador, uma estação PC ou UNIX, ou a combinação
destes que determine qual informação ou serviços podem ser acessados de fora e a
quem é permitido usar a informação e os serviços de fora. Geralmente, um firewall é
instalado no ponto onde possa realizar a intermediação da rede interna segura com a
rede externa não-confiável.

   O firewall é projetado para proteger as fontes de informação de uma organização,
permitindo que dados confiáveis passem negar serviços vulneráveis e proteger a rede
interna contra ataques externos. Os registros de eventos e alarmes gerados pelo
firewall devem ser examinados regularmente pelo administrador Os firewalls podem ser
divididos em duas grandes classes: Filtros de pacote e servidores Proxy.




2.2 Filtros de Pacotes




     A filtragem de pacotes é um dos principais mecanismos, na qual permite ou não a
passagem de datagramas IP em uma rede, mediante regras configuradas pelo


                                                                                  6
administrador. Com a filtragem é possível restringir o acesso a serviços como: telnet,
chat ou sites da internet.
     O firewall tem funções essenciais no Linux, sendo elas:
- Registros complementares;
- Distinção de rede;
- Filtragem de IP e de portas;
- Redirecionamento de pacotes;
- Conservação de endereço IP e encaminhamento de tráfego;
- Autenticação e criptografia mais fortes;
- Proteção contra ataques denial-of-service (DoS) ou negação de serviços, análises e
farejadores (sniffers);




                  Figura 1: Modelo simples firewall




2.3 IPTABLES




     Iptables é a atual ferramenta para firewall no Linux. O Iptables é constituído de
uma série de aplicativos existentes que interagem com o Netfilter, que é a
implementação de firewall em nível de kernel.
     O Iptables se baseia em pares de regras e ações. As regras os pacotes a atuar e
a ação a atitude que deve ser tomada quando um pacote bater com a regra. O Netfilter

                                                                                    7
processo as regras seqüencialmente, após encontrar um dado pacote, ele atuará com a
ação par daquela regra.


2.3.1 Tabelas


      O Iptables funciona em cima de tabelas, cada uma especializada num tipo de
tratamento de pacotes. As tabelas existentes são:
      *raw: onde são feitas algumas alterações em mais baixo nível nos pacotes;
      *filter: nesta tabela cabem as regras responsáveis pela filtragem de pacotes;
      *nat: mudanças nos cabeçalhos dos pacotes (incluindo NAT e IP Masquerade);
      *mangle: usada para alterações específicas nos pacotes.


2.3.2 Cadeias


      Existem diversas cadeias no Iptables, cada uma vinculada a um tipo de tráfego.
São elas:
      * PREROUTING: tráfego ingressante na máquina (incluindo tráfego gerado
localmente com destino local);
      * INPUT: tráfego que tem como destino a própria máquina;
      * FORWARD: tráfego passante pela máquina;
      * OUTPUT: tráfego gerado localmente (tanto com destino local como remoto);
      * POSTROUTING: todo tráfego que "sai" da máquina (incluindo tráfego gerado
localmente com destino local).




                                                                                      8
Figura 2: Cadeias



2.3.3 Regras


      O uso de regras é necessário para selecionar em quais pacotes uma dita ação
irá atuar. Nem todas as regras se aplicam a todas as cadeias. Existem regras gerais e
existem extensões. A existência e variedade das regras extras dependem da versão do
Kernel do Iptables em uso. As regras gerais são:
      * -p PROTOCOLO: especifica um protocolo (por exemplo TCP ou UDP);
      * -s ENDEREÇO: especifica um endereço de origem;
      * -d ENDEREÇO: especifica um endereço de destino;
      * -i INTERFACE: especifica a interface de rede na qual o pacote ingressou;
      * -o INTERFACE: especifica a interface de rede na qual o pacote irá sair da
máquina.




                                                                                   9
2.3.4 Alvo


      As ações podem ser similares as regras acima, sendo ela padrão ou uma
extensão, e especifica a ação a ser tomada quando um pacote casar com uma dada
regra de seleção. As ações são:
      * ACCEPT: aceita o pacote, e diz ao Netfilter para continuar o processamento do
pacote na próxima cadeia/tabela
      * DROP: diz ao Netfilter para ignorar completamente o pacote;
      * QUEUE: indica que o pacote deve ser passado ao userspace;
      * RETURN: instrui o Netfilter para parar de processar a cadeia em questão e
continuar na próxima regra na cadeia anterior




                                                                                  10
3   PROXY



3.1 Conceito




       Proxy é um intermediário que desempenha a função de conexão do computador
(local) à rede externa (Internet). Pode ser utilizado para registrar o uso da Internet e
também para bloquear o acesso a um site da Web. Esses servidores têm uma série de
usos, como filtrar conteúdo, providenciar anonimato, entre outros.




               Figura 3 – Servidor Proxy
               Fonte: Holistica (2010)


3.2 SQUID




       Squid é um proxy-cache para clientes web, gratuito e muito utilizado em
distribuições Linux. O Squid permite compartilhar o acesso a Web com outros
computadores da rede, e melhora a velocidade de acesso através do cache. Suporta

                                                                                     11
protocolos FTP, HTTP e Gopher. Também suporta SSL, listas de acesso complexas e
logging completo. Por utilizar o Internet Cache Protocol, o Squid pode ser configurado
para trabalhar de forma hierárquica ou mista para melhor aproveitamento da banda.
       O Squid possui muitos recursos, incluindo autenticação de usuários, restrições
de acesso, auditoria, etc. Dentre os benefícios do squid, podemos citas os seguintes:
- Velocidade de acesso
- Disponibilidade
- Transparência ou Ostensividade
- Capacidade de trabalhar com redes heterogêneas.
- Simplicidade
       O Squid pode ser utilizado nas principais plataformas do mercado, como Linux,
Unixes e Windows. Sua estrutura é baseada em listas de acessos. Todas as
configurações de usuários, grupos, horários e SITES são configurados em ACLs
(Access Control Lists), permitindo trabalhar com níveis de acesso baseados em
diversas informações.




Figura 4 – Arquivo de configuração Squid.



                                                                                        12
As configurações do Squid estão concentradas no arquivo /etc/squid/squid.conf.
Após configurar as ACLs no arquivo e criar os arquivos referencias na ACLs, basta
configurar o navegador para acesso.




                   Figura 5: Configuração navegador.




                                                                                 13
4    VPN




4.1 Conceito




       Rede Privada Virtual, ou Virtual Private Network (VPN), é uma rede privativa
       construída sobre a infra-estrutura de uma rede pública, geralmente a Internet que
       assegura a privacidade e integridade das comunicações, utilizando as mais
       avançadas tecnologias de criptografia e substituindo os links dedicados e de longa
       distância
       Permite que as empresas criem uma rede totalmente integrada que pode tráfegar
       voz, dados e vídeo além da reduzir os custos com links.


4.2 Open VPN


        O OpenVPN é um software livre e open-source capaz de estabelecer conexões
diretas entre computadores mesmo que estes estejam atrás de Nat Firewalls através de
uma VPN, sem necessidade de reconfiguração da sua rede. Foi escrito por James
Yonan e publicado sob licença GNU General Pulic Licence (GPL). Permite autenticação
ponto-a-ponto através de chaves secretas compartilhadas. Esta disponível para Solaris,
Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, e Windows 2000/XP/Vista.
        O OpenVPN utiliza a biblioteca OpenSSL para prover criptografia entre ambos os
canais de controle de dados. Ele pode rodar sobre UDP ou TCP como uma alternativa
ao IPsec, multiplexando toda a comunicação em cima de uma porta (1194). Possui
habilidade de trabalhar com a maioria dos proxy e com NAT para passar por firewalls.
Ele oferece dois tipos de interfaces, uma de layer-3 (TUN) ou uma de layer-2 (TAP),
que pode carregar quaçquer tipo de trafégo ethernet.
       O OpenVPN oferece vários recursos de segurança internos. Tem a habilidade de
       bloquear os privilégios de acesso root, e oferece suporte a smart card através de
       criptografia baseada em token PKCS#11.


                                                                                      14
5   CONCLUSÃO




       Infelizmente o que vemos na prática é que muitas empresas não dão o devido
valor a estas ferramentas, deixando de reduzir custos e trazendo riscos as informações,
integridade dos dados e a disponibilidade dos sistemas de informação.
       Para se implantar uma eficaz segurança da informação dentro de uma
organização devemos ficar atentos para algumas questões como uma boa análise de
riscos, a definição da Política de Segurança e por fim um plano de contingência.




                                                                                    15
REFERÊNCIAS


LinuxMan. Disponível em http://www.linuxman.pro.br. Acesso em 06 de Março de
2010.

Clube do Hardware. Disponível em http://www.clubedohardware.com.br. Acesso em 06
de Março de 2010.

Wikipédia. Disponível em http://pt.wikipedia.org/. Acesso em 06 de Março de 2010.




                                                                                    16

Mecanismos de segurança linux

  • 1.
    FACULDADE PITÁGORAS –BELO HORIZONTE ADMINISTRAÇÃO DE SERVIÇOS EM SISTEMAS DE ARQUITETURA ABERTA Allan S. Reis Elvis de Souza Marco Antonio Thiago George Belo Horizonte 2010
  • 2.
    ALLAN S. REIS,ELVIS DE SOUZA, MARCO ANTONIO & THIAGO GEORGE MECANISMOS DE SEGURANÇA EM DISTRIBUIÇÕES LINUX Trabalho apresentado à disciplina Administração de Serviços em Sistemas de Arquitetura Aberta do curso Superior de Tecnologia em Redes de Computadores da Faculdade Pitágoras – Belo Horizonte como requisito parcial de obtenção de pontos na disciplina. Professor: Thiago Moraes Belo Horizonte 2010 2
  • 3.
    SUMÁRIO 1 INTRODUÇÃO......................................................................................................................5 2 FIREWALL...................................................................................................................................6 2.1 Conceito..................................................................................................................................6 2.2 Filtros de Pacotes....................................................................................................................6 2.3 IPTABLES..............................................................................................................................7 2.3.1 Tabelas.............................................................................................................................8 2.3.2 Cadeias.............................................................................................................................8 2.3.3 Regras..............................................................................................................................9 2.3.4 Alvo...............................................................................................................................10 3 PROXY........................................................................................................................................11 3.1 Conceito................................................................................................................................11 3.2 SQUID..................................................................................................................................11 4.1 Conceito................................................................................................................................14 Rede Privada Virtual, ou Virtual Private Network (VPN), é uma rede privativa construída sobre a infra-estrutura de uma rede pública, geralmente a Internet que assegura a privacidade e integridade das comunicações, utilizando as mais avançadas tecnologias de criptografia e substituindo os links dedicados e de longa distância .................................................................14 Permite que as empresas criem uma rede totalmente integrada que pode tráfegar voz, dados e vídeo além da reduzir os custos com links.................................................................................14 4.2 Open VPN.............................................................................................................................14 O OpenVPN oferece vários recursos de segurança internos. Tem a habilidade de bloquear os privilégios de acesso root, e oferece suporte a smart card através de criptografia baseada em token PKCS#11..........................................................................................................................14 3
  • 4.
  • 5.
    1 INTRODUÇÃO Estamos em um mundo globalizado, onde a informação, independente do seu formato, é um dos maiores patrimônios de uma organização moderna. Considerada um ativo importantíssimo para a realização do negócio a informação deve ser protegida e gerenciada. Percebemos que nos últimos anos as tecnologias de informação e comunicação têm evoluído de forma rápida, fazendo com que as organizações tenham maior eficiência e rapidez nas tomadas de decisões, devido a este fato as chances de uma empresa não usar sistemas de informação tornou-se praticamente nula. Neste contexto a importância de se utilizar mecanismos de segurança é vital para a sobrevivência e competitividade destas organizações. 5
  • 6.
    2 FIREWALL 2.1 Conceito Firewall é um dispositivo de rede que tem a função de aplicar uma política de segurança a um determinado ponto de controle da rede. Seu objetivo é regular o tráfego de dados entre várias redes, impedindo o envio e/ou recebimento de dados nocivos ou não autorizados entre elas. Neste conceito estão contemplados os equipamentos que realizam filtragem de pacotes e de Proxy de aplicações, sempre ligados às redes TCP/IP. Um firewall pode ser um roteador, uma estação PC ou UNIX, ou a combinação destes que determine qual informação ou serviços podem ser acessados de fora e a quem é permitido usar a informação e os serviços de fora. Geralmente, um firewall é instalado no ponto onde possa realizar a intermediação da rede interna segura com a rede externa não-confiável. O firewall é projetado para proteger as fontes de informação de uma organização, permitindo que dados confiáveis passem negar serviços vulneráveis e proteger a rede interna contra ataques externos. Os registros de eventos e alarmes gerados pelo firewall devem ser examinados regularmente pelo administrador Os firewalls podem ser divididos em duas grandes classes: Filtros de pacote e servidores Proxy. 2.2 Filtros de Pacotes A filtragem de pacotes é um dos principais mecanismos, na qual permite ou não a passagem de datagramas IP em uma rede, mediante regras configuradas pelo 6
  • 7.
    administrador. Com afiltragem é possível restringir o acesso a serviços como: telnet, chat ou sites da internet. O firewall tem funções essenciais no Linux, sendo elas: - Registros complementares; - Distinção de rede; - Filtragem de IP e de portas; - Redirecionamento de pacotes; - Conservação de endereço IP e encaminhamento de tráfego; - Autenticação e criptografia mais fortes; - Proteção contra ataques denial-of-service (DoS) ou negação de serviços, análises e farejadores (sniffers); Figura 1: Modelo simples firewall 2.3 IPTABLES Iptables é a atual ferramenta para firewall no Linux. O Iptables é constituído de uma série de aplicativos existentes que interagem com o Netfilter, que é a implementação de firewall em nível de kernel. O Iptables se baseia em pares de regras e ações. As regras os pacotes a atuar e a ação a atitude que deve ser tomada quando um pacote bater com a regra. O Netfilter 7
  • 8.
    processo as regrasseqüencialmente, após encontrar um dado pacote, ele atuará com a ação par daquela regra. 2.3.1 Tabelas O Iptables funciona em cima de tabelas, cada uma especializada num tipo de tratamento de pacotes. As tabelas existentes são: *raw: onde são feitas algumas alterações em mais baixo nível nos pacotes; *filter: nesta tabela cabem as regras responsáveis pela filtragem de pacotes; *nat: mudanças nos cabeçalhos dos pacotes (incluindo NAT e IP Masquerade); *mangle: usada para alterações específicas nos pacotes. 2.3.2 Cadeias Existem diversas cadeias no Iptables, cada uma vinculada a um tipo de tráfego. São elas: * PREROUTING: tráfego ingressante na máquina (incluindo tráfego gerado localmente com destino local); * INPUT: tráfego que tem como destino a própria máquina; * FORWARD: tráfego passante pela máquina; * OUTPUT: tráfego gerado localmente (tanto com destino local como remoto); * POSTROUTING: todo tráfego que "sai" da máquina (incluindo tráfego gerado localmente com destino local). 8
  • 9.
    Figura 2: Cadeias 2.3.3Regras O uso de regras é necessário para selecionar em quais pacotes uma dita ação irá atuar. Nem todas as regras se aplicam a todas as cadeias. Existem regras gerais e existem extensões. A existência e variedade das regras extras dependem da versão do Kernel do Iptables em uso. As regras gerais são: * -p PROTOCOLO: especifica um protocolo (por exemplo TCP ou UDP); * -s ENDEREÇO: especifica um endereço de origem; * -d ENDEREÇO: especifica um endereço de destino; * -i INTERFACE: especifica a interface de rede na qual o pacote ingressou; * -o INTERFACE: especifica a interface de rede na qual o pacote irá sair da máquina. 9
  • 10.
    2.3.4 Alvo As ações podem ser similares as regras acima, sendo ela padrão ou uma extensão, e especifica a ação a ser tomada quando um pacote casar com uma dada regra de seleção. As ações são: * ACCEPT: aceita o pacote, e diz ao Netfilter para continuar o processamento do pacote na próxima cadeia/tabela * DROP: diz ao Netfilter para ignorar completamente o pacote; * QUEUE: indica que o pacote deve ser passado ao userspace; * RETURN: instrui o Netfilter para parar de processar a cadeia em questão e continuar na próxima regra na cadeia anterior 10
  • 11.
    3 PROXY 3.1 Conceito Proxy é um intermediário que desempenha a função de conexão do computador (local) à rede externa (Internet). Pode ser utilizado para registrar o uso da Internet e também para bloquear o acesso a um site da Web. Esses servidores têm uma série de usos, como filtrar conteúdo, providenciar anonimato, entre outros. Figura 3 – Servidor Proxy Fonte: Holistica (2010) 3.2 SQUID Squid é um proxy-cache para clientes web, gratuito e muito utilizado em distribuições Linux. O Squid permite compartilhar o acesso a Web com outros computadores da rede, e melhora a velocidade de acesso através do cache. Suporta 11
  • 12.
    protocolos FTP, HTTPe Gopher. Também suporta SSL, listas de acesso complexas e logging completo. Por utilizar o Internet Cache Protocol, o Squid pode ser configurado para trabalhar de forma hierárquica ou mista para melhor aproveitamento da banda. O Squid possui muitos recursos, incluindo autenticação de usuários, restrições de acesso, auditoria, etc. Dentre os benefícios do squid, podemos citas os seguintes: - Velocidade de acesso - Disponibilidade - Transparência ou Ostensividade - Capacidade de trabalhar com redes heterogêneas. - Simplicidade O Squid pode ser utilizado nas principais plataformas do mercado, como Linux, Unixes e Windows. Sua estrutura é baseada em listas de acessos. Todas as configurações de usuários, grupos, horários e SITES são configurados em ACLs (Access Control Lists), permitindo trabalhar com níveis de acesso baseados em diversas informações. Figura 4 – Arquivo de configuração Squid. 12
  • 13.
    As configurações doSquid estão concentradas no arquivo /etc/squid/squid.conf. Após configurar as ACLs no arquivo e criar os arquivos referencias na ACLs, basta configurar o navegador para acesso. Figura 5: Configuração navegador. 13
  • 14.
    4 VPN 4.1 Conceito Rede Privada Virtual, ou Virtual Private Network (VPN), é uma rede privativa construída sobre a infra-estrutura de uma rede pública, geralmente a Internet que assegura a privacidade e integridade das comunicações, utilizando as mais avançadas tecnologias de criptografia e substituindo os links dedicados e de longa distância Permite que as empresas criem uma rede totalmente integrada que pode tráfegar voz, dados e vídeo além da reduzir os custos com links. 4.2 Open VPN O OpenVPN é um software livre e open-source capaz de estabelecer conexões diretas entre computadores mesmo que estes estejam atrás de Nat Firewalls através de uma VPN, sem necessidade de reconfiguração da sua rede. Foi escrito por James Yonan e publicado sob licença GNU General Pulic Licence (GPL). Permite autenticação ponto-a-ponto através de chaves secretas compartilhadas. Esta disponível para Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X, e Windows 2000/XP/Vista. O OpenVPN utiliza a biblioteca OpenSSL para prover criptografia entre ambos os canais de controle de dados. Ele pode rodar sobre UDP ou TCP como uma alternativa ao IPsec, multiplexando toda a comunicação em cima de uma porta (1194). Possui habilidade de trabalhar com a maioria dos proxy e com NAT para passar por firewalls. Ele oferece dois tipos de interfaces, uma de layer-3 (TUN) ou uma de layer-2 (TAP), que pode carregar quaçquer tipo de trafégo ethernet. O OpenVPN oferece vários recursos de segurança internos. Tem a habilidade de bloquear os privilégios de acesso root, e oferece suporte a smart card através de criptografia baseada em token PKCS#11. 14
  • 15.
    5 CONCLUSÃO Infelizmente o que vemos na prática é que muitas empresas não dão o devido valor a estas ferramentas, deixando de reduzir custos e trazendo riscos as informações, integridade dos dados e a disponibilidade dos sistemas de informação. Para se implantar uma eficaz segurança da informação dentro de uma organização devemos ficar atentos para algumas questões como uma boa análise de riscos, a definição da Política de Segurança e por fim um plano de contingência. 15
  • 16.
    REFERÊNCIAS LinuxMan. Disponível emhttp://www.linuxman.pro.br. Acesso em 06 de Março de 2010. Clube do Hardware. Disponível em http://www.clubedohardware.com.br. Acesso em 06 de Março de 2010. Wikipédia. Disponível em http://pt.wikipedia.org/. Acesso em 06 de Março de 2010. 16