Multi-core Parallelization in Clojure - a Case Study
Segurança na Internet
1. freecode.linuxsecurity.com.br
Firewall SEGURANÇA
NA
IDS
Cripto
INTERNET
Soluções em Software Livre
A obscuridade é apenas o começo...
André Luiz Rodrigues Ferreira
FreeCode BR / CAROL
andrelrf@linuxmail.org
2. freecode.linuxsecurity.com.br
Objetivo da Palestra
Proporcionar uma visão mais realista do assunto Segurança
da Informação, no que diz respeito à segurança de empresas
que utilizam a Internet.
6. freecode.linuxsecurity.com.br
Pensando em segurança
• Hoje um servidor corporativo ligado a Internet não é mais um host e
sim um alvo em potencial!
• Não adianta assegurar apenas um servidor ou sistema, a segurança
é como vários elos, onde a força da corrente é medida pela
resistência do seu elo mais frágil!
10. freecode.linuxsecurity.com.br
Quebra de Paradigma
“Se você conhece o inimigo e conhece a si mesmo, não precisa temer
o resultado de cem batalhas.
Se você se conhece mas não conhece o inimigo, para cada vitória
ganha sofrerá também uma derrota.
Se você não conhece o inimigo nem a si mesmo, perderá todas as
batalhas...”
Extraído da obra: “A Arte da Guerra” - Sun Tzu
11. freecode.linuxsecurity.com.br
Conhecendo o inimigo
Script Kiddies / Lammers / Defacers
Adolescentes que se “divertem” invadindo e paralisando/derrubando
servidores Internet.
Perfil: Possuem conhecimento moderado/limitado de informática, e uma
necessidade forte de se rebelar contra o sistema.
Práticas: “Pichações de sites”, ataques de denial of service (e atividades de
“hacking pessoal”).
Modo de operação: Obtém os programa e técnicas de invasão via Internet.
12. freecode.linuxsecurity.com.br
Conhecendo o inimigo
Hackers Éticos / Fuçadores
Responsáveis pelo desenvolvimento dos programas e descobertas de
vulnerabilidades.
Perfil: Normalmente são adultos, trabalhando com informática, com
um bom conhecimento de programação e de redes.
Práticas: Desenvolvimento de programas (exploits) e técnicas de
invasão / proteção.
Modo de Operação: Divulgam seus programas na Internet, e
normalmente não os usam (anônimos).
13. freecode.linuxsecurity.com.br
Conhecendo o inimigo
Crackers
“Profissionais” que invadem computadores com o objetivo de
ganho financeiro.
Perfil: Adulto com conhecimento avançado e personalidade criminosa.
Práticas: Roubo de informações (ex: carders), estelionato, espionagem
industrial, e sabotagens pagas.
Modo de Operação: trabalham por conta própria, ou em quadrilhas que
incluem outros tipos de criminosos.
16. freecode.linuxsecurity.com.br
Script Kiddie Attack
Levantamento de Informações sobre o alvo (whois)
% Copyright registro.br
% The data below is provided for information purposes
% and to assist persons in obtaining information about or
% related to domain name and IP number registrations
% By submitting a whois query, you agree to use this data
% only for lawful purposes.
domain: EMPRESAEXEMPLO.COM.BR
owner: EMPRESA PARA EXEMPLIFICAR LTDA.
ownerid: 99.999.999/9999-99
address: Rua Joao da Silva, 100 , Centro
address: Ribeirão Preto - SP
admin-c: EX01
nserver: NS1.EMPRESAEXEMPLO.COM.BR 200.200.200.200
nserver: NS2.EMPRESAEXEMPLO.COM.BR 150.150.150.150
nic-hdl-br: EX01
person: José da Silva
e-mail: jsilva@EMPRESAEXEMPLO.COM.BR
address: Rua Joao da Silva, 100 , Centro
address: Ribeirão Preto - SP
phone: (99)9999-9999
17. freecode.linuxsecurity.com.br
Script Kiddie Attack
Utilização de Scanners
de Portas ou de
Anatomia de Levantamento vulnerabilidades para
um ataque de Informações varredura de hosts com
SCRIPT do alvo (whois) vulnerabilidades
KIDDIE conhecidas e/ou
configurações padróes
18. freecode.linuxsecurity.com.br
Script Kiddie Attack
Levantamento de Vulnerabilidades
- Verificação das versões dos sistemas e varredura dos serviços em
execução (port scanning), para agilização do processo de busca por
vulnerabilidades.
- Uso comum de ferramentas utilizadas por administradores de
sistemas.
21. freecode.linuxsecurity.com.br
Script Kiddie Attack
Utilização de Scanners
de Portas ou de
Anatomia de Levantamento vulnerabilidades para
um ataque de Informações varredura de hosts com
SCRIPT do alvo (whois) vulnerabilidades
KIDDIE conhecidas e/ou
configurações padróes
Enumeração de
ferramentas para um
ataque (busca exploit
em sites Crackers) ou
técnica específica
23. freecode.linuxsecurity.com.br
Script Kiddie Attack
Utilização de Scanners
de Portas ou de
Anatomia de Levantamento vulnerabilidades para
um ataque de Informações varredura de hosts com
SCRIPT do alvo (whois) vulnerabilidades
KIDDIE conhecidas e/ou
configurações padróes
Alteração Enumeração de
- Invasão com sucesso
(defacing) da ferramentas para um
- Acesso indevido com
Home Page do ataque (busca exploit
privilégios ao alvo
site alvo e/ou em sites Crackers) ou
danificação de técnica específica
dados
24. freecode.linuxsecurity.com.br
Script Kiddie Attack
Exploração da vulnerabilidade
- Execução do exploit
- Invasão com sucesso
- Acesso indevido com privilégios ao alvo
- Alteração (defacing) da Home Page do site alvo e/ou danificação de dados
Ataque
$ ./remote-exploit 200.200.200.200 80
Apache Remote Exploit - by Haxors Defacers - 2003
Connecting to remote host....
Exploiting.....
Yahoooooooo!!!!!! Site da empresa
# echo “<html>Hacked by Lammer - 2003</html>” > /
var/www/html/index.html Hacked by Lammer - 2003
# exit
26. freecode.linuxsecurity.com.br
Engenharia Social
Um novo nome para um velho golpe:
- Falsidade ideológica
- Trapaça - “Conto do vigário”
Principais ocorrências:
- Indução a instalação de arquivos maléficos
- Indução a mudança de senha - “teste123”
- Golpes contra Internet Banking no Brasil e no mundo
27. freecode.linuxsecurity.com.br
Engenharia Social contra empresas
Objetivos: espionagem industrial, vantagens financeiras, fraude,
roubo de identidade e de informações estratégicas.
Pouco divulgada. Empresas escondem. Publicidade negativa!
Kevin Mitnick - um dos mais conhecidos.
Livro: A Arte de Enganar
28. freecode.linuxsecurity.com.br
Engenharia Social
Características
Dispensa computadores e softwares.
- Normalmente ocorre por telefone ou até pessoalmente. Online, as
pessoas ficam mais desconfiadas de crackers.
- Utiliza a confiança, a ingenuidade, a surpresa e o respeito à
autoridade (fazer-se passar por outra pessoa).
Alguns métodos
- Personificação: Help Desk, Fornecedor, Cliente
- Mergulho no lixo (Dumpster diving)
- Acesso físico às empresas
- Ataques via Internet e Intranet
29. freecode.linuxsecurity.com.br
Engenharia Social
Prevenção
- Conscientização dos responsáveis pela segurança
- Treinamento do pessoal de atendimento
- Impedir entrada não-autorizada aos prédios
- Exigir identificação de funcionários
- Lixo: picar papéis e eliminar completamente dados magnéticos
- Trocar senhas periodicamente
31. freecode.linuxsecurity.com.br
Spoofing - IP
Alteração e falsificação de cabeçalhos TCP/IP
- Identidade do atacante pode ser ocultada.
- Firewall pode ser enganado.
- Roteadores/Servidores podem ser confundidos, gerando sobrecarga de rede e
possivelmente Denial of Service.
Cabeçalho IP
Version IHL Type of Service Total Length
Identification Flags Hearder Checksum
Time to Live Protocol Header Checksum
Source Address
Destination Address
Options Padding
32. freecode.linuxsecurity.com.br
Spoofing - TCP
- Firewall pode ser enganado
- É possível assumir o controle de uma conexão (hijacking)
Cabeçalho TCP
Source Port Destination Port
Sequence Number
Acknowledgment Number
U A P R S F
Data
Reserved R C S S Y I Window
Offset
G K H T N N
Checksum Urgent Pointer
Options Padding
Data
34. freecode.linuxsecurity.com.br
Cracker Attack
Alteração
Anatomia de Varredura de Portas Enumeração
Engenharia Endereços Levantamento
um ataque Origem do alvo dos tipos de
Social
CRACKER (Spoofing) (whois) FingerPrint serviços
disponíveis e
versões
Enumeração das
falhas e configurações Varredura de
padrões e exploits Vulnerabilidades
para os respectivos
serviços levantados Footprint
35. freecode.linuxsecurity.com.br
Cracker Attack
Alteração
Anatomia de Varredura de Portas Enumeração
Engenharia Endereços Levantamento
um ataque Origem do alvo dos tipos de
Social
CRACKER (Spoofing) (whois) FingerPrint serviços
disponíveis e
versões
Enumeração das
- Invasão com sucesso falhas e configurações Varredura de
- Acesso indevido com
privilégios ao alvo
padrões e exploits Vulnerabilidades
para os respectivos
serviços levantados Footprint
36. freecode.linuxsecurity.com.br
Cracker Attack
Alteração
Anatomia de Varredura de Portas Enumeração
Engenharia Endereços Levantamento
um ataque Origem do alvo dos tipos de
Social
CRACKER (Spoofing) (whois) FingerPrint serviços
disponíveis e
versões
Enumeração das
- Invasão com sucesso falhas e configurações Varredura de
- Acesso indevido com
privilégios ao alvo
padrões e exploits Vulnerabilidades
para os respectivos
serviços levantados Footprint
Instalar Backdoor
Instalar Trojans
Instalar Logclean
Instalar Sniffer
Rootkit
37. freecode.linuxsecurity.com.br
Mantendo o acesso (rootkits)
- Backdoors (Porta dos Fundos)
- Compartilhamento de Sistemas de Arquivos
- Criação e alteração de contas
- Shells de root
- Acesso remoto sem senha
- Cavalos de Tróia (Trojans)
- Alteração de serviços
- Recompilação com novos recursos
- Criação de CGIs e Aplicações Web
- Limpeza dos arquivos de logs (registros)
38. freecode.linuxsecurity.com.br
Mantendo o acesso (rootkits)
- Sniffers
Software capaz de capturar todos os pacotes, mesmo os destinados a
outras máquinas (domínio de colisão).
Utilizado por administradores para resolução de problemas de redes como
“gargalos” e degradação de desempenho.
Conseqüências:
- Comunicações não criptografadas podem ser facilmente compreendidas
- Captura de senhas e outras informações confidenciais
- Problemas com serviços sem criptografia: http, smtp, telnet, ftp.
- Informações capturadas podem facilitar invasões
40. freecode.linuxsecurity.com.br
Cracker Attack
Alteração
Anatomia de Varredura de Portas Enumeração
Engenharia Endereços Levantamento
um ataque Origem do alvo dos tipos de
Social
CRACKER (Spoofing) (whois) FingerPrint serviços
disponíveis e
versões
Enumeração das
- Invasão com sucesso falhas e configurações Varredura de
- Acesso indevido com
privilégios ao alvo
padrões e exploits Vulnerabilidades
para os respectivos
serviços levantados Footprint
Instalar Backdoor Alteração (defacing) da
Home Page do site alvo
Instalar Trojans
e/ou danificação de
Instalar Logclean dados, e/ou
transformação da
Instalar Sniffer máquina no QG para
futuros ataques
Rootkit
42. freecode.linuxsecurity.com.br
Vulnerabilidades
- Conectar sistemas na Internet, sem testá-los.
- Fraca política de senhas
- Conectar com contas e senhas padrões.
- Não atualizam erros de segurança, quando esses erros são
encontrados.
- Deixar que pessoas sem o devido treinamento cuidem da
segurança.
- Falhas nos testes de backup.
- Deixar serviços desnecessários em execução: ftp, web, pop3,smtp.
- Manter a base de dados da empresa no mesmo servidor que está
disponível à web.
43. freecode.linuxsecurity.com.br
Vulnerabilidades
- Conhecer o que é segurança física, mas não saber da segurança
da informação.
- Falta de um ambiente de laboratório, de testes.
- Manter-se somente por um Firewall, acreditando que ele é o
suficiente.
- Implementar Firewalls com regras genéricas apenas.
- Usar protocolos descriptografados para administração remota.
- Usar a regra FNM (Funcionou? Não mexe).
- Falhar na implementação de anti-vírus.
- Falhar na capacitação e conscientização dos usuários.
44. freecode.linuxsecurity.com.br
Vulnerabilidades
Softwares
- Buffer Overflow
Falha de programação que faz com que haja um “transbordamento” da
área de uma determinada variável sobre outras variáveis, ou área de
código executável.
- Conseqüências: Softwares podem ser derrubados ou forçados a
executar outras funções.
- Abrangência: Atinge todos os tipos de software, sistemas operacionais,
Serviços (ex: W eb Servers), aplicativos (scripts CGI).
49. freecode.linuxsecurity.com.br
SISTEMA OPERACIONAL LINUX
Motivos para NÃO usar Linux em seu servidor
- Ele não tem TELA AZUL (Blue Screen of Death)
- Você como administrador tem que saber realmente o que está sabendo
- É uma péssima escolha para Administradores PPC ou FNM !
- Você não estará contribuindo para o PIB dos USA
- A ABES jamais poderá multar a sua empresa
- Perigosa “FALSA SENSAÇÃO DE SEGURANÇA” devido a sua
estabilidade nativa
51. freecode.linuxsecurity.com.br
Firewalls
- Firewall é o mecanismo de segurança interposto entre a rede
interna e a rede externa com a finalidade de liberar ou bloquear o
acesso de computadores remotos aos serviços que são oferecidos
em um perímetro ou dentro da rede corporativa.
- Este mecanismo de segurança pode ser baseado em hardware
e/ou software ou uma combinação dos dois.
Exemplo no mundo real: guardas.
52. freecode.linuxsecurity.com.br
Firewalls
- Três fatores estão em risco quando nos conectamos a Internet são
eles: a reputação, os computadores e as informações guardadas.
- Três fatores precisam ser resguardados: a privacidade, a integridade
e a disponibilidade. Existem situações de riscos como, roubo de
conexão depois dela ter sido autenticada (IP Hijack), espionagem de
dados secretos enquanto em trânsito pela rede e um usuário não
autenticado convence a rede que ele foi autenticado.
54. freecode.linuxsecurity.com.br
Firewalls - Topologias
- Normalmente, as empresas preferem implementar um
Firewall baseado apenas em uma máquina, seja ele um host
PC ou um roteador, entretanto, os Firewalls mais robustos,
são compostos de várias partes, veja algumas topologias a
seguir...
55. freecode.linuxsecurity.com.br
Firewalls - Topologias
Roteador com Triagem (Screening Router)
FTP
REDE INTERNA
Router configurado
com ACL para filtrar pacotes
INTERNET
WEB / SMTP / DNS
Essa é a maneira mais simples de se implementar um Firewall, pois o
filtro, apesar de ser de difícil elaboração, é rápido de se implementar e
seu custo é zero, entretanto, se as regras do roteador forem quebradas,
a rede da empresa ficará totalmente vulnerável.
56. freecode.linuxsecurity.com.br
Firewalls - Topologias
Gateway de Base Dupla (Dual Homed Gateway)
FTP
REDE INTERNA
INTERNET
Firewall
WEB / SMTP / DNS
Única máquina (Bastion Host) com duas interfaces de rede entre as duas
redes (a Internet e a rede da empresa)
- Como na arquitetura anterior, se o Firewall for quebrado, a rede da
empresa ficará totalmente vulnerável.
57. freecode.linuxsecurity.com.br
Firewalls - Topologias
Gateway Host com Triagem (Screened Host Gateway)
FTP
REDE INTERNA
Router + ACLs
INTERNET
Firewall
WEB / SMTP / DNS
Roteador e Gateway, são usados em conjunto, formando assim, duas
camadas de proteção.
58. freecode.linuxsecurity.com.br
Firewalls - Topologias
Sub-rede com Triagem (Screened Subnet)
REDE INTERNA
Router + ACLs
Firewall
INTERNET
WEB / SMTP / DNS / FTP
DMZ (Zona Perimetral)
Roteador e Gateway, são usados aqui também conjunto, entretanto, a camada de
serviços fica na mesma linha da camada interna (DMZ), em uma das sub-redes que
podem ser criadas nele, efetuando o repasse de pacotes (NAT), fortalecendo bem os
serviços contra ataques e protegendo a rede interna.
62. freecode.linuxsecurity.com.br
Firewalls - Arquiteturas
Statefull Packet
Camada OSI
7 - APLICAÇÃO
SMTP/POP3/
6 - APRESENTAÇÃO
TELNET/FTP...
5 - SESSÃO
TCP/UDP 4 - TRANSPORTE
IP 3 - REDE ICMP / IGMP / ARP
2 - ENLACE
1 - FÍSICA
Exemplos: Iptables (Linux kernel 2.4.x e 2.6), Firewall-1 Checkpoint, MS Isa Server
63. freecode.linuxsecurity.com.br
Firewalls
Soluções em Software Livre:
IPTABLES / NETFILTER: Firewall nativo do kernel 2.4 e 2.6 do Linux.
http://www.netfilter.org
- Statefull
- Rápido, estável e seguro
- Permite um valor ilimitado de regras
- Possui recursos para rejeitar pacotes “spoofados” ou inválidos.
- Suporte completo a roteamento
- Redirecionamento de portas
- NAT
- Proteção contra DoS
- Suporte ao ipv6
FirewallBuilder: Interface gráfica para configuração avançada do iptables
http://www.fwbuilder.com
69. freecode.linuxsecurity.com.br
Firewalls
Conclusão
• Um bom firewall, é construído por um conjunto de programas e técnicas que tem
por finalidade liberar ou bloquear serviços dentro de uma rede interligada à
Internet de forma controlada.
• É importante também saber qual ação a ser tomada quando uma violação ou um
serviço importante parar. Tudo isso tem que estar somando a METODOLOGIA e
casado com o NEGÓCIO da empresa.
• Embora o Firewall seja a parte mais importante em um programa de segurança
ele não corrige as vulnerabilidades de segurança.
• Avalia somente o tráfego de seu perímetro.
• Não inibe conexões externas (dial-up).
• Conhece o pacote mas não conhece o sua intenção
71. freecode.linuxsecurity.com.br
IDS - Definição
É um software que detecta variações de comportamento na
rede ou no sistema, os quais podem sinalizar a existência de
um ataque em curso.
Exemplo no mundo real: câmeras de segurança.
72. freecode.linuxsecurity.com.br
IDS - Arquiteturas
HIDS (Host Intrusion Detection System)
Baseados em servidor que contém aplicativos que analisam arquivos
especiais e conexões abertas de rede, ou que analisam o disco rígido e
depois emitem alertas caso ocorra algum evento.
Principais tipos:
- Ferramentas de análise de arquivos de registros (logs).
- Ferramentas de análise de integridade de arquivos.
- Ferramentas de verificação de backdoors e rootkits.
74. freecode.linuxsecurity.com.br
IDS - Arquiteturas
NIDS (Network Intrusion Detection System)
Baseados em rede, ouvem o tráfego (permitido pelo firewall) à medida
que atravessa a rede.
Principais características:
- Identifica a natureza do ataque ou do tráfego suspeito (incluindo
as portas e os endereços de origem e destino).
- Permite reconfiguração do firewall no caso de ataque.
- Na maioria das vezes possui recurso de envio de alertas
- Permite a geração de relatórios de estatísticas de ataques.
75. freecode.linuxsecurity.com.br
IDS
NIDS - Topologias
DMZ
Router ACLs
WEB / SMTP/ POP / FTP
FIREWALL
INTERNET IDS
ADSL
IDS
Sensor Análise e
Monitoração
controle
Armazenagem
FIREWALL FIREWALL
IDS IDS
FIREWALL
REDE INTERNA FRAME RELAY
76. freecode.linuxsecurity.com.br
IDS
Soluções em Software Livre:
AIDE (ftp://ftp.cs.tut.fi/pub/src/gnu/)
Verifica integridade de arquivos e executa ação pré-determinada.
SNORT (http://www.snort.org)
Captura todo o tráfego do seu segmento de rede:
- Registo em arquivos de logs (texto puro)
- Registro em banco de dados (MySQL, PostreSQL)
- Capaz de “resetar” a conexão suspeita
GUARDIAN (http://www.snort.org/dl/contrib/other_tools/guardian/)
Analisa os registro do Snort e efetua ação pré-configurada:
- Bloqueia endereço IP do atacante
- Envia alerta ao administrador (email, SMS)
80. freecode.linuxsecurity.com.br
IDS
Conclusão
+ Capaz de fazer palpites moderados sobre a natureza do tráfego,
sugerindo fontes de referência para mais detalhes sobre a
vulnerabilidade, além de sugerir correções para a mesma.
+ Possibilidade de criação de Honeypots (Potes de Mel).
+ Possibilidade de administração remota.
- Não corrige as vulnerabilidades de segurança.
- Atua depois que o pacote passou pelo firewall.
- Detecta somente ataques conhecidos (atualização constante).
- Possibilidade de falsos-positivos
82. freecode.linuxsecurity.com.br
VPN
Características
- Proporciona rede de dados privada através de infra-estruturas
públicas de telecomunicações, tais como a Internet.
- Uso comum nas empresas para interligação de filiais, vendedores
e parceiros corporativos.
- Cliente recebe os mesmos direitos e privilégios de usuário da rede
da empresa, como se estivesse conectado fisicamente.
- Conexão transparente
- Oferece autenticação segura e criptografia.
83. freecode.linuxsecurity.com.br
VPN
Topologias
Telecommuter (Cliente -> Servidor VPN)
192.168.1.x
FTP 192.168.1.1
192.168.2.1
200.200.200.200 150.150.150.150
REDE INTERNA
TÚNEL
SERVIDOR VPN
INTERNET CLIENTE VPN
WEB / SMTP / DNS
Vendedor - (qualquer ponto
Matriz - Brasilia com conexão Internet)
85. freecode.linuxsecurity.com.br
VPN
Topologias
Servidor-a-servidor
192.168.1.x
192.168.1.1 192.168.2.1
192.168.2.x
REDE INTERNA
200.200.200.200 150.150.150.150
TÚNEL
SERVIDOR VPN
SERVIDOR VPN
INTERNET REDE INTERNA - FILIAL
FTP WEB / SMTP / DNS
Matriz - Brasilia Filial - São Paulo
86. freecode.linuxsecurity.com.br
VPN
Protocolos
- PPTP (Point-to-Point Tunneling Protocol): Extensão do PPP, desenvolvido
pela Microsoft embutido no W indows. Usa criptografia MPPE.
- L2F (Layer 2 Forwarding) - Desenvolvido pela Cisco, parecido com o
PPTP.
- L2TP (Layer 2 Tunneling Protocol) - Combina os melhores recursos do
PPTP e L2F. Embutido no W indows 2000 e nos softwares da CISCO
(IOS).
- IPSEC - projetado para oferecer autenticação ao protocolo IP,
encapsulando o TCP e outros protocolos envolvidos.
87. freecode.linuxsecurity.com.br
VPN
IPSEC - Características
- Utiliza padrão de criptografia mundial estipulado por órgãos mundiais
IETF (Internet Engineering Task Force)
- É criado um “envelope” com um protocolo de criptografia no inicio da
conexão. Os dados trafegam “criptografados” e o servidor de destino
processa usando a chave assimétrica (padrão RSA).
- Compatível com: Linux, CISCO, MS-Windows, Firewall Checkpoint,
PGP, BSDs.
- Oferece 2 serviços, podendo estes trabalhar junto ou separadamente:
- Autenticação e Encriptação (IKE)
- Autenticação sem criptografia é possivel
88. freecode.linuxsecurity.com.br
VPN
Solução em Software Livre:
FREESWAN - (http://www.freeswan.org)
- Executado a nível de kernel (mais veloz)
- Suporta qualquer VPN com IPSec
- Pode ser implementado em qualquer sistema de rede IP: roteadores, PCs,
Laptops e Firewalls
- Evita restrições de exportação