Especialização em Segurança da Informação Segurança em Banco de Dados e Aplicações 2. Segurança em Storage Márcio Aurélio Ribeiro Moreira [email protected] http://si.lopesgazzani.com.br/docentes/marcio/ Objetivos do capítulo Mostrar os tipos de RAID existentes Mostrar os principais problemas de segurança em ambientes de armazenamento: DAS, NAS, SAN e Backups Apresentar as recomendações para resolver ou evitar os problemas apresentados Márcio Moreira 2. Segurança em Storage – Slide 2 Segurança em Banco de Dados e Aplicaçoes O armazenamento nas organizações Banco da Índia (2007): 14.000 filiais em todo o país 11.000 escritórios conectados ao Data Center Mais de 20 milhões de clientes ≈ 100 TB armazenados Crescimento exponencial Questões de segurança: Compressão / Cifragem Antivírus Firewall e IDS Fonte: Ramakrishnan Márcio Moreira 2. Segurança em Storage – Slide 3 Segurança em Banco de Dados e Aplicaçoes Demanda de performance e espaço Demanda Espaço 8X Demanda Performance 300% 7X 253% 250% 6X Demanda anual de 50% de espaço e performance 4X 7.6X 75% 2.3X 1X 50% 1.5X Hoje 1 Ano 2 anos 2. Segurança em Storage – Slide 4 3.4X 3 anos 150% 100% 5.1X 2X Márcio Moreira 169% 113% 3X 1X 200% 50% 4 anos 5 anos Segurança em Banco de Dados e Aplicaçoes Fonte: Ramakrishnan 5X Alternativas para a demanda Podemos resolver com RAMs? Caras e voláteis só para processamento Podemos utilizar fitas? Baratas e lentas por serem seqüenciais backups Podemos resolver com CDs e DVDs? Baratos e aleatórios. Mas, lentos distribuição Podemos resolver com HDs? Preço justo, aleatórios e rápidos muitos HDs Onde colocar tantos HDs? Fora do gabinete Márcio Moreira 2. Segurança em Storage – Slide 5 Segurança em Banco de Dados e Aplicaçoes Tecnologia RAID Como obter performance e confiabilidade? RAID: Redundant Array of Independent Disks Um conjunto de HDs é visto pelo SO como uma única unidade de disco Vantagens: Grande capacidade de armazenamento Acesso paralelo melhor performance Permite o espelhamento de dados Desvantagens: Custo: requer hardware ou software especial Se espelhado: requer o dobro de espaço Márcio Moreira 2. Segurança em Storage – Slide 6 Segurança em Banco de Dados e Aplicaçoes Por dentro dos Disk Arrays Host Interface Host Interface Fault Tolerant Cache Memory Gaveta do sistema operacional Array Controller Array Controller Disk Directors Disk Directors Gavetas de discos Fonte: EMC Márcio Moreira 2. Segurança em Storage – Slide 7 Segurança em Banco de Dados e Aplicaçoes RAID 0 - Striping ou Fracionamento Os dados são divididos em segmentos e estes são colocados nos HDs Não há redundância Sem RAID: 3 HDs num mesmo host. Cada HD contem um volume Com RAID 0: Os volumes são divididos em blocos e movidos para balancear a carga de atividades. Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Volume 1 Middle Volume 2 Middle Volume 3 Middle Volume 1 End Volume 2 End Volume 3 End Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Volume 2 Middle Volume 3 Middle Volume 1 Middle Volume 3 End Volume 1 End Volume 2 End Fonte: EMC Márcio Moreira 2. Segurança em Storage – Slide 8 Segurança em Banco de Dados e Aplicaçoes RAID 1 - Mirroring ou Espelhamento Os dados de um HD são espelhados em outro gerando redundância Sem RAID: 3 HDs num mesmo host. Com RAID 1: Um espelho de cada HD é criado gerando um para de HDs. Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Volume 1 Middle Volume 2 Middle Volume 3 Middle Volume 1 End Volume 2 End Volume 3 End Volume 1 Beginning Volume 1 Beginning Volume 2 Beginning Volume 2 Beginning Volume 3 Beginning Volume 3 Beginning Volume 1 Middle Volume 1 Middle Volume 2 Middle Volume 2 Middle Volume 3 Middle Volume 3 Middle Volume 1 End Volume 1 End Volume 2 End Volume 2 End Volume 3 End Volume 3 End Fonte: EMC Márcio Moreira 2. Segurança em Storage – Slide 9 Segurança em Banco de Dados e Aplicaçoes RAID 1+0 - Performance e Redundância Os HDs (volumes físicos) são espelhados e os volumes lógicos divididos Sem RAID: 3 HDs num mesmo host. Com RAID 1+0: HDs espelhados. Volumes lógicos fracionados para balancear carga. Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Volume 1 Middle Volume 2 Middle Volume 3 Middle Volume 1 End Volume 2 End Volume 3 End Volume 1 Beginning Volume 1 Beginning Volume 2 Beginning Volume 2 Beginning Volume 3 Beginning Volume 3 Beginning Volume 2 Middle Volume 2 Middle Volume 3 Middle Volume 3 Middle Volume 1 Middle Volume 1 Middle Volume 3 End Volume 3 End Volume 1 End Volume 1 End Volume 2 End Volume 2 End Fonte: EMC Márcio Moreira 2. Segurança em Storage – Slide 10 Segurança em Banco de Dados e Aplicaçoes Paridade de dados A paridade é utilizada para tentar recuperar dados perdidos Group 1 Group 2 Group 3 0 1 1 Parity for 1st Group = 0 Parity for 2nd Group = 1 0 1 0 1 1 Parity for 3rd Group = 1 LOST DATA DATA + DATA + DATA = Parity Fonte: EMC Márcio Moreira Group 1 0 + 1 + 1 = 0 Group 2 0 + 1 + 0 = 1 Group 3 1 + 1 + ? = 1 2. Segurança em Storage – Slide 11 Segurança em Banco de Dados e Aplicaçoes RAID 5 - Fracionamento e paridade Divide os dados no nível de bloco e acrescenta um bloco de paridade Requer no mínimo 3 discos Sem RAID: 3 HDs num mesmo host. Com RAID 5: Um grupo de drives são agrupados como um volume físico. Fonte: EMC Márcio Moreira Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Volume 1 Middle Volume 2 Middle Volume 3 Middle Volume 1 End Volume 2 End Volume 3 End Volume 1 Beginning Volume 2 Beginning Volume 3 Beginning Parity for 3rd Group Parity for 2nd Group Volume 3 Middle Volume 2 Middle Volume 1 Middle Volume 3 End Volume 1 End Parity for 1st Group Volume 2 End 2. Segurança em Storage – Slide 12 Segurança em Banco de Dados e Aplicaçoes Níveis de RAID Nível Mínimo Discos Técnica Aplicação Comentários 0 Fracionamento em blocos 2 Alta performance Sem redundância 1 Espelhamento 2 Alta disponibilidade e performance Implantação simples 2 Fracionamento em bits Monitoramento em RAM 2 Alta performance e disponibilidade Nenhum uso comercial 3 Fracionamento em bytes Disco de paridade 3 Alta performance e disponibilidade Menor custo 4 Fracionamento em blocos (Múltiplos I/O) Disco de paridade 3 Processamento de transações Alta disponibilidade Alta taxa de leitura Baixo uso comercial 5 Fracionamento em blocos (Múltiplos I/O) Discos de paridade independentes 3 Processamento de transações Alta disponibilidade Alta taxa de leitura 6 Fracionamento em blocos (Múltiplos I/O) Múltiplos discos de paridade independentes 4 Processamento de transações Alta disponibilidade Alta taxa de leitura Baixo uso comercial Níveis mais usados comercialmente: 0, 1, 3, 5 e 10 (1+0): Múltiplos I/O Independência de leitura e gravação (acesso múltiplo). Custo comparado para níveis que oferecem mesmos benefícios. Fonte: EMC, IBM, Wikipedia e experiência. Márcio Moreira 2. Segurança em Storage – Slide 13 Segurança em Banco de Dados e Aplicaçoes Arquiteturas típicas de storage DAS: Direct Attached Storage NAS: Netware Windows NT/2K Linux/Unix Direct Attached Storage (DAS) Network Attached Storage Netware SAN: Storage Area Network Windows NT/2K Linux/Unix NAS Network Attached Storage (NAS) Storage Windows NT/2K FC Switch Netware Linux/Unix Márcio Moreira 2. Segurança em Storage – Slide 14 Storage Area Network (SAN) Segurança em Banco de Dados e Aplicaçoes Arquiteturas DAS & NAS DAS Márcio Moreira NAS 2. Segurança em Storage – Slide 15 Segurança em Banco de Dados e Aplicaçoes Arquitetura do NAS Requisita um I/O remoto Servidor Sistema Operacional Chama o Sistema de Arquivos Redirecionador de I/O Redireciona o I/O para o Storage NFS/SMB/CIFS Chamada para o FS do Storage Pilha TCP/IP Encapsula chamada de rede Unidade de Storage Aplicação HDs Storage Protocolo Storage (FC) Protocolo de Drive (SCSI) SO NAS Protocolo NAS Pilha TCP/IP Rede Placa de Rede Márcio Moreira 2. Segurança em Storage – Slide 16 Placa de Rede Segurança em Banco de Dados e Aplicaçoes Arquitetura do SAN Márcio Moreira 2. Segurança em Storage – Slide 17 Segurança em Banco de Dados e Aplicaçoes Termos comuns em SANs LUN: Logical Unit Number Um vetor lógico de unidades de storage (volume lógico) WWN: World Wide Name Endereço MAC das placas HBAs NS: Name Server Tabela no switch que relaciona o WWN ao endereço físico Zoning: Fabric: N_Port: F_Port: FLOGI: Márcio Moreira Segmentação lógica dos nós da rede Topologias de switches de conexão (rede) Uma porta de um nó (portas de hosts) Uma porta de fábrica (portas de switches) Fabric Login (processo de logar na fábrica) 2. Segurança em Storage – Slide 18 Segurança em Banco de Dados e Aplicaçoes Protocolos da rede SAN A arquitetura NAS usa protocolos de blocos de disco (NFS, SMB ou CIFS) A SAN usa protocolos de arquivos: iFCP (IP Fiber Channel Protocol) ou SANoIP (SAN over IP), mapeando SCSI sobre FCP sobre IP iSCSI (Internet SCSI), mapea SCSI sobre TCP/IP FICON sobre canal de fibra (usado em mainframe) ATA sobre Ethernet SCSI e/ou TCP/IP sobre InfiniBand (IB) FC (Fiber Channel) sobre Ethernet Márcio Moreira 2. Segurança em Storage – Slide 19 Segurança em Banco de Dados e Aplicaçoes Especialização em Segurança da Informação 1ª parte Porque segurança em storage? Boa parte dos ambientes de storage usam redes de fibra ótica separadas Muitos administradores assumem que a rede de storage é segura. Será? Os ambientes IP são mais atacados (sem dúvida) Isto não que dizer que ambientes FC estejam livres Estes ambientes têm a mesma premissa de segurança de outros ambientes: As informações devem estar disponíveis somente para usuários que tenham direito de acessá-las Márcio Moreira 2. Segurança em Storage – Slide 21 Segurança em Banco de Dados e Aplicaçoes Direcionador de segurança Estamos lidando com: propriedade intelectual, informações proprietárias, segredos comerciais, etc. Todos os aspectos de segurança de dados devem ser considerados: Não usar premissas ou suposição não confirmadas Especialmente em partes obscuras da segurança Isto é fundamental para o sucesso da segurança em armazenamento Márcio Moreira 2. Segurança em Storage – Slide 22 Segurança em Banco de Dados e Aplicaçoes Fatos A maioria das empresas preocupam-se mais com servidores web do que com storage Os storages podem estar conectados a várias redes (DMZ - inadequado, interna, aplicações, banco de dados e backups) Os storages podem estar em segmentos IP: Sem a segmentação adequada um servidor comprometido pode dar acesso à todas as redes, inclusive as de storage e backup Márcio Moreira 2. Segurança em Storage – Slide 23 Segurança em Banco de Dados e Aplicaçoes O que acontece se: O Web Server for comprometido? E o DB Server? Márcio Moreira 2. Segurança em Storage – Slide 24 Segurança em Banco de Dados e Aplicaçoes Porque nos preocupar? O que ocorre se um espião pegar na rede de storage: Uma senha de root ou de administrador O código fonte de alguma aplicação Informações indevidas e a empresa estiver sujeita a leis que a obrigam proteger tais informações As redes de armazenamento estão crescendo Os ataques e as vulnerabilidades estão migrando das redes IPs para as redes FC: Alguns fabricantes ainda acham que as redes de storage estão imunes a ataques Márcio Moreira 2. Segurança em Storage – Slide 25 Segurança em Banco de Dados e Aplicaçoes Análise preliminar Medidas da Segurança Práticas de Storage Autenticação Autorização Criptografia Pobre Média Inexistente Resultado: Ruim! Márcio Moreira 2. Segurança em Storage – Slide 26 Segurança em Banco de Dados e Aplicaçoes Pacote de FC É um frame (pacote) composto de: SOF Header Payload CRC EOF Corpo (área de dados) Cabeçalho Iniciador (Start Of Frame) Márcio Moreira 2. Segurança em Storage – Slide 27 Verificador CRC (Cyclic Redundancy Check) Terminador (End Of Frame) Segurança em Banco de Dados e Aplicaçoes Arquitetura do protocolo FC Nível Camada Função 4 Mapping (mapeamento) Mapeia os canais e protocolos de rede para o FC: Canais: IPI, SCSI, HIPPI e SBC CS Protocolos: 802.2, IP e ATM 3 Common Services (serviços comuns) Inclui unicast, multicast e broadcast, etc. 2 Framing Protocol (protocolo do pacote) Define topologia, formato, controle de erro e agrupamentos de frames 1 Transmission Protocol (protocolo de transmissão) Define a codificação e decodificação de sinal 8B ou 10B 0 Physical Media (meio físico) Par trançado, cabo coaxial e fibra óptica: 133, 266 e 531 Mbps, e de 1.0 até 3.2 Gbps A camada FC-2 (FC nível 2) tem várias fraquezas: ● Autenticação: ● Autorização: ● Cifragem: Márcio Moreira Não tem autenticação na fábrica Parâmetros de autorização fracos Não existe atualmente 2. Segurança em Storage – Slide 28 Segurança em Banco de Dados e Aplicaçoes Resumo do frame da FC-2 O frame da FC-2 é semelhante ao protocolo da camada MAC (Media Access Control): Formato do frame Gerenciamento de seqüência Gerenciamento de intercâmbio Controle de fluxo Login e logout Topologias Segmentação e remontagem Márcio Moreira 2. Segurança em Storage – Slide 29 Segurança em Banco de Dados e Aplicaçoes Detalhes do frame da FC-2 SOF Header Start Of Frame Frame Header 4 bytes 24 bytes CTL Source Address Payload Optional Header Payload 64 bytes 2048 bytes 2112 bytes Data Field Destination Address Type Seq_Cnt CRC EOF CRC Error Check End Of Frame 4 bytes 4 bytes Seq_ID Exchange_ID A camada FC-2 (FC nível 2) tem várias fraquezas de segurança que já foram identificadas e resolvidas no IPv4 O Payload (data field ou área de dados) pode conter de 0 a 2112 bytes a serem transmitidos Márcio Moreira 2. Segurança em Storage – Slide 30 Segurança em Banco de Dados e Aplicaçoes Ataques de alta destruição ao FC Classes de ataques: HBA: Switches: Frames: Ataques às placas FC HBAs Ataques aos elementos de rede Ataques aos frames FC Legenda: Placas HBA Switches Pacotes Márcio Moreira 2. Segurança em Storage – Slide 31 Segurança em Banco de Dados e Aplicaçoes Exemplos de ataques Classe Ataque HBA Spoofing LUN Masking Switch Switch Zoning LUN Masking Cut-through switching Share Infrastructure Web Management Frame Session hijacking Man-in-the-middle Exchange ID Márcio Moreira 2. Segurança em Storage – Slide 32 Descrição Simulação Mascaramento de LUN Troca de zona Mascaramento de LUN Atalho de roteamento Compartilhar infra-estrutura Gerenciamento web Seqüestro de sessão Homem do meio Troca de identidade Segurança em Banco de Dados e Aplicaçoes Ataque HBA: Spoofing (simulação) Assim como o MAC o WWN pode ser trocado facilmente, inclusive com recursos dos fabricantes Usando o WWN de uma HBA autorizada o espião pode ter acesso à dados não autorizados Márcio Moreira 2. Segurança em Storage – Slide 33 Segurança em Banco de Dados e Aplicaçoes Ataque HBA: Spoofing Um espião troca o WWN de sua placa HBA pelo WWN da HBA de um usuário válido Assim, o espião pode ter acesso à outra zona e até a uma LUN do usuário válido Márcio Moreira 2. Segurança em Storage – Slide 34 Segurança em Banco de Dados e Aplicaçoes Switch Zoning (troca da zona) Este ataque permite que um nó da fábrica acesse outro nó usando as políticas de zoneamento Por enquanto, os switches são as únicas entidades (em muitas redes) que concedem ou negam o direito de acesso aos nós: Porém, o acesso é concedido ou negado baseado na autorização do WWN, sem envolvimento de nenhum outro mecanismo de segurança, tais como: autenticação, integridade ou criptografia Márcio Moreira 2. Segurança em Storage – Slide 35 Segurança em Banco de Dados e Aplicaçoes Tipos de zoneamento Hard (execução baseada em zoneamento): 2 ou mais nós da mesma zona recebem as mesmas informações de zoneamento para se comunicarem Neste caso, há restrição de tráfego entre os nós Soft (Informação baseada em zoneamento): 2 ou mais nós da mesma zona recebem informações de rotas uns dos outros Este tipo de zoneamento não faz restrição de tráfego Márcio Moreira 2. Segurança em Storage – Slide 36 Segurança em Banco de Dados e Aplicaçoes Bases de zoneamento Bases de zoneamento: WWN F_Port Por WWN: Baseia-se somente no WWN de cada placa HBA Por portas: Baseia-se no número de cada porta física (F_Port) do switch FC para cada WWN de cada placa HBA As zonas são mecanismos de segmentação: Elas são usadas por ferramentas de segurança Mas, não são mecanismos de segurança Márcio Moreira 2. Segurança em Storage – Slide 37 Segurança em Banco de Dados e Aplicaçoes Soft Zone Hopping (pulando zonas) Zoneamento soft por WWN: Simulando um WWN o espião terá acesso às informações da WWN simulada Sem simular um WWN, se o espião souber a rota para outro WWN numa zona diferente, que pode ser enumerada via fábrica, terá o acesso garantido Zoneamento soft por número de portas: A simulação de um WWN não terá sucesso, pois cada WWN é vinculado a uma porta específica Sem simular um WWN, se o espião souber a rota para outro WWN o acesso também será garantido neste caso Márcio Moreira 2. Segurança em Storage – Slide 38 Segurança em Banco de Dados e Aplicaçoes Hard Zone Hopping (pulando zonas) Zoneamento hard por WWN: Simulando um WWN o espião terá acesso às informações da WWN simulada Sem simular um WWN, o espião não terá acesso a outro WWN mesmo que ele saiba a rota certa para isto Zoneamento hard por número de portas: Nenhum dos ataques, simulação (spoofing) ou roteamento, terão sucesso neste caso Portanto, esta é nossa recomendação Márcio Moreira 2. Segurança em Storage – Slide 39 Segurança em Banco de Dados e Aplicaçoes Ataque a uma zona soft por WWN Márcio Moreira 2. Segurança em Storage – Slide 40 Segurança em Banco de Dados e Aplicaçoes Ataque a uma zona soft por WWN Depois de comprometer o servidor de Web ou de FTP, um espião pode acessar dados corporativos: Usando o switch FC, simulando seu WWN como WWN-C, WWN-D ou WWN-E Comprometendo o firewall da rede IP e acessando diretamente a LAN Interna A segurança do SO é a única proteção de sua rede de storage? Márcio Moreira 2. Segurança em Storage – Slide 41 Segurança em Banco de Dados e Aplicaçoes Mascaramento de LUN É o processo de esconder ou revelar partes do disco de storage (um LUN) para um nó Ele cria um subconjunto do storage, um pool virtual, e permite o acesso a somente alguns servidores especificados Basicamente apresenta um conjunto limitado de LUNs para um nó da rede de storage Também é um mecanismo de segmentação, não de segurança Pode ocorrer em diferentes lugares: No client, no switch FC, no nó, numa aplicação ou em dispositivos de terceiros Márcio Moreira 2. Segurança em Storage – Slide 42 Segurança em Banco de Dados e Aplicaçoes Ataque ao mascaramento de LUN Se o mascaramento ocorre no client, usando um driver HBA, então o espião pode: Abrir propriedades do mascaramento do nó, que não tem parâmetros de autenticação Trocar as configurações para remover qualquer um ou todos os mascaramentos Isto também permite ao nó cliente ver todos os LUNs identificados, tendo ou não autorização para isto Márcio Moreira 2. Segurança em Storage – Slide 43 Segurança em Banco de Dados e Aplicaçoes Troca de informações de LUN O driver HBA troca informações de LUN: Márcio Moreira 2. Segurança em Storage – Slide 44 Segurança em Banco de Dados e Aplicaçoes Ataques de mascaramento de LUN No switch FC: Se o mascaramento ocorrer no switch FC, então um WWN simulado pode comprometer as propriedades do mascaramento Na controladora do storage: A controladora pode ser usada para expor alguns LUNs para alguns WWNs Logo, comprometendo um WWN toda a segurança estará comprometida! Márcio Moreira 2. Segurança em Storage – Slide 45 Segurança em Banco de Dados e Aplicaçoes Especialização em Segurança da Informação 2ª Parte Session Hijacking (seqüestro de sessão) Fraquezas do identificador de seqüência: Seq_ID (identificador) e Seq_Cnt (contador) Todo frame deve ser parte de uma seqüência Frames de uma mesma seqüência têm o mesmo Seq_ID Cada frame na seqüência é controlado pelo Seq_Cnt Ex: Seq_ID = 1, Seq_Cnt = 1, 2, 3, .... Start Of Frame Frame Header 4 bytes 24 bytes CTL Márcio Moreira Source Address Optional Header Payload 64 bytes 2048 bytes 2112 bytes Data Field Destination Address Type 2. Segurança em Storage – Slide 47 Seq_Cnt CRC Error Check End Of Frame 4 bytes 4 bytes Seq_ID Exchange_ID Segurança em Banco de Dados e Aplicaçoes Vulnerabilidade explorada No FC os pacotes são seqüenciados na transmissão de uma porta para outra: O receptor tem que verificar todos os frames para montar a seqüência esperada Mas, ninguém falou quantos frames existem Um espião pode seqüestrar uma seqüência estabelecida entre 2 nós confiáveis: Se a seqüência tiver por exemplo 132 frames Basta continuar criando frames: 133, 134, etc. Márcio Moreira 2. Segurança em Storage – Slide 48 Segurança em Banco de Dados e Aplicaçoes Ataque do Session Hijacking Se o espião não estiver preocupado com consistência, o ataque é mais simples: Capture a identificação da seqüência (Seq_ID) Produza o frame seguinte fazendo: Seq_Cnt = Seq_Cnt + 1 Como não há controle de integridade dos frames, a sessão já estará seqüestrada Márcio Moreira 2. Segurança em Storage – Slide 49 Segurança em Banco de Dados e Aplicaçoes Endereçamento FC Endereços de 24 bits (source e destination): 8 bits: Domínio (switch ID) 8 bits: Área (grupo de F_Ports) 8 bits: Porta (N_Port) ID Start Of Frame Frame Header 4 bytes 24 bytes CTL Source Address F_Ports N_Port Márcio Moreira Optional Header Payload 64 bytes 2048 bytes 2112 bytes Data Field Destination Address ID F_Ports Type Seq_Cnt CRC Error Check End Of Frame 4 bytes 4 bytes Seq_ID Exchange_ID N_Port 2. Segurança em Storage – Slide 50 Segurança em Banco de Dados e Aplicaçoes Roteamento FC Roteamento: Um nó (N_Port) é dinamicamente atribuído a um endereço de 24 bits, usualmente pelo switch seguindo a topologia (fábrica), este endereço é usado para fazer o roteamento No switch a Name Servers Table (tabela de servidores) mantém o endereço da Porta (24 bits) e do WWN (64 bits) O que isto nos lembra? Roteamento IPv4 Márcio Moreira 2. Segurança em Storage – Slide 51 Segurança em Banco de Dados e Aplicaçoes Ataque man-in-the-middle Explora fraquezas da fábrica para entrar nela: O espião envia um login para a Fábrica (FLOGI) para o endereço 0xFFFFFE (semelhante ao broadcast) usando o endereço 0x000000 (pois ele não sabe seu N_Port) A fábrica e o switch associado recebe o frame e envia um frame de aceitação (ACC) para o espião O frame ACC tem dentro dele o N_Port certo do espião Agora o espião tem o N_Port dele e da fábrica Como não há validação nem autenticação, ele envia um port login (PLOGI) para 0xFFFFFC (endereço que permite a um servidor atualizar a tabela de WWN no switch) Márcio Moreira 2. Segurança em Storage – Slide 52 Segurança em Banco de Dados e Aplicaçoes Contaminando a tabela de servidores A fábrica assume que os frames da conexão devem ser enviados ao WWN do espião: Assim, todos os frames destinados ao nó destino passam primeiro pelo nó do espião Pronto, o espião virou o homem do meio! Márcio Moreira 2. Segurança em Storage – Slide 53 Segurança em Banco de Dados e Aplicaçoes Replicação E_Port As E_Ports (Expansion Ports) dos switches FC fornecem “uplink” para outros switches: Quando os switches descobrem a conexão com outro pela E_Port, eles compartilham: informação da fábrica, gerenciamento e tabelas (nomes de servidores e de zoneamento) Normalmente, a replicação via E_Port requer autenticação Por padrão, todas as portas dos switches FC podem ser F_Ports ou E_Ports Márcio Moreira 2. Segurança em Storage – Slide 54 Segurança em Banco de Dados e Aplicaçoes Vulnerabilidade no controle de fluxo Um dispositivo pode transmitir frames para outro somente quando o receptor está pronto: Antes de enviar dados uns para os outros, os dispositivos precisam fazer login e estabelecer créditos entre si Créditos: Número de frames que um dispositivo pode receber por vez Este valor é compartilhado durante o login Interrupção do controle de fluxo: No compartilhamento não há autenticação nem integridade Um espião pode trocar informações de serviço entre 2 nós autorizados e interromper o serviço Márcio Moreira 2. Segurança em Storage – Slide 55 Segurança em Banco de Dados e Aplicaçoes Atalhos de roteamento (cut-through) Alguns switches olham apenas o D_ID (Destination ID ou endereço de destino) para rotear o frame Isto aumenta a performance reduzindo o tempo necessário para decidir rotas Entretanto, o frame é encaminhado sem verificação de S_ID (Source ID ou endereço de origem) Os endereços D_ID e S_ID são de 24 bits Márcio Moreira 2. Segurança em Storage – Slide 56 Segurança em Banco de Dados e Aplicaçoes Web Management O protocolo http passa dados em texto plano Isto é péssimo para a segurança Além disto, as senhas padrões dos switches FC são todas conhecidas: password, admin, manage, prom, filer, netcache, monitor, temp, root, backup, KuSuM, momanddad, <switch vendor>, <company name>, letmein, secureme, abcd1234, money, Config, test, secret, keepout, test123 e green Logo, evite o gerenciamento remoto via web Márcio Moreira 2. Segurança em Storage – Slide 57 Segurança em Banco de Dados e Aplicaçoes Arquitetura alvo Robusta? Márcio Moreira 2. Segurança em Storage – Slide 58 Segurança em Banco de Dados e Aplicaçoes Ataque Web Management fase 1 Comprometa o Servidor Web Ganhe acesso ao Servidor BD Comprometa o Firewall Interno Uma vez na Rede Interna, ataque a interface IP do Switch FC Comprometa o Switch FC Márcio Moreira 2. Segurança em Storage – Slide 59 Segurança em Banco de Dados e Aplicaçoes Ataque Web Management fase 2 Usando a fase 1 comprometa o Switch FC Instale “aplicações” usando o caminho comprometido ou: Use a manutenção da rede interna como entrada Seja um: “Fornecedor” “Consultor” “Parceiro de Negócios” Etc. Márcio Moreira 2. Segurança em Storage – Slide 60 Segurança em Banco de Dados e Aplicaçoes Web Management considerações Se o acesso direto aos dados não é possível: Levante a topologia por enumeração Faça um spoofing usando WWN Acesse o switch via linha de comando Complete as informações da zona Márcio Moreira 2. Segurança em Storage – Slide 61 Segurança em Banco de Dados e Aplicaçoes Exemplos de enumeração Márcio Moreira 2. Segurança em Storage – Slide 62 Segurança em Banco de Dados e Aplicaçoes Ataque Share Infrastructure Inicialmente: Servidor do espião conectado na F_Port do Switch FC central Ataque: O espião troca o servidor por um Switch FC com E_Port O Switch central troca o modo da porta para E_Port e replica todos os dados para o novo switch Compromete-se o que estiver conectado ao switch central Márcio Moreira 2. Segurança em Storage – Slide 63 Segurança em Banco de Dados e Aplicaçoes Conclusão Soluções de segurança: Existem muitas vulnerabilidades! Mas, existem muitas soluções de segurança que podem ajudar a instalar e manter um ambiente de storage seguro! Márcio Moreira 2. Segurança em Storage – Slide 64 Segurança em Banco de Dados e Aplicaçoes Switches FC: ações de curto-prazo Zoneamento hard nas portas físicas: Adiciona um nível razoável de segurança Evita o ataque de Spoofing (simulação) Port Binding (vinculação de portas): Bloqueia a porta física somente para um WWN Evita o ataque de Spoofing (simulação) Controle de tipos de porta: Trava uma porta para um determinado tipo de porta: F_Port ou E_Port Evita o ataque de replicação de E_Port Márcio Moreira 2. Segurança em Storage – Slide 65 Segurança em Banco de Dados e Aplicaçoes Switches FC: ações de longo-prazo SLAP (Switch Layer Authentication Protocol): Habilita autenticação digital entre switches Evita o ataque de Web Management Fabric Membership Authorization: Incorpora em cada switch uma lista de WWNs autorizados a associar-se à fábrica Evita o ataque de replicação de E_Port Fabric Configuration Servers: Um switch é eleito único administrador de switches Ele usa sua própria autenticação ao invés de SNMP ou credenciais (usuário e senha): evita o Web Management Márcio Moreira 2. Segurança em Storage – Slide 66 Segurança em Banco de Dados e Aplicaçoes Precauções Mascaramento de LUNs: Não confie na máscara de LUN como sua única fonte de segurança Não use mascaramento de LUN no cliente Pontos de entrada seguros: Use somente: Sistemas operacionais seguros conectados ao storage Interfaces IP seguras nos dispositivos da rede de storage Gerenciamento seguro de estações, servidores e demais elementos de rede conectados à rede de storage Máquinas na DMZ não acessam a rede de storage (nem indiretamente) Márcio Moreira 2. Segurança em Storage – Slide 67 Segurança em Banco de Dados e Aplicaçoes Melhorias Já disponível: Dispositivos de FC Criptografados Autenticação: Baseada em certificados digitais para as fábricas: Use de switch para switch e da HBA para o switch A caminho: Criptografia de dados em trânsito e no storage: Facilitará a integridade e confidencialidade: FC-GS-4 FCSec (Fiber Channel Security) Márcio Moreira 2. Segurança em Storage – Slide 68 Segurança em Banco de Dados e Aplicaçoes Recomendações gerais 1 Para redes estáticas, use portas por zonas ao invés de WWNs por zona Use zoneamento hard ao invés de soft Troque as senhas padrões dos switches Não use máscara de LUN nos nós clientes Gerencie os switches somente de redes seguras (rede de storage), nunca pela rede interna (rede IP) ou externa (remota) Use autenticação por chaves para fazer o acesso de switch para switch Márcio Moreira 2. Segurança em Storage – Slide 69 Segurança em Banco de Dados e Aplicaçoes Recomendações gerais 2 Crie uma zona de storage para cada zona de segurança da rede IP, jamais use uma única zona na rede de storage Use credenciais diferentes para administrar e manter (um par para cada uma das redes) Desabilite o gerenciamento na rede (SES ou FC-SNMP) Desabilite os atalhos de roteamento Habilite a vinculação e o bloqueio de portas Márcio Moreira 2. Segurança em Storage – Slide 70 Segurança em Banco de Dados e Aplicaçoes Recomendações gerais 3 Use ferramentas de criptografia na transmissão e no armazenamento de dados Desabilite a replicação E_Port e qualquer transferência automática de Name Server Reforce a segurança de todos os sistemas operacionais que conectarem à rede de storage Aplique o ciclo PDCA (Plan-Do-Check-Act) para a segurança de todo o ambiente Márcio Moreira 2. Segurança em Storage – Slide 71 Segurança em Banco de Dados e Aplicaçoes Suporte dos fabricantes Chaves de autenticação entre os dispositivos de storage: WWN, switches e interoperabilidade Criptografia de dados Autenticação de frames Imprevisibilidade da seqüência de controle Autenticação dupla na gestão de aplicações: Uso de outro fator de segurança além da credencial padrão (usuário e senha) Márcio Moreira 2. Segurança em Storage – Slide 72 Segurança em Banco de Dados e Aplicaçoes Melhores práticas Siga as melhores práticas: Isto evita total ou parcialmente acesso não autorizado à rede de storage e a seus dados Além de criar mais dificuldades para o espião Gerencie os riscos: Conheça completamente sua exposição a riscos Entenda a tolerância ao risco do seu negócio Decida a arquitetura de segurança que será utilizada em sua rede de storage Márcio Moreira 2. Segurança em Storage – Slide 73 Segurança em Banco de Dados e Aplicaçoes Exercício Um cliente tem 3TB de área de dados em uso em um frame de Storage que suporta 20.000 operações de I/O por segundo. Este frame tem capacidade de 5TB e está formatado em RAID 0. O frame está sendo compartilhado por 50 clientes. Os outros 49 clientes consomem 1.2TB e geram 8.000 I/O por segundo. O cliente em questão está reclamando que o tempo de acesso às aplicações dele era de 600ms e agora está em mais de 1.600ms. Antes da degradação de desempenho, esse cliente estava gerando 13.500 I/Os por segundo. Além disto, no SLA (Service Level Agreement ou Acordo de Nível de Serviço) assinado com o cliente consta que a disponibilidade do serviço é 95% mensal das 20:00 às 6:00 horas e 99% diário das 6:00 às 20:00 horas. O direcionamento dos executivos da empresa é: cumprir o prometido para o cliente com o menor custo possível. Diante deste cenário, pergunta-se: a) O que podemos fazer na infra-estrutura para melhorar o tempo de acesso às aplicações? b) O que devemos fazer para cumprir o SLA combinado com o cliente? c) Quais os recursos necessários para resolver os problemas acima? Márcio Moreira 2. Segurança em Storage – Slide 74 Segurança em Banco de Dados e Aplicaçoes Referências Blair Semple. Securing Data with Strong Encryption and Access Controls. Network Appliance. Info Security. 2007. Colleen Rhodes. Security Considerations for Storage Area Networks. East Carolina University. 2005. EMC. Storage Basics. EMC. Jun-2006. Himanshu Dwivedi. Storage Security. BackHat. 2003. HP. Storage security. HP. 2004. Luiz Claudio Rodrigues. Protegendo Suas Informações. CA. Mark Friedman. Elements of SAN capacity planning. DataCore. Rahul Auradkar and Keith Hageman. Simplified Storage, Storage Directions And Trends - Simple SANs - SAN Security. Microsoft. W. Curtis Preston. Storage Security - Securing Stored Data: Protecting Storage Networks and Backups. GlassHouse. SWC. 2006. Márcio Moreira 2. Segurança em Storage – Slide 75 Segurança em Banco de Dados e Aplicaçoes