Posts com a tag: Conceitos

NAT – Network Address Translation: Parte 1 – Conceitos

Por , 21/08/2009 17:43

Com o crescimento dos usuários da internet a partir dos anos ’90, tudo indicava que o range de endereços que o IPv4 disponibiliza não seria suficiente para todos os usuários e organizações; então, sentiu-se a necessidade de aumentar o espaço de endereçamento. Partindo desta idéia, duas soluções principais foram criadas: IPv6, e o NAT (obs.: o IPv5 foi apenas uma idéia experimental de otimização do IPv4, mas não chegou a ser implementado).

NAT e endereçamento privado, são dois padrões que trabalham juntos. O NAT provê acesso a internet para qualquer endereço inválido dentro de uma organização. Faz com que os usuários internos acessem a internet representados por endereços roteáveis, ou válidos. Mas também pode ter aplicações dentro das organizações, para proteger servidores, DMZ’s, acesso a ranges de IP sobrepostos, VPN, e etc.

O processo de Tradução

O NAT lê os campos de destino ou origem do cabeçalho IP e os altera (traduz) para o endereço válido, quando o pacote sai ou chega na organização, e faz o devido encaminhamento ao host de destino.

Tipos de NAT

NAT dinâmico: um pool (ou range) de endereços válidos cedidos à organização é associado dinamicamente a endereços internos, conforme as solicitações de acesso à internet. Porém esta solução é limitada, pois estes endereços são associados um-para-um, até que este range termine. Sendo assim, se algum outro usuário necessitar acesso, este não será possível, pois todos os endereços estão sendo usados.

Exemplo: temos um range com 6 endereços válidos – 200.20.20.0/29, e temos 254 endereços inválidos: 10.10.10.0/24. Os 6 primeiros a tentarem acessar a internet terão sucesso ao passar pelo NAT:

Original Traduzido
10.10.10.5 200.20.20.1
10.10.10.28 200.20.20.2
10.10.10.96 200.20.20.3
10.10.10.126 200.20.20.4
10.10.10.201 200.20.20.5
10.10.10.238 200.20.20.6

Mas a partir daí, a tabela do NAT fica completamente preenchida, e não há mais espaços para qualquer um que queira se conectar.

NAT estático: um endereço válido é associado estaticamente à um único endereço inválido, um-para-um.

Exemplo:

Original Traduzido
10.10.10.1 200.20.20.1

NAT Overload, ou PAT – Port Address Translation: um único endereço pode representar diversos internos. Cada um deles é representado por uma PORTA diferente, associado a este endereço global.

Exemplo: temos 3 endereços locais – 10.10.10.1, 10.10.10.2 e 10.10.10.3. Suponha que o IP do gateway para internet é 200.20.20.1. Ao passar por esta interface, o NAT traduzirá estes endereços da seguinte forma:

Original Traduzido
10.10.10.1 200.20.20.1:1025
10.10.10.2 200.20.20.1:1026
10.10.10.3 200.20.20.1:1027

E assim por diante, com qualquer endereço interno. Quando vierem os pacotes de volta, o NAT irá ler a porta, e encaminhará ao seu respectivo endereço interno.

Representação das Redes

Topologia 1

Inside: todo o range de IP’s que pertence à organização, inclusive seu IP válido na internet.

Outside: na perspectiva da rede interna, os IP’s válidos que serão acessados. Como por exemplo, a internet, um servidor remoto, etc.

Representação dos Endereços

Considere a seguinte topologia na perspectiva do usuário dentro da organização:

Topologia 2

Inside Local: endereço original – e inválido – do host, que o representa dentro da organização.

Inside Global: endereço traduzido do host interno, que o representa na internet.

Outside Local: endereço que representa um host remoto dentro da organização; aquele que o usuário da rede local realmente enxerga. Observer que, neste caso, este endereço não precisa ser alterado para alcançar a rede interna.

Outside Global: endereço válido que representa o host na internet, para qualquer um que o queira acessar.

Fique atento, que nos próximos dias estaremos postando mais sobre NAT.

Espero que tenha ajudado. Até breve!

Outras Features do IPS Cisco (Parte 2)

Atendendo a grande procura que tivemos para o tópico sobre a configuração inicial de um IPS, resolvi postar um resumo que fiz na época que estava estudando para a prova de IPS. Este material foi escrito com base no material de estudo para o IPS appliance, mas em linhas gerais é a mesma coisa para os módulos IPS (para roteador e ASA) e para o IOS IPS.

Seguindo a linha do blog, este conteúdo é focado em dispositivos Cisco, mas parte da teoria pode servir para equipamentos de outros fabricantes.

