Maikon Kenny Correa de Almeida
O desenvolvimento do trabalho foi feito em conjunto, na divisão das tarefas fiquei responsável
pela parte da fundamentação teórica e por realizar os testes. Mas em todas as etapas do
trabalho tivemos o auxilio um do outro.
Avaliação de um segundo fator de autenticação em Firewall UTM
Fortinet
Maikon Kenny Correa de Almeida, Rodolfo Castro Delgado
Curso de Especialização em Redes e Segurança de Sistemas
Pontifícia Universidade Católica do Paraná
Curitiba, Janeiro de 2013
Resumo
O Objetivo desse trabalho e mostrar a utilização do segundo fator de autenticação,
será utilizado o firewall Fortigate (UTM da Fortinet). Descrevemos a configuração do
equipamento para habilitar o segundo fator de autenticação, utilizamos o FortiToken
Mobile, configurado em aparelhos celulares com o sistema operacional android.
Realizamos testes para demostrar a facilidade de se descobrir os dados de acesso dos
usuários, com base nos resultados obtidos e possível notar o aumento da segurança
com a utilização do segundo fator de autenticação.
1. Introdução
Hoje a maioria das empresas disponibiliza diversos recursos para os seus usuários,
como e-mail, intranet, VPN, etc. Para utilizar esses recursos existe um processo para
provar a sua identidade, que é conhecida como autenticação.
A forma de autenticação mais comum é a utilizando um nome de usuário e uma senha.
O problema dessa forma de autenticação e que um atacante precisa apenas obter esses
dados para ter acesso as informações. Existe muitas formas do atacante descobrir esses
dados, sendo via keylogger, sniffers, trojans, ou ate mesmo via tentativa e erro.
Uma forma de autenticação mais forte e usar mais de um fator de autenticação. No qual
você não só tem que saber algo como seu usuário e senha, mas tem que ter algo como
um Token ou apresentar algo exclusivamente seu, como sua retina, impressão digital.
Nosso objetivo nesse trabalho e mostrar um aumento na segurança, quando e utilizando
um segundo fator de autenticação, nos testes realizados demostramos que mesmo que
um atacante descubra seu usuário e senha ele não será capaz de conseguir o acesso, pois
ele não vai conseguir sem ter acesso ao segundo fator.
Vamos utilizar os equipamentos da Fortinet (Fortigate, FortiToken), para implementar o
segundo fator. Na seção 3 você encontra uma descrição mais detalhada do
hardware/software que foi utilizado e o cenário proposto para os testes.
2. Fundamentação Teórica
Segurança da Informação
Segundo a norma ISO/IEC 17799:2000, segurança da informação é a proteção contra os
diversos tipos de ameaças ás informações, de forma a assegurar a continuidade do
negócio, minimizando danos comerciais, maximizando o retorno dos investimentos e as
oportunidades de negócio. A segurança de um ambiente é caracterizada pela
preservação de três conceitos: a confidencialidade, a integridade e a disponibilidade das
informações criticas.
A preservação da confidencialidade é a garantia de acesso á informação somente por
pessoas autorizadas. Limitando o acesso ás entidades autenticadas, sejam elas pessoas,
maquinas ou processos.
A preservação da integridade é a garantia de exatidão e completeza da informação, ou
seja, garantir que toda vez que uma informação seja manipulada, ela esteja consistente e
íntegra. A preservação da disponibilidade garante que o acesso autorizado á informação
esteja disponível sempre que necessário. Esse controle visa garantir a informação
disponível a quem dele precisa para fins de negocio, com acesso continuo, sem falhas,
ininterrupto, constante e atemporal ás informações. [1]
Fortinet / Fortigate
A Fortinet é a empresa pioneira e líder de mercado no fornecimento de sistemas de
gerenciamento unificado de ameaças, que são usados por corporações e fornecedores de
serviços para aumentar a segurança enquanto reduzem o custo total de operação. As
soluções da Fortinet foram desenvolvidas de forma a integrar múltiplos níveis de
proteção fornecendo aos clientes um meio de se protegerem de múltiplas ameaças,
assim como de ameaças combinadas.
O Fortigate é a primeira gama de aplicações de alto rendimento para a proteção de redes
em tempo real. Trata-se de uma plataforma que combina hardware e software para
oferecer antivírus, filtragem de conteúdos web e de e-mail, Firewall de inspeção
detalhada, IPSec VPN, SSL VPN, detecção e prevenção de intrusões e funções de
prioridade de tráfego.
Os appliances Fortigate possuem uma relação custo benefício extremamente atraente
por ser uma solução de UTM completa, inovadora e líder de mercado. Além de
consolidar soluções sofisticadas, o Fortigate possui opções para alta disponibilidade e
virtualização completa do equipamento. [8][9]
3. Infraestrutura
Para desenvolvimento desse trabalho utilizamos um Fortigate 110c com a ultima versão
de firmware (5.1), dois celulares com o sistema operacional android com o aplicativo
FortiToken Mobile para o token. Configuramos uma maquina com o serviço de terminal
para testar os recursos da rede local. Como pode ser visto abaixo na figura 1.
Figura 1: Desenho da Infraestrutura.
3.1. Configurações do Fortigate, FortiToken Mobile.
As configurações realizadas nos equipamentos são descritas abaixo, como se pode
notar, e necessário poucos passos para habilitar o um portal SSL VPN para acesso aos
recursos da rede local e o segundo fator de autenticação. A instalação do software
FortiToken mobile nos celulares e feito através da play store, loja de aplicativos do
android.
Passo 1: Configurar um servidor de e-mail para ativação do Token: No menu System –
Config – Messaging Servers.
Figura 2: Configuração do servidor de e-mail para a ativação dos Token.
Passo 2: Cadastro do Token no Fortigate. No menu User & Device – Two-factor
Authentication – FortiToken.
Figura 3: Cadastro do Token.
Passo 3: Associando um Token ao usuário: No Menu - User & Device – User
Definition, selecione o usuário e atribua um token a ele. Marque a opção e-mail address
e configure o e-mail que vai receber o código para ativação do token. O usuário vai
receber um e-mail igual o da figura 5.
Figura 4: Atribuindo um Token ao usuário.
Figura 5: E-mail de ativação recebido.
Passo 4: Cadastro do código do Token no aplicativo FortiToken mobile:
Figura 6: Ativação do Token no Telefone.
Passo 5: Configuração do SSLVPN, criação do grupo de usuários que vão ter acesso.
No menu User & Device – User Group – Create New – Defina o nome para o grupo e
adicione o usuário (necessário já ter os usuários criados), figura 8 mostra os grupos
criados.
Figura 7: Criação Grupo de usuários.
Figura 8: Grupos criados
Passo 6: Configuração SSL VPN, criação do portal: No menu VPN – SSL –Portal no
botão + do lado direito você cria um novo portal. Nessa tela se define o nome do portal,
e habilita as aplicações que vai ser acessível pela SSL VPN.
Figura 9: Configuração do Portal SSL VPN
Passo 7: Configuração politica de firewall: No menu Policy – Policy – Create New.
Figura 10: Criação das politicas de firewall.
Passo 8: Teste de conexão: em um navegador acesse o endereço externo do firewall
http://rodolfo.fortiddns.com:10443 vai cair na tela de autenticação do portal, que vai ser
solicitado usuário e senha (figura 11). O firewall conseguindo validar o usuário e senha
ele vai solicitar o Token (figura 12). Após essa etapa de autenticação vai mostrar o
portal SSL VPN (figura 13) com os acessos disponíveis á rede local.
Figura 11: Tela de autenticação do portal.
Figura 12: Tela de autenticação solicitando o Token.
Figura 13: Tela do Portal SSL VPN
4. Testes realizados
O objetivo dos testes realizados visa mostrar a facilidade de se conseguir os dados de
acesso de um usuário (usuário + senha). Vamos utilizar as ferramentas que vem na
distribuição Backtrack Linux (Distribuição Linux voltada para testes de segurança),
Sniffers, e outras ferramentas que qualquer usuário consegue baixar da internet e
executar sem nenhum conhecimento técnico.
Figura 14: Desenho do ambiente de teste.
4.1. Teste de ataque Man-in-the-middle.
Nesse teste estaremos fazendo um ataque conhecido como Man in the middle com
arpspoof para atacar nosso servidor gateway, durante a execução do sslstrip. O Nosso
Alvo vai ser o próprio appliance da Fortinet (Fortigate 110c) vamos tentar descobri o
usuário e senha dele.
A técnica Man-in-The-Middle, funciona de modo que o hacker engana o cliente e o
servidor, engana o cliente se fazendo passar por um servidor de proxy e engana o
servidor se passando pelo próprio cliente, desta forma os dados chegam até o hacker em
texto puro, pois os dois pensam que o hacker é uma fonte confiável. [4], como e
mostrado na figura 15.
Figura 15: ataque Main in The Middle
Arpspoof é uma técnica usada para tentar convencer o host que o MAC address dele é o
MAC address do router. ARP é o protocolo de resolução de endereços que trabalha na
camada 2 do modelo OSI. O que o ARPspoof faz basicamente e enviar pacotes ARP
falsos na rede, com o objetivo de associar o endereço MAC do atacante com o do
gateway da rede, com a intenção de enganar as máquinas ligadas ao segmento de rede.
SSLstrip trabalha de uma forma bem simples, ele altera todos os GET's HTTPS por
HTTP de uma página, e por meio de um ataque man int the middle, faz com que a
vítima e o atacante se comuniquem via HTTP, quando na verdade o atacante e o
servidor estão se comunicando via HTTPS.
Configuração do ambiente:
Utilizamos a distribuição Linux BackTrack 5 r3, na qual já vem instalado todas as
ferramentas necessárias para realização do ataque.
Passo 1: Ativar roteamento de pacotes: abra uma console e digite o seguinte comando:
echo “1” > /proc/sys/net/ipv4/ip_forward
Passo 2: Configuração do iptables para redirecionar todo tráfego HTTP para o sslstrip
na porta 8080:
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –toport 8080
Passo 3: Identificação do gateway da rede, em uma console digite o comando netstat -nr
como mostrado na figura 16.
Figura 16: Identificação do gateway.
Passo 4: Iniciando o ataque arpspoofing, execute o comando abaixo em uma console:
arpspoof –i eth0 10.11.31.253.
Figura 17: Ataque ArpSpoofing iniciado
Passo 5: Iniciando o SSLSTRIP, em uma nova console execute o comando sslstrip -l
8080
Figura 18: sslstrip sendo executado
Passo 6: Coletando os dados do ataque com o ambiente pronto, fazendo o arpspoof e o
sslstrip capturando o trafego. Abra outra console para verificar o que esta passando: tail
–f ssltstrip.log
Figura 19: Ambiente do ataque sendo executado
Passo 7: Testando a captura dos dados: a partir de uma maquina da rede, acessamos o
endereço externo http://rodolfo.fortiddns.com (endereço do firewall) conseguimos ver
no log o usuário e senha, que foi capturado. Foi também possível capturar o código do
Token utilizado, como mostrado na figura 20.
Figura 20: Tela com os dados capturados.
Como pode ser visto na figura acima, foi possível capturar as informações que
queríamos o usuário e senha, mas também foi possível capturar o código do token
utilizado. Mas mesmo com essas informações o atacante não conseguira o acesso a
pagina, pois o código do token só tem validade para uma utilização, é e gerado um novo
código a cada 60s.
4.2. Ferramentas da Internet.
Outra maneira de descobrir usuário e senha e através de ferramentas que vasculham o
computador atrás de senhas salvas. Basta uma pesquisa simples no google.com.br
como: senhas salvas pc como recuperar, que você vai encontrar varias ferramentas, na
qual não é necessário nenhum conhecimento técnico para executar. Uma dessas
ferramentas e o SpotAuditor, com ele e possível recuperar senhas salvas no navegador,
conexão dial-up (VPN), msn, Gtalk etc.
Figura 21: SpotAuditor rodando
Essa forma de ataque, a pessoa precisa ter acesso a maquina, isso pode ocorrer de
diversas formas, por exemplo, sair e deixar a maquina desbloqueada, levar a maquina
para uma assistência técnica.
5. Conclusões
Foram demonstradas duas formas de se conseguir os dados do usuário, mas existe
enumeras formas de se obter os dados, pode se notar que são dois métodos fáceis de
executar, mas que conseguem atingir seu objetivo.
O que ocorre com muita frequência e o usuário utilizar o mesmo usuário e senha para
vários sites, como e-mail, redes sociais, bancos etc. Uma pesquisa da securityweek [5]
revela que 75% dos usuários usam a mesma senha de e-mail para redes sociais. Outro
estudo revela que seis em cada 10 usuários usa os mesmos usuário e senhas para vários
sites [6].
A partir dessas informações podemos deduzir que se descobrindo a combinação de
usuário + senha de um usuário teremos grande chances de ter acesso a outras
informações.
Mas agora a utilização do segundo fator de autenticação, mesmo que essas informações
de usuário e senha sendo descobertos não vai ser possível conseguir o acesso. Como
mostrado no teste, por causa da validade do token, e a restrição de apenas uma
utilização.
Podemos concluir que se possível não utilizar mesmos usuário e senhas para vários
serviços e uma boa pratica, e que se possível não salvar senha em navegadores,
conexões dial-up e clientes de mensagem instantâneas.
Consideramos que no futuro, todas as aplicacoes vao precisar integrar o segundo fator
de autenticacao dentro do codigo delas, usando os APIs para integrar com os tokens.
Para ter uma referencia, as aplicacoes ficariam similares ao que ja conhecemos nos sites
dos bancos. Além de integrar os API’s os codigos dos tokens devem ser digitados
fazendo click nos numeros e nao usando o teclado, isto para evitar a captura dos tokens
como foi apresentado durante os testes.
6. REFERÊNCIAS BIBLIOGRÁFICAS
[1] Siqueira, Marcelo Costa. Gestão estratégica da informação / Marcelo Costa Siqueira.
– Rio de Janeiro: Brasport, 2005.
[2] Cheswick. William R. Firewalls e segurança na Internet: repelindo o hacker ardiloso
/ William R. Cheswick. Steven M. Belovin e Aviel D. Rubin: tra. Edson Furmankiewicz
– 2.ed. –Porto Alegre: Bookman, 2005.
[3] Santos, Alfredo. Gerenciamento de identidade / Alfredo Santos. – Rio de Janeiro:
Brasport, 2007.
[4]A técnica man in the middle. http://www.securityhacker.org/artigos/item/a-tecnicaman-in-the-middle , acessando em 16/01/2013.
[5]Estudo Revela 75% usa o mesmo usuário e senha para redes sociais e e-mail.
http://www.securityweek.com/study-reveals-75-percent-individuals-use-samepassword-social-networking-and-email acessado em 16/01/2013.
[6]6 em cada 10 internautas usam a mesma senha para vários sites,
http://tecnologia.ig.com.br/2012-10-01/seis-em-cada-10-internautas-usam-mesmasenha-para-varios-sites-diz-estudo.html acessado em 16/01/2013.
[7] http://kb.fortinet.com acessado em 10/01/2013.
[8] http://www.brasiline.com.br/index.php?id=/fabricantes/materia.php&cd_matia=165
acessado em 04/01/2013.
[9] http://forum.pfsense.org/index.php?topic=46063.0;wap2 acessado em 04/01/2013.
Download

Maikon Kenny Correa de Almeida