• Nenhum resultado encontrado

Port Knocking? Esqueça. Abrindo portas remotamente no iptables com Single Packet Authorization

N/A
N/A
Protected

Academic year: 2021

Share "Port Knocking? Esqueça. Abrindo portas remotamente no iptables com Single Packet Authorization"

Copied!
32
0
0

Texto

(1)

FISL9.0

Fórum Internacional de Software Livre

Port Knocking? Esqueça. Abrindo portas 

remotamente no iptables com Single 

Packet Authorization

Jansen Sena

Porto Alegre, RS – Brasil

Abril, 2008

(2)

Um pouco sobre o palestrante...

Formação

Mestrado acadêmico pelo Instituto de Computação 

da Unicamp (Campinas, SP)

LPI Certified Professional

Atividades atuais

Atech Tecnologias Críticas

Revista PC&CIA 

Coluna Segurança High­tech

Consultor em TI (GNU/Linux, segurança e sw livre)

http://www.jsena.info/about

(3)

Contextualizando

O mundo em rede...

Ambiente colaborativo e sem “malícias” é passado

Internet é hostil do ponto de vista de segurança

Segurança é um processo em constante evolução

Firewall (filtragem) não é panacéia quanto a 

implementação de um ambiente de rede seguro

Premissa básica #1: para ser invadido remotamente, 

o primeiro passo é ter portas abertas

Premissa básica #2: nenhum software é perfeito e 

isento de problemas

(4)

Premissa Básica #1

Target Enumeration

(5)

Premissa Básica #2

Até tú, OpenSSH?

OpenSSH é considerado um bom exemplo de 

software seguro, más....

Vulnerabilidades recentes no OpenSSH

2008/04: OpenSSH X connections Session Hijacking 

2008/03: OpenSSH X11 Cookie Local Authentication Bypass

2008/03: OpenSSH Duplicated Block Remote Denial of Service

2008/01: OpenSSH­Portable GSSAPI Authentication Abort Information

2008/01: OpenSSH LINUX_AUDIT_RECORD_EVENT Remote Login Injection

2007/11: OpenSSH Privilege Separation Key Signature 

(6)

Protegendo serviços...

Serviços têm requisitos de proteção distintos

Serviços de acesso público

HTTP, DNS, FTP...

Onde a segurança deve ser implementada?

Camada de aplicação, ambiente chrooted, atualização (patches)...

Serviços de acesso restrito (e.g. SSH???)

Acessados, esporadicamente, por um grupo reduzido

TCP Wrappers??? AllowUsers (sshd_config)???

Medidas são importantes, mas não impedem acesso ao serviço 

que fica exposto a investidas de atacantes...

Restrição de acesso por IP (filtragem)

Esse NÃO é o cenário adequado na maioria dos casos

(7)

O que é o Port Knocking?

Criado inicialmente em 2003

http://www.portknocking.org

Mais de 30 projetos listados

Em poucas palavras...

Acesso a um serviço restrito é liberado após receber 

uma sequëncia pré­determinada de pacotes

Knock sequence: sequência ordenada de pacotes 

contendo números de portas (UDP/TCP) 

previamente estabelecidos entre cliente e “servidor”

Acesso é retringido novamente após timeout 

(8)

O que é o Port Knocking?

Port 4937 (TCP Syn)

Port 9781 (TCP Syn)

Port 1298 (TCP Syn)

Port 7198 (TCP Syn)

Kn

oc

se

qu

en

ce

Port Knocking 

Daemon

Port Knocking 

Client

Ip

ta

bl

es

 ru

le

s

lib

pc

ap

Port 22/SSH (TCP Syn)

SSH Client

SS

H

 D

ae

m

on

SSH Client

Port 22/SSH (TCP Syn)

SSH Client

Port 22/SSH (TCP Syn/Ack)

Client

Pode ser 

Server

(9)

Limitações do Port Knocking...

Knock sequence

SSH access

Knock sequence 

sniffer

SSH access!!!

Knock sequence 

REPLAY

Sysadmin

Atacante

Servidor

(10)

Limitações do Port Knocking...

Knock sequence

Sysadmin

Atacante

Servidor

Acesso não será 

liberado ao 

sysadmin

(11)

Limitações do Port Knocking...

Outras limitações...

Criptografia restrita pelo fato de somente o espaço 

das portas TCP/UDP (2 bytes) serem utilizados

Pacotes podem ser entregues fora de ordem

Quebra da knock sequence

Cliente pode aumentar o intervalo de envio 

Medida não resolve o problema completamente

Outros problemas podem surgir com o aumento exagerado 

“Outros” possuem mesmo nível de acesso quando 

estão na mesma rede protegida por NAT

Nesse caso, não é necessário replay

(12)

...e o Single Packet Authorization (SPA)?

Herda os benefícios do Port Knocking e...

...resolve muitas das suas limitações!

Estrutura do SPA

Muito similar à do Port Knocking

Possui componentes cliente e servidor

Servidor possui uma política de filtragem em DROP 

Servidor monitora pacotes de maneira “passiva”

Entrada no syslog gerado pelo “LOG” do iptables ou libpcap

Principal diferença: informações são 

encaminhadas na parte de dados do pacote!!!

(13)

Mais sobre o Single Packet Authorization...

Replay não é uma limitação

Cada pacote possui em seu conteúdo (cifrado) um 

número aleatório...

Ao ser decifrado, número é mantido em cache no servidor

Reenvio de pacote por atacante não subverte o SPA

Diferentes níveis de acesso