Risk Rating

O Risk Rating é um valor de 0 a 100 que representa o risco de um evento. Para definir este valor é utilizado a formula abaixo, que leva em consideração informações referentes a assinatura, a importância do host ou da rede e outros.

RR = (ASR * TVR * SFR)/10.000 + ARR – PD + WLR

Com base nesta formula o IPS pode mudar dinamicamente a ação de uma assinatura. Por exemplo, se uma assinatura esta configurada apenas para gerar um alerta, mas o Risk Rating é alto, o IPS altera a ação da assinatura para que além do alerta o atacante seja bloqueado.

Para funcionar é preciso que seja habilitada a opção Event Action Overrides. Nesta opção você define os níveis do Risk Rating e qual ação deverá ser tomada.

Na formula são utilizadas as seguintes variáveis:

Target Value Rating (TVR): É um valor que você associa a um host ou a uma rede, de acordo com a importância deste host ou desta rede no seu cenário. Os valores disponíveis para o TVR são: Zero (50), Low (75), Médium (100), High (150) e Mission Critical (200). Quanto maior o número mais importante é o host ou a rede.

Attack Severity Rating (ASR): É configurado por assinatura e indica o quão perigoso é o evento. As opções que temos são Information (25), Low (50), Médium (75) e High (100). Os números nos parentes são a representação numérica da severidade.

Signature Fidelity Rating (SFR): Também é configurado por assinatura, e podem ser atribuídos valores de 0 a 100. O SFR define o quanto uma assinatura é assertiva (gera pouco falso-positivo).

Attack Relevancy Rating (ARR): É um valor definido pelo IPS com base na informação de Sistema Operacional, e não configurável. Ele mostra a importância do ataque no ambiente. Por exemplo, um ataque para Windows em um ambiente Linux não tem muita importância, mas o mesmo ataque em um ambiente Windows terá muita importância. Possíveis valores: Relevant (10), Unknown (0) e Not Relevant (-10).

Promiscuous Delta (PD): É configurado por assinatura, com valores de 0 a 30. Esta variável é importante apenas quando o sensor esta trabalhando em modo promíscuo. Ele diminui o Risk Rating de algumas assinaturas, quando trabalhando em modo promíscuo. Não é recomendado mudar o valor do PD.

Watch List Rating (WLR): É um valor associado a um host pelo CSA – Cisco Segure Agent, quando é utilizado na rede. Com base neste valor o host pode ser colocado em quarentena. Valores possíveis: 0 a 100, mas o CSA utiliza apenas de 0 a 35.

Anomaly Detection (AD)

É um componente que permiti analisar o tráfego com base no comportamento da rede, e não baseado nas assinaturas. As assinaturas, lembremos, servem para identificar apenas ataques conhecidos. O AD identifica quando um host abre muitas conexões para a mesma porta com destino diferente (comportamento padrão para worms, como Code Red e SQL Slammer).

Para funcionar corretamente você deve deixar o AD monitorar a rede por 24 horas (default), pelo menos. Para isso você deve configurar AD Operational Mode para learn. Isto permitirá que seja criado um baseline da rede, e assim, quando o padrão mudar ele será capaz de identificar esta mudança.

Zone: É um grupo de endereços de destino. Dividir a rede em zonas permite diminuir o número de falso positivo. Seus endereços da LAN devem ser configurados como zona interna.

Resumo da configuração:
1) Adicione o AD ao sensor (você pode usar o ad0 ou criar um novo)
2) Configure as Zonas, protocolos e serviços (defina a zona interna, especifique os protocolos e serviços que serão monitorados)
3) Configure o AD Operational mode como learn
4) Deixe o sensor rodar pelo menos 24 horas (uma semana é o recomendado)
5) Mude o AD Operational mode para Detection (ele mudará automaticamente depois do tempo de learn configurado)
6) Configure os parâmetros de detecção do AD (worm timeout, IPs de origem e destino que devem passar pelo AD sem serem monitorados, …)

Bypass

A partir da versão 6.0, o IPS possui opção de software bypass. Esta opção permite que o tráfego continue ou não a ser enviado para o destino caso o software do IPS pare de funcionar. Temos 3 opções:

Auto: Se a engine de análise parar, o tráfego continuará a passar pelo IPS normalmente.

Off: Se a engine de análise parar, o tráfego é bloqueado.

On: Permite que o tráfego passe pelo IPS sem ser inspecionado. Normalmente utilizado com a rede está com problemas.

