palestra - fitem 2009 - ferramentas de segurança opensource

Post on 06-Jun-2015

2.536 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ferramentas de Segurança Open Source

e-mail: luiz-arthur@unipar.br - luiz.santos.cesumar.br

1

Luiz Arthur Feitosa dos Santos

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 2

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 3

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 4

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 5

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õesentram 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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 6

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.

SO

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 7

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.

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.

TCP/IP Firewall

SO

TCP/IP Firewall(b)(a)

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 8

O iptables em um ambiente host screened, com política de negar tudo:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -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 ACCEPTiptables -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 ACCEPTiptables -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 ACCEPTiptables -A OUTPUT -o eth0 -d 10.0.0.1 -p tcp --sport ssh -j ACCEPT

HostA

FirewallRoteador

ADSLInternet

10.0.0.1 10.0.0.2 eth0

200.1.1.1 eth1

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 9

O iptables em um ambiente host bastion, com política de negar tudo:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADEiptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 10.0.0.1

iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -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 ACCEPTiptables -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 ACCEPTiptables -A OUTPUT -o eth0 -d 10.0.0.1 -p tcp --sport ssh -j ACCEPT

HostA

FirewallRoteador

ADSLInternet

10.0.0.1 10.0.0.2 eth0

200.1.1.1 eth1

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 10

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 11

O pf em um ambiente host screened, com política de negar tudo:

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

HostA

FirewallRoteador

ADSLInternet

10.0.0.1 10.0.0.2 vic1

200.1.1.1 vic0

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 12

O pf em um ambiente host bastion, com política de negar tudo:

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

HostA

FirewallRoteador

ADSLInternet

10.0.0.1 10.0.0.2 vic1

200.1.1.1 vic0

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 13

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

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 14

Tela principal do OSSEC HIDS, um resumo dos principais itens monitorados:

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 15

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

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 16

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 17

Um exemplo de cenário de VPN com o OpenVPN:

HostA

FirewallRoteador

ADSLInternet

10.0.0.1 10.0.0.2 vic1

200.1.1.1 vic0 Host

B

64.0.0.1

# vi openvpn.conf.servidor

dev tunifconfig 192.168.0.1 192.168.0.2secret static.key

# vi openvpn.conf.cliente

remote 200.1.1.1dev tunifconfig 192.168.0.2 192.168.0.1secret static.key

# 2048 bit OpenVPN static key-----BEGIN OpenVPN Static key V1c11e591c06a7e2042a679ee4e9c066a7e7038efcfdd7dba4fd5a2638d03df7501f7dc9e827be9f5f4b770d83be1c19e3e20d3ac83c5e0bb575aaef87e19753eceeb9700f7a90f9bb54c3f1b864dbc803c093d2e3ea3e4ccba64cd306e901a49c6de812961bae75b25ac4b3a47f50c3c94aec8b8a4d0cb42cd458018ca72f689488f6316d12ad03b9e5c90f93d42948b30b50fe1e8a4405aafa01d06602de9e4ebfb6b83069ec11965977db57b3a450e63838792c6e11aa538831c3cbea7247ba4fb23888490b3df975751e51f251179cfb4b83b5eb87d46f422de3e742152d21f1100b6ed3b9d147d2fe2b25f630da55073841781904d90bb2cd7c486ee4cae8-----END OpenVPN Static key V1-

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 18

Monitorando interface de rede sem VPN, é possível observar os dados do usuário:

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 19

Monitorando interface de rede com o VPN, não é possível observar dados do usuário:

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 20

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.

Ferramentas de Segurança Open Source

Luiz Arthur Feitosa dos Santos 21

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

top related