Nome do usuário, incluso no pacote também é 

utilizado para prover diferentes níveis de acesso

Flexibilidade e versatilidade

(14)

Mais sobre o Single Packet Authorization...

Spoof de pacotes por parte de um atacante não 

inviabiliza o processo de autenticação

Utiliza somente um pacote ao invés de vários

Não é registrado por IDS intermediários como 

um port scan

Port knocking possui essa fragilidade

(15)

Single Packet Authorization na prática

Obtendo o código­fonte do fwknop

http://www.cipherdyne.org/fwknop

Existem pacotes RPM (pré­compilados)

Instalando dependências...

Cenário considerado: Ubuntu Linux 7.10

# apt-get install build-essential libpcap-dev

Compilando...

# tar -xjvf fwknop-1.9.3-1.tar.bz2

# cd fwknop-1.9.3-1

(16)

Single Packet Authorization na prática

Nosso ambiente “didático”

Gandalf

Aragorn

SSH access

Iptables rules

“Servidor” é passivo e não se parece com os tradicionais onde 

existem BSD sockets em estado de listening. 

(17)

Single Packet Authorization na prática

Primeira alternativa: criptografia simétrica

Configuração básica do servidor

/etc/fwknop/access.conf:

SOURCE: ANY;

OPEN_PORTS: tcp/22;

FW_ACCESS_TIMEOUT: 30;

KEY: jsena123;

# /etc/init.d/fwknop start

Segredo compartilhado único!

(18)

Single Packet Authorization na prática

(19)

Single Packet Authorization na prática

Finalmente...

1

2

(20)

Single Packet Authorization na prática

(21)

Single Packet Authorization na prática

Considerações da criptografia simétrica

Implementação mais simples e rápida

Necessita do compartilhamento de um segredo 

único entre os vários usuários

Deve ser utilizada, preferencialmente, apenas em 

ambientes de testes ou em locais com requisitos de 

segurança menos restritivos

(22)

Single Packet Authorization na prática

Segunda alternativa: criptografia assimétrica

Primeiros passos...

Criar par de chaves para cliente e servidor

Exportar a chave criada e copiar para cliente/servidor

$ gpg –gen­key

$ gpg ­a ­­export <KEYID> pubkey.txt

$ scp pubkey.txt 

usuario@host

:~

Importar a chave

Assinar a chave importada

$ gpg --import pubkey.txt

(23)

Single Packet Authorization na prática

Segunda alternativa: criptografia assimétrica

(24)

Single Packet Authorization na prática

Segunda alternativa: criptografia assimétrica

/etc/fwknop/access.conf:

SOURCE: ANY;

OPEN_PORTS: tcp/22;

FW_ACCESS_TIMEOUT: 30;

GPG_HOME_DIR: /home/jansen/.gnupg;

GPG_DECRYPT_ID: 0D1ED5DB;

GPG_DECRYPT_PW: 123;

GPG_REMOTE_ID: 416C76F1;

# /etc/init.d/fwknop restart

(25)

Single Packet Authorization na prática

Segunda alternativa: criptografia assimétrica

(26)

Single Packet Authorization na prática

Segunda alternativa: criptografia assimétrica

(27)

SPA é segurança por obscuridade?

Implementações de port knocking e SPA são 

software livre e,portanto, estão disponíveis para 

estudo, avaliação e crítica

Não mostrar passwords e chaves criptográficas 

representa segurança por obscuridade?

O mesmo aplica­se ao SPA

Segurança POR obscuridade é diferente de 

segurança com obscuridade

(28)

Mil maravilhas?

Solução pode aumentar a “falsa sensação de 

segurança” de muitos sysadmins

Bugs (e.g. libpcaps) e outros potenciais problemas

Necessidade de gerenciamento adicional de 

passwords e chaves criptográficas

Problema mais crítico quando se utiliza criptografia 

de chave assimétrica

Pacotes de autorização são transmistidos sem 

qualquer mecanismo de “confiabilidade”

(29)
(30)

Links interessantes

http://www.cipherdyne.org/fwknop

http://dmiessler.com/study/security_and_obscurity

http://seclists.org/basics/2007/Apr/0015.html

(31)

Perguntas

(32)

jansen@jsena.info

Referências

Documentos relacionados

Diante disso, o objetivo deste estudo foi verificar possíveis relações entre qualidade de vida, autoestima, resiliência, autoeficácia, transtornos mentais comuns,

Gondim, por sua vez – embora em um primeiro momento respalde sua argumentação em tautologias vagas (“literatura é literatura”, “sempre foi assim”) – parece

i) A administração de MNU resultou num decréscimo de peso corporal e da massa do músculo gastrocnemius sugestiva de atrofia muscular esquelética. A prática de ERTMLD

O presente trabalho tem os seguintes objetivos: caracterizar esse tipo de resíduo quanto a sua composição química e a sua periculosidade; avaliar a viabilidade de reci- clar placas

Ressaltar o conceito de compartilhamento de subprodutos entre empresas do EIP O indicador considera quantidades de subprodutos reutilizados O indicador considera quantidades

E por essa via tenta chegar à possível explicação histórica de sua uniformidade em todas as regiões do mundo” (COELHO, 2003, p. 19-36), após a situação inicial, as personagens de

(A) um ou mais atributos que podem fazer parte da chave primária da entidade.. (B) um ou mais atributos que podem fazer parte da chave candidata

Efetuar ligações a bases de dados Criar aplicações com acesso a bases de dados Apresentação esquemática de conceitos Demonstração prática dos procedimentos Resolução