O bypass de hardware só é possível com a adição de um módulo adicional ao IPS. Com este módulo, mesmo que o hardware falhe o tráfego continua fluindo pelo appliance. Para saber quais modelos de IPS suportam a adição deste módulo, acesse o site da Cisco.

Passive Operating System Finger Print (POSFP)

Feature dos IPSs Cisco que identifica os sistemas operacionais que estão na rede. Após saber que SO é utilizado o IPS pode dar mais ou menos importância a um ataque. Para isso ele aumenta ou diminui o Risk Rating. Vem habilitado por padrão e além de aprender automaticamente, você pode também mapear manualmente IPs e Sistemas Operacionais.

Blocking

Funcionalidade que permite ao IPS interagir (enviar comando) para outro device, e assim impedir um ataque. A aplicação que efetivamente realiza o bloqueio chama-se ARC (Attack Response Controller). O IPS pode interagir com roteadores, PIX, 6500 e com o ASA. No caso dos roteadores e do 6500 o IPS envia uma Access-list, que é aplicada na interface desejada. Para o PIX e ASA o IPS manda o comando Shun. A lista com os modelos exatos que suportam essa opção deve ser verificada no site da Cisco.

Obviamente, para funcionar, é preciso que o IPS e o dispositivo que efetuará o bloqueio sejam capazes de comunicar e devemos também permitir acesso remoto nos dispositivos (Telnet ou SSH, que é o default).

Resumo da configuração:
1)
Associe à ação de bloqueio a assinatura. Assim, quando ela for disparada o IPS enviará o comando para bloquear o ataque.
2) Configure os parâmetros do Blocking (habilitar o Blocking, definir o número máximo de dispositivos a serem bloqueados, com o cuidado de não bloquear o próprio IPS, e cadastrar os IPs que nunca devem ser bloqueados).
3) Crie o profile para login no device remoto (cadastre username, password e enable password que será utilizado para conectar no device que efetuará o bloqueio).
4) Configure os parâmetros do dispositivo que efetuará o bloqueio, como IP, Hostname, método de comunicação.
5) Defina a interface onde a ACL será aplicada, no caso de roteadores e do 6500.
6) Opcional: Cadastro o master blocking sensor, caso exista um.

Tuning e License

  • É muito importante fazer o tunning das assinaturas quando configurando um IPS. Se no seu ambiente são utilizados apenas servidores com Apache, assinaturas destinadas a ataques ao IIS (ou vice-versa) são irrelevantes e podem ser desabilitadas. Habilitar assinaturas desnecessárias faze o IPS perder desempenho.
  • Alertas que não precisam ser gerados devem ser desabilitados (por default todas as assinaturas vêem configuradas para gerar alerta). Isso torna a administração do IPS mais difícil, já que um grande volume de alertas pode ser gerado. Se for o caso aumente os thresholds, para que um alerta seja gerado somente quando um evento ocorrer mais de n vezes.
  • Colocar o IPS atrás do firewall diminui o tráfego que chegará até o IPS, e melhorará o desempenho do mesmo.
  • Os IPSs da Cisco podem funcionar sem licença, no entanto, é necessário ter a licença para que seja possível atualizar as assinaturas.
  • A licença é adicional ao smartnet, que servirá apenas para atualização do software, acesso ao TAC e troca de hardware.

Até a próxima.

Conceitos sobre IPS/IDS (Parte 1)

Atendendo a grande procura que tivemos para o tópico sobre a configuração inicial de um IPS, resolvi postar um resumo que fiz na época que estava estudando para a prova de IPS. Este conteúdo foi escrito com base no material de estudo que utilizei (para IPS appliance), mas em linhas gerais é a mesma coisa para os módulos IPS (para roteador e ASA) e para o IOS IPS.

Seguindo a linha do blog, este conteúdo é focado em dispositivos Cisco, mas parte da teoria pode servir para equipamentos de outros fabricantes.

IPS/IDS

Como sabemos o IDS – Intrusion Detection System é uma ferramenta de detecção de atividades suspeitas na rede. O IDS apenas monitora e loga as informações, permitindo que o administrador decida como parar o ataque. Trabalha em modo promíscuo, recebendo uma cópia do tráfego.

O IPS – Intrusion Prevention System é uma ferramenta para detecção e prevenção de atividades suspeitas na rede. É a evolução do IDS e pode ser configurado para que ao perceber a “invasão” uma ação seja tomada (gerar uma alerta, bloquear o atacante, dropar o pacote…). Deve ficar inline na rede.

Hoje normalmente o mesmo equipamento pode atuar como IPS ou IDS, dependendo apenas da configuração aplicada e como ele esta conectado a rede.  IPS-IDS

