Your SlideShare is downloading. ×
0
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Palestra - Fitem 2009 - Ferramentas de segurança OpenSource

2,535

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,535
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
140
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Luiz Arthur Feitosa dos Santos e-mail: luiz-arthur@unipar.br - luiz.santos.cesumar.br Ferramentas de Segurança Open Source 1
  • 2. Ferramentas de Segurança Open Source 1. Segurança A segurança no âmbito da informática define-se como: Processo de proteção de informações e ativos digitais armazenados em computadores e redes de processamento de dados. A intensificação do uso da Internet pelas empresas tornou a segurança um assunto que vem exigindo maiores cuidados do que aqueles até então existentes. Embora existam pessoas que ainda não dão o devido valor a informação presentes nos computadores. Como a informação é um dos bens mais valiosos da sociedade atual, muitas das medidas de segurança são dadas pensando-se na segurança da informação. Então a norma ISO/IEC 27002:2005, define os elementos básicos da segurança da informação, que são: ● Confidencialidade: Proteger as informações confidencias contra revelações não autorizadas ou captação compreensível; ● Disponibilidade: Garantir que informações e serviços vitais estejam disponíveis quando requeridos; ● Integridade: Manter informações e sistemas computadorizados, dentre outros, ativos, exatos e completos. Luiz Arthur Feitosa dos Santos 2
  • 3. Ferramentas de Segurança Open Source 2. Open Source Antes de falar sobre Open Source, é necessário comentar sobre a filosofia do Software Livre que encontra suas raízes na idéia da livre troca de conhecimentos e de pensamentos que podem tradicionalmente ser encontrada no campo científico. No início dos anos 80, Richard M. Stallman foi o primeiro a formalizar esta maneira de tratar software e apresentou as quatro liberdades: ● A liberdade de executar o software, para qualquer uso; ● A liberdade de estudar o funcionamento de um programa e de adaptá-lo às suas necessidades; ● A liberdade de redistribuir cópias; ● A liberdade de melhorar o programa e de tornar as modificações públicas de modo que a comunidade inteira beneficie da melhoria. A "Definição do Open Source" é derivada das "Linhas Diretoras do Software Livre Debian", que derivam das quatro liberdades mencionadas anteriormente. Conseqüentemente, as definições descrevem as mesmas licenças que a "Licença Pública Geral - GNU" (GPL). Ao lado da GPL existem outras licenças que concedem essas liberdades, o que as qualifica de licenças de Software Livre. Uma delas, a licença FreeBSD, que merece uma menção particular. A principal diferença com a GPL é que ela não procura proteger a liberdade. Luiz Arthur Feitosa dos Santos 3
  • 4. Ferramentas de Segurança Open Source 3. Antes das Ferramentas a Educação Para que seja possível obter um nível aceitável de segurança, não basta reunir um conjunto de ferramentas de software e implementá-las. Os resultados tornam-se mais eficazes quando sua utilização está dentro do contexto de um Plano de Segurança, elaborado em conjunto pelos níveis estratégicos, tático e operacional da organização. Desta forma, segurança não é só uma questão técnica, mas de política e educação. A segurança não é uma tecnologia. Não é possível comprar dispositivos que torne a rede segura, assim como não é possível comprar ou criar um software capaz de tornar seu computador 100% seguro. O que é possível fazer é administrar um nível aceitável de risco. A segurança é um processo. Pode-se aplicar o processo seguidamente à rede e à empresa que a mantêm e dessa maneira, melhorar a segurança dos sistemas. “É como subir uma escada rolante que desce”. Alguns itens de segurança a serem mantidos que não são necessariamente software: ● Analise de Riscos: Consiste em um processo de identificação, avaliação dos fatores de risco presentes, possibilitando uma visão do impacto negativo causado aos negócios; ● Políticas de Segurança: A política de segurança pode ser entendida como sendo um conjunto de normas e diretrizes destinadas a proteção dos ativos da Organização. Luiz Arthur Feitosa dos Santos 4
  • 5. Ferramentas de Segurança Open Source 4. Segurança em Sistemas Operacionais Open Source A grande maioria dos Sistemas Operacionais Open Source são tidos como muito seguros, porém é importante ter-se em mente que não existe um sistema 100% seguro. Quando se fala de sistemas proprietários versus sistemas open source, algumas questões entram em discussão: ● 1) Qual é mais seguro o Sistema Operacional Microsoft Windows ou o GNU/Linux? ● 2) O que é mais seguro um sistema “fechado” (proprietário) ou um sistema aberto (Open Source)? ● 2) Quanto aos erros de segurança, é melhor esconde-los ou divulgá-los? As respostas das perguntas anteriores são mais filosóficas do que práticas, talvez sejam até impossíveis de serem respondidas. Mas, é importante saber que mesmo os Sistemas Open Source tem problemas de segurança, tais sistemas são tão seguros quanto qualquer Sistema Operacional dito “proprietário”, tudo depende de quem está mantendo a segurança. Os Sistemas Operacionais Open Source, tal como o Linux, podem não ser 100% seguros! Mas são ditos seguros devido ao conjunto de ferramentas (principalmente nativas) de gerenciamento e segurança que ajudam a manter um alto nível de segurança. Luiz Arthur Feitosa dos Santos 5
  • 6. Ferramentas de Segurança Open Source 5. Ferramentas de segurança Open Source O assunto de segurança de computadores é bem vasto, e por isto fascinante e complexo. Desta forma poderíamos discutir por exemplo, práticas para programar de forma segura, qual é o melhor anti-vírus, como usar melhor o Sistema Operacional, dentre outros. Como as opções de segurança e de ferramentas de segurança são muitas, nós iremos nos concentrar em apenas algumas ferramentas de segurança Open Source, principalmente as relacionadas as redes de computadores, e as já consagradas pela comunidade Open Source. 5.1 Firewall com iptables do Linux A palavra Firewall em sua tradução literal quer dizer parede de fogo, mas na verdade o termo Firewall vem da construção civil e quer dizer parede corta-fogo ou anti-chamas, no qual existe uma parede que é resistente ao fogo e permite em caso de incêndio que as pessoa possam fugir através de escadas que ficam guardadas pela parede anti-chamas que evita a propagação do calor e fumaça. É justamente assim que um Firewall trabalha, mantendo-se no meio de duas redes, e bloqueando o perigo (fogo) de uma rede (Internet por exemplo) de outra rede (uma rede privada, por exemplo). O tipo de Firewall mais tradicional é o de filtro de pacote, que analisa pacotes de redes e usando regras permite ou bloqueia pacotes em redes ou máquinas. Luiz Arthur Feitosa dos Santos 6
  • 7. Ferramentas de Segurança Open Source Iptables é o nome da ferramenta Front-End, que permite à criação de regras no netfilter, sendo o netfilter parte do kernel do Sistema Operacional GNU/Linux que dá a função de Firewall ao sistema. O Firewall do Linux faz parte do Kernel. SO SO (a) TCP/IP Firewall (b) TCP/IP Firewall O iptables evoluiu do ipwadm (Kernel 2.0) e ipchains (Kernel 2.2) foi concebido por Rusty Russel juntamente com Michel Neuling e incluído no Kernel versão 2.4. Então, o iptables é uma ferramenta que manipula o netfilter. O iptables tem basicamente três funções básicas: ● NAT – Tabela responsável por funções de NAT, conhecidas como mascaramento e redirecionamento de pacotes que atravessam o Firewall; ● Filter – Tabela responsável pela função básica do Firewall de filtragem de pacotes de redes; ● Mangle – Tabela que tem como função tratar os pacotes de forma especial, tal como alterando o campo ToS (Type of Service) do protocolo IP (Internet Protocol) para alterar a prioridade de tratamento de pacotes no Firewall. Luiz Arthur Feitosa dos Santos 7
  • 8. Ferramentas de Segurança Open Source O iptables em um ambiente host screened, com política de negar tudo: 10.0.0.1 10.0.0.2 200.1.1.1 Host eth0 eth1 Roteador Internet Firewall A ADSL iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A FORWARD -i eth1 -d 10.0.0.1 -m state --state NEW,INVALID -j DROP iptables -A FORWARD -o eth1 -s 10.0.0.1 -p tcp --dport http -j ACCEPT iptables -A FORWARD -i eth1 -d 10.0.0.1 -p tcp --sport http -j ACCEPT iptables -A FORWARD -o eth1 -s 10.0.0.1 -p udp --dport domain -j ACCEPT iptables -A FORWARD -i eth1 -d 10.0.0.1 -p udp --sport domain -j ACCEPT iptables -A INPUT -i eth0 -s 10.0.0.1 -p tcp --dport ssh -j ACCEPT iptables -A OUTPUT -o eth0 -d 10.0.0.1 -p tcp --sport ssh -j ACCEPT Luiz Arthur Feitosa dos Santos 8
  • 9. Ferramentas de Segurança Open Source O iptables em um ambiente host bastion, com política de negar tudo: 10.0.0.1 10.0.0.2 200.1.1.1 Host eth0 eth1 Roteador Internet Firewall A ADSL iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.0.0.1 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A FORWARD -d 10.0.0.1 -p tcp --dport http -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -s 10.0.0.1 -p tcp --sport http -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -s 10.0.0.1 -p udp --dport domain -j ACCEPT iptables -A FORWARD -d 10.0.0.1 -p udp --sport domain -j ACCEPT iptables -A INPUT -i eth0 -s 10.0.0.1 -p tcp --dport ssh -j ACCEPT iptables -A OUTPUT -o eth0 -d 10.0.0.1 -p tcp --sport ssh -j ACCEPT Luiz Arthur Feitosa dos Santos 9
  • 10. Ferramentas de Segurança Open Source 5.2 Firewall com o PF do OpenBSD O PF é o Firewall do Sistema Operacional OpenBSD, sendo que o OpenBSD é considerado um dos Sistemas Operacionais mais seguros do mundo, mantendo a incrível marca de apenas dois erros de segurança remotos em mais de 10 anos (na instalação básica). O código-fonte do OpenBSD passa por auditoria constante e sempre esta na vanguarda quando o assunto é segurança, incorporando várias ferramentas de segurança. Por exemplo: O OpenBSD foi o primeiro a implementar IPSec; A equipe OpenBSD também ajudou a desenvolver o OpenSSH, o que torna o OpenBSD um sistema voltado a segurança por natureza. PF então é o Firewall de um dos Sistemas Operacionais mais seguros do mundo e é responsável pelas seguintes funcionalidades: ● Filtragem de pacotes (Firewall) bem como controle de estados das conexões TCP/IP; ● Monitorar e rearranjar fragmentos de pacotes de diversas formas fazendo normalização e condicionando tráfego TCP/IP; ● Fazer tradução de Endereços de Rede (NAT), bem como redirecionar conexões; ● Realizar controle de banda e priorização de pacotes; ● Autenticação de usuários. Luiz Arthur Feitosa dos Santos 10
  • 11. Ferramentas de Segurança Open Source O pf em um ambiente host screened, com política de negar tudo: 10.0.0.1 10.0.0.2 200.1.1.1 Host vic1 vic0 Roteador Internet Firewall A ADSL ext_if="vic0" int_if="vic1" scrub in on $ext_if nat pass on $ext_if from $int_if:network -> ($ext_if) block all pass in quick on $int_if inet proto tcp from 10.0.0.1 to ($int_if) port ssh pass in on $int_if inet proto tcp from 10.0.0.1 to any port http flags S/SA pass in on $int_if inet proto udp from 10.0.0.1 to any port domain Luiz Arthur Feitosa dos Santos 11
  • 12. Ferramentas de Segurança Open Source O pf em um ambiente host bastion, com política de negar tudo: 10.0.0.1 10.0.0.2 200.1.1.1 Host vic1 vic0 Roteador Internet Firewall A ADSL ext_if="vic0" int_if="vic1" set skip on lo scrub in on $ext_if nat pass on $ext_if from $int_if:network -> ($ext_if) rdr pass on $ext_if proto tcp from any to any port http -> 10.0.0.1 block all pass in quick on $int_if inet proto tcp from 10.0.0.1 to ($int_if) port ssh pass out on $int_if inet proto tcp from any to any port http flags S/SA pass in on $int_if inet proto udp from any to any port domain Luiz Arthur Feitosa dos Santos 12
  • 13. Ferramentas de Segurança Open Source 5.3 Sistemas de Detecção de Intrusão - IDS Um IDS ou em português SDI é basicamente um sistema capaz de analisar o tráfego da rede ou o conteúdo de um computador e procurar possíveis tentativas de ataques a segurança. 5.3.1 OSSEC-HIDS O OSSEC HIDS é um sistema de detecção de intrusão baseado em Host de código fonte aberto que possui como desenvolvedor principal o brasileiro Daniel Cid. O OSSEC HIDS realiza operações de analise de Logs, integridade de sistemas, monitoração de registros do Windows, detecção de rootkits, alertas e resposta ativa (regras no firewall). É possível instalar o OSSEC localmente, para monitorar uma única máquina, mas se for necessário monitorar várias máquinas é possível configurar uma como servidor e as demais como agentes, sendo que as agentes iram enviar informações para o gerente que fica responsável por analisar e apresentar as informações geradas pelos IDS, isto dá uma alta escalabilidade ao IDS. O OSSEC pode ser instalado nos seguintes Sistemas Operacionais: OpenBSD, Linux, FreeBSD, Solaris, Windows XP/2000 ( no caso do Windows é somente o agente). Luiz Arthur Feitosa dos Santos 13
  • 14. Ferramentas de Segurança Open Source Tela principal do OSSEC HIDS, um resumo dos principais itens monitorados: Luiz Arthur Feitosa dos Santos 14
  • 15. Ferramentas de Segurança Open Source 5.3.2 Snort Desenvolvido por Marty Roesch em 1998, o Snort é um NIDS, de código fonte aberto, que utiliza o método de detecção baseado em assinaturas. O Snort possui suporte para vários tipos de Sistemas Operacionais Linux e até mesmo para Windows. O Snort é uma ferramenta muita poderosa, possui vários recursos como: ● Farejamento de pacotes (sniffer, tal como o Wireshark); ● Registro de pacotes; ● Detecção de invasão. Para se entender melhor estes recursos deve-se primeiramente entender a arquitetura do Snort, esta arquitetura do Snort consiste em quatro componentes básicos, são eles: O farejador(sniffer), o pré-processador, o mecanismo de detecção e a saída Luiz Arthur Feitosa dos Santos 15
  • 16. Ferramentas de Segurança Open Source 5.4 VPN com o OpenVPN OpenVPN é uma ferramenta utilizada para criar redes privadas virtuais, ou seja, criar redes privadas dentro de redes públicas como a Internet, sua segurança é baseada na biblioteca OpenSSL que utiliza os protocolos de segurança SSL e o TSL. Tanto o SSL quanto o TSL são protocolos criptográficos que provêem comunicação segura pela Internet para serviços como e-mail, navegação por sites e outros tipos de transferência de dados. O OpenVPN pode operar de três maneiras: Criando apenas o túnel VPN, ou seja, realizar apenas o encapsulamento dos dados sem utilizar criptografia; Utilizar criptografia por chave estática; Ou utilizar criptografia por chave dinâmica em que as chaves são trocadas periodicamente O OpenVPN é um software open source, licenciado pela GPL (General Public License) e possui ótima portabilidade do OpenVPN é bastante satisfatória, funcional em várias plataformas como Windows 2000/XP/2003 Server, Linux, Mac OS X, OpenBSD, FreeBSD, NetBSD e Solaris. O OpenVPN trabalha muito bem com NAT (Network Address Translation), ou seja, não existe problema quando o NAT faz a troca (tradução) do IP da máquina requisitante com o IP do servidor válido para ser usado na Internet, ao contrário do que ocorre na maioria das vezes com o IPSec no OpenSwan. Luiz Arthur Feitosa dos Santos 16
  • 17. Ferramentas de Segurança Open Source Um exemplo de cenário de VPN com o OpenVPN: 10.0.0.1 10.0.0.2 200.1.1.1 64.0.0.1 Host vic1 vic0 Roteador Host Firewall Internet B A ADSL # 2048 bit OpenVPN static key # vi openvpn.conf.servidor -----BEGIN OpenVPN Static key V1 c11e591c06a7e2042a679ee4e9c066a7 e7038efcfdd7dba4fd5a2638d03df750 dev tun 1f7dc9e827be9f5f4b770d83be1c19e3 ifconfig 192.168.0.1 192.168.0.2 e20d3ac83c5e0bb575aaef87e19753ec secret static.key eeb9700f7a90f9bb54c3f1b864dbc803 c093d2e3ea3e4ccba64cd306e901a49c 6de812961bae75b25ac4b3a47f50c3c9 4aec8b8a4d0cb42cd458018ca72f6894 88f6316d12ad03b9e5c90f93d42948b3 # vi openvpn.conf.cliente 0b50fe1e8a4405aafa01d06602de9e4e bfb6b83069ec11965977db57b3a450e6 remote 200.1.1.1 3838792c6e11aa538831c3cbea7247ba 4fb23888490b3df975751e51f251179c dev tun fb4b83b5eb87d46f422de3e742152d21 ifconfig 192.168.0.2 192.168.0.1 f1100b6ed3b9d147d2fe2b25f630da55 secret static.key 073841781904d90bb2cd7c486ee4cae8 -----END OpenVPN Static key V1- Luiz Arthur Feitosa dos Santos 17
  • 18. Ferramentas de Segurança Open Source Monitorando interface de rede sem VPN, é possível observar os dados do usuário: Luiz Arthur Feitosa dos Santos 18
  • 19. Ferramentas de Segurança Open Source Monitorando interface de rede com o VPN, não é possível observar dados do usuário: Luiz Arthur Feitosa dos Santos 19
  • 20. Ferramentas de Segurança Open Source Existem várias outras ferramentas de segurança Open Source, que merecem destaque: ● Squid - Web proxy, com funções de cache, autenticação, controle de acesso, dentre outras funções, muito usado em conjunto com Firewalls; ● Wireshark – Sniffer de rede usado para monitorar redes de computadores; ● Nmap – ferramenta para mapeamento de redes (IP's, Portas, Sistemas Operacionais) ; ● SpamAssassim – Ferramenta de controle/filtragem de spam; ● Cacti – Ferramento para gerenciamento/monitoramento de rede; ● Nessus – Scanner de vulnerabilidades, verificando mais de 10.000 vulnerabilidades nos mais diversos Sistemas Operacionais, usa licença GPL e mas não tem código fonte aberto; ● Kismet – Analisador de redes sem fio, usado para prevenir ou realizar wardrivers; ● OpenSSH – Software para administração remota, que pode substituir o TELNET e FTP, além de permitir a criação de VPN's de forma bem simples; ● John the Ripper – Usado para descobrir senhas dos Sistemas Operacionais, útil para descobrir senhas fracas no sistema; Existem várias ferramentas que ajudam a manter a segurança, tanto Open Source quanto proprietárias, mas uma coisa é certa de nada adianta ferramentas de segurança, sem um bom profissional e um plano de segurança. Luiz Arthur Feitosa dos Santos 20
  • 21. Ferramentas de Segurança Open Source Bibliografia: TANENBAUM, Andrew S. Redes de Computadores. Editora Campus, 4 Edição. 2003. COMER, Douglas E. Interligação de Redes com TCP/IP, volume 1. Editora Campus, 5 Edição. 2006. BURNS, Bryan; et al. Security Power Tools. Editora O'Reilly. 2007. SONNENREICH, Wes; YATES, Tom. Building Linux and OpenBSD Firewalls. Editora Wiley. 2000. FEILNER, Markus. OpenVPN Building and Integrating Virtual Private Networks. Editora Packt. 2006. ARTYMIAK, Jacek. Building Firewalls with OpenBSD and PF. 2 Edição. 2003. OPENBSD. OpenBSD Packet Filter. Disponível em: www.openbsd.org/faq/pf/pt/index.html. Acessado em: 2007. Luiz Arthur Feitosa dos Santos 21

×