Observe na figura acima: O IPS (com o destaque verde) está “na linha” por onde o tráfego passa (tem duas interfaces conectadas). Já o IDS (destacado em vermelho) tem apenas uma interface conectada, e o tráfego deve ser espelhado para ele.

Sensor

No caso da Cisco, quando falamos IPS estamos nos referindo ao hardware, normalmente. Quem faz a verificação do tráfego, de fato, é o sensor.

Podemos imaginar o sensor como a parte do software que faz a análise dos pacotes, com base nas assinaturas. Ele é composto por uma instancia de assinaturas (sig), uma instancia de regras (rules) e uma instancia do Anomaly Detection (ad). Assim todos eles, bem como as interfaces, devem ser associados ao sensor.

Por padrão o IPS vem com o vs0 (virtual sensor 0), e este não pode ser deletado. A ele está associado o sig0 (instancia de assinatura 0), rules0 (instancia de regras 0) e ad0 (instancia 0 do Anomaly Detection).

O processamento do tráfego é virtualizado, de forma que você pode ter no mesmo IPS vários virtuais sensores. Podemos ter, por exemplo, o vs0 onde temos a interfaces G0/1 associada e o sensor trabalhando em modo promíscuo, e ter também o vs1, onde associamos as interfaces G0/2 e G0/3 para trabalhar em modo inline. Com isso teríamos um IPS monitorando duas partes da rede de forma independente, como se fossem dois IPSs.

Até 4 virtuais sensores podem ser criados em um IPS.

Assinaturas

As assinaturas são um grupo de regras que o sensor utiliza para identificar uma atividade invasiva. O sensor verifica os pacotes utilizando as assinaturas, e assim identifica os ataques conhecidos. Para cada novo ataque é criada uma nova assinatura.

Por padrão as assinaturas mais importantes (ou as que causam mais danos) vêm habilitadas, e o restante pode ser habilitado ou não, dependendo da necessidade.

As assinaturas que vêm configuradas no IPS são chamadas assinaturas default. Também temos as custom signatures, que são as assinaturas criadas pelo administrador e as Tuned Signatures, que são as assinaturas default editadas.

As assinaturas padrões (que são mais de 1500) não podem ser deletadas ou renomeadas e para criar uma Custom Signature é possível utilizar o wizard.

As assinaturas podem ser configuradas para tomarem as seguintes ações: dropar o pacote, produzir um alerta, logar o IP de quem está atacando, da vítima ou ambos, bloquear a conexão ou um host especificamente, fazer notificação via SNMP ou ainda terminar a sessão TCP entre o atacante e o atacado. No entanto, algumas dessas ações podem ser configuradas apenas quando o sensor está atuando em modo inline (IPS).

Signature Engine

Um Signature Engine é um grupo de assinaturas, feito de acordo com as características das assinaturas. Atomic, Flood, Meta, Normalizar, Service, State, String, Sweep, Traffic, Troajan e AIC são os Signature Engines existentes.

Tipos de interfaces

Temos dois tipos de interfaces em um IPS: Command and Control e Monitoring Interfaces.

Cada IPS tem apenas uma interface do tipo Command and Control. Esta interface deve ser endereçada e é utilizada para gerenciar o equipamento. Vem habilitada por padrão e é dedicada para gerencia.

As Monitoring Interface são as interfaces utilizadas para analisar o tráfego. Vêm desabilitadas por padrão e podem ser configuradas para trabalhar em quatro modos: Promíscuos, Inline Interface, Inline VLAN Pair e VLAN Group. Estas interfaces devem ser associadas a um Virtual Sensor.

Tipos de contas

Existem 4 tipos de contas no IPS. Quando um usuário é criado ele deve ser associado a um destes tipos de conta.

Administrator: Nível máximo de privilégio. Um usuário deste tipo tem acesso total a todas as áreas de configuração e monitoração. Pode visualizar e alterar as configurações.

Operator: Nível intermediário de privilégio. Pode fazer o tunning das assinaturas, gerenciar dispositivos bloqueados e mudar sua própria senha. Pode também visualizar as configurações e eventos.

Viewer: Conta com o menor nível de privilégio. Pode ver a configuração e eventos gerados, mas não tem direito a alterar nada.

Service: Conta especial, que permite acessar o sistema operacional (Linux) do IPS. É o acesso root. Não devem ser feitas alterações no IPS através dessa conta sem a supervisão do TAC. Apenas um usuário service pode existir por vez, e é normalmente utilizado para troubleshooting.

 

Em breve postarei a parte 2.

Até a próxima.

Tema Brainwork 0.2(beta)