T
IPOS DEEAP
EAP-TLS (EAP – Transport Layer Security)
O Mikrotik suporta EAP-TLS tanto como cliente como AP e ainda repassa esse método para um Servidor Radius.
Prover maior nível de segurança e necessita de certificados em ambos lados(cliente e servidor).
O passo a passo completo para configurar um servidor Radius pode ser encontrado em:
http://under-linux.org/wiki/Tutoriais/Wireless/freeradius-
EAP-TLS
COMR
ADIUS EM AMBOS LADOSA configuração da parte do cliente é bem simples.
Selecione o método EAP-TLS
Certifique-se que os certificados estão instalados e assinados pela CA.
Associe o novo perfil de
segurança a interface wireless correspondente.
EAP-TLS
COMR
ADIUS EM AMBOS LADOSNo lado do AP selecione o método EAP “passthrough”.
Selecione o certificado Selecione o certificado correspondente.
145 Obs.: Verifique sempre se o sistema está com o cliente NTP
habilitado. Caso a data do sistema não esteja correta, poderá causar falha no uso de certificados devido a data validade dos mesmos.
S
EGURANÇA DEEAP-TLS
COMR
ADIUSSem dúvida este é o método mais seguro que podemos obter. Entretanto existe um ponto que podemos levantar como possível fragilidade:
Se um atacante tem acesso físico ao link entre o AP e o Radius ele pode tentar um ataque de força bruta para descobrir a PMK.
Uma forma de proteger este trecho é usando um túnel L2TP.
146
Ponto de fragilidade
R
ESUMO DOS METODOS DE IMPLANTAÇÃO E SEUS PROBLEMAS.
WPA-PSK
Chaves presentes nos clientes e acessíveis aos operadores.
Método sem certificados
Passível de invasão por equipamento que também opere nesse Passível de invasão por equipamento que também opere nesse
modo.
Problemas com processador.
Mikrotik com Mikrotik com EAP-TLS
Método seguro porém inviável economicamente e de implantação praticamente impossível em redes existentes. 147
R
ESUMO DOS METODOS DE IMPLANTAÇÃO E SEUS PROBLEMAS.
Mikrotik com Radius EAP-TLS e EAP-PEAP:
Sujeito ao ataque do “homem do meio” e pouco disponível em
equipamentos atuais.
EPA-TLS
Método seguro, porém também não disponível na maioria dos equipamentos. Em placas PCI é possível implementá-lo.
M
ÉTODO ALTERNATIVO COMM
IKROTIKA partir da versão 3 o Mikrotik oferece a possibilidade de distribuir
uma chave WPA2 PSK por cliente. Essa chave é configurada na Access List do AP e é vinculada ao MAC Address do cliente,
possibilitando que cada um tenha sua chave.
149
Obs.: Cadastrando as PSK na access list, voltamos ao problema da chave ser
M
ÉTODO ALTERNATIVO COMM
IKROTIKPor outro lado, o Mikrotik permite que essas chaves sejam distribuídas por Radius, o que torna esse método muito
interessante.
Para isso é necessário: Para isso é necessário:
Criar um perfil WPA2 qualquer;
Habilitar a autenticação via MAC no AP;
Ter a mesma chave configurada tanto no cliente como no Radius.
M
ÉTODO ALTERNATIVO COMM
IKROTIKConfigurando o perfil:
C
ONFIGURANDO OR
ADIUSArquivo users: (/etc/freeradius) #Sintaxe: # MAC Cleartext-Password:=“MAC” # Mikrotik-Wireless-Psk = “Chave_Psk” # Mikrotik-Wireless-Psk = “Chave_Psk” 000C42000001 Cleartext-Password:=“000C42000001” Mikrotik-Wireless-Psk = “12341234” 000C42000002 Cleartext-Password:=“000C43000002” Mikrotik-Wireless-Psk = “2020202020ABC” 152
C
ORRIGINDO O DICIONÁRIO DE ATRIBUTOSVENDOR Mikrotik 14988
ATTRIBUTE Mikrotik-Recv-Limit 1 integer ATTRIBUTE Mikrotik-Xmit-Limit 2 integer
ATTRIBUTE Mikrotik-Group 3 string ATTRIBUTE Mikrotik-Wireless-Forward 4 integer ATTRIBUTE Mikrotik-Wireless-Skip-Dot1x 5 integer ATTRIBUTE Mikrotik-Wireless-Enc-Algo 6 integer ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string
(/usr/share/freeradius/dictionary.mikrotik)
ATTRIBUTE Mikrotik-Wireless-Enc-Key 7 string ATTRIBUTE Mikrotik-Rate-Limit 8 string
ATTRIBUTE Mikrotik-Realm 9 string ATTRIBUTE Mikrotik-Host-IP 10 ipaddr ATTRIBUTE Mikrotik-Mark-Id 11 string ATTRIBUTE Mikrotik-Advertise-URL 12 string ATTRIBUTE Mikrotik-Advertise-Interval 13 integer ATTRIBUTE Mikrotik-Recv-Limit-Gigawords 14 integer
ATTRIBUTE Mikrotik-Xmit-Limit-Gigawords 15 integer
ATTRIBUTE Mikrotik-Wireless-Psk 16 string
F
IREWALL NOM
IKROTIKF
IREWALLO firewall é normalmente usado como ferramenta de segurança
para prevenir o acesso não autorizado a rede interna e/ou acesso ao roteador em si, bloquear diversos tipos de ataques e controlar o fluxo de dados de entrada, de saída e passante.
Além da segurança é no firewall que serão desempenhadas Além da segurança é no firewall que serão desempenhadas
diversas funções importantes como a classificação e marcação de pacotes para desenvolvimento de regras de QoS.
A classificação do tráfego feita no firewall pode ser baseada em
vários classificadores como endereços MAC, endereços IP, tipos de endereços IP, portas, TOS, tamanho do pacotes, etc...
F
IREWALL- O
PÇÕESFilter Rules: Regras para filtro de pacotes.
NAT: Onde é feito a tradução de endereços e portas. NAT: Onde é feito a tradução de endereços e portas. Mangle: Marcação de pacotes, conexão e roteamento. Service Ports: Onde são localizados os NAT Helpers.
Connections: Onde são localizadas as conexões existentes.
Address List: Lista de endereços ips inseridos de forma dinâmica ou
estática e que podem ser utilizadas em várias partes do firewall.
Layer 7 Protocols: Filtros de camada 7.
F
IREWALL– C
ANAIS DEFAULTO Firewall opera por meio de regras. Uma regra é uma expressão lógica que diz ao roteador o que fazer com um tipo particular de pacote.
Regras são organizadas em canais(chain) e existem 3 Regras são organizadas em canais(chain) e existem 3
canais “default”.
INPUT: Responsável pelo tráfego que CHEGA no router; OUTPUT: Responsável pelo tráfego que SAI do router; FORWARD: Responsável pelo tráfego que PASSA pelo
router.
F
IREWALL– F
LUXO DE PACOTES Interface de Entrada Interface de Saida Processo Local IN Processo Local OUTPara maiores informações acesse:
http://wiki.mikrotik.com/wiki/Manual:Packet_F low
158
Filtro Forward
Filtro Input Filtro Output
Decisão de Roteamento
Decisão de Roteamento
F
IREWALL– P
RINCÍPIOS GERAIS1. As regras de firewall são sempre processadas por canal, 1. As regras de firewall são sempre processadas por canal,
na ordem que são listadas de cima pra baixo.
2. As regras de firewall funcionam como expressões lógicas condicionais, ou seja: “se <condição> então <ação>”.
3. Se um pacote não atende TODAS condições de uma
F
IREWALL– P
RINCÍPIOS GERAIS4. Quando um pacote atende TODAS as condições da regra, uma ação é tomada com ele não importando as regras que estejam abaixo nesse canal, pois elas não serão
processadas.
5. Algumas exceções ao critério acima devem ser
consideradas como as ações de: “passthrough”, log e “add to address list”.
6. Um pacote que não se enquadre em qualquer regra do
F
IREWALL– F
ILTERSR
ULESAs regras de filtro pode ser organizadas e mostradas da As regras de filtro pode ser organizadas e mostradas da
seguinte forma:
all: Mostra todas as regras.
dynamic: Regras criadas dinamicamente por serviços. forward, input output: Regras referente a cada canal. static: Regras criadas estaticamente pelos usuários.
F
IREWALL– F
ILTERSR
ULESAlgumas ações que podem ser tomadas nos filtros de firewall: passthrough: Contabiliza e passa adiante.
drop: Descarta o pacote silenciosamente.
reject: Descarta o pacote e responde com uma mensagem de icmp ou tcp
reset. reset.
tarpit: Responde com SYN/ACK ao pacote TCP SYN entrante, mas não
aloca recursos.
F
ILTERR
ULES– C
ANAIS CRIADOS PELO USUÁRIOAlém dos canais padrão o administrador pode criar canais próprios. Esta prática ajuda na organização do firewall.
Para utilizar o canal criado devemos “desviar” o fluxo através de uma ação JUMP.
No exemplo acima podemos ver 3 novos canais criados.
Para criar um novo canal basta adicionar uma nova regra e
F
IREWALL– F
ILTERSR
ULESAções relativas a canais criados pelo usuário:
jump: Salta para um canal definido em jump-target
jump-target
jump target: Nome do canal para onde se deve saltar
return: Retorna para o canal que chamou o jump
C
OMO FUNCIONA O CANAL CRIADO PELO USUÁRIO REGRA REGRA REGRA REGRA REGRA REGRA Canal criado pelo usuário 165 JUMP REGRA REGRA REGRA REGRA REGRA REGRA REGRA REGRA REGRAC
OMO FUNCIONA O CANAL CRIADO PELO USUÁRIO REGRA REGRA REGRA REGRA REGRA REGRA Caso exista alguma regra de RETURN, o retorno é feito de forma antecipada e 166 JUMP REGRA REGRA REGRA REGRA RETURN REGRA REGRA REGRA REGRA forma antecipada e as regras abaixo serão ignoradas.F
IREWALL– A
DDRESSL
ISTA address list contém uma lista de endereços IP que
pode ser utilizada em várias partes do firewall.
Pode-se adicionar entradas de forma dinâmica
usando o filtro ou mangle conforme abaixo: usando o filtro ou mangle conforme abaixo:
Ações:
add dst to address list: Adiciona o IP de destino à lista. add src to address list: Adiciona o IP de origem à lista.
Address List: Nome da lista de endereços. Timeout: Porque quanto tempo a entrada
F
IREWALL– T
ÉCNICA DO“
KNOCK KNOCK”
F
IREWALL– T
ÉCNICA DO“
KNOCK KNOCK”
A técnica do “knock knock” consiste em permitir acesso ao roteador somente após ter seu
endereço IP em uma determinada address list.
Neste exemplo iremos restringir o acesso ao winbox somente a endereços IPs que estejam na
lista “libera_winbox” /ip firewall filter
add chain=input protocol=tcp dst-port=2771 action=add-src-to-address-list address-list=knock \ address-list-timeout=15s comment="" disabled=no
add chain=input protocol=tcp dst-port=7127 src-address-list=knock action= add-src-to-address-list \
address-list=libera_winbox address-list-timeout=15m comment="" disabled=no
add chain=input protocol=tcp dst-port=8291 src-address-list=libera_winbox action=accept disabled=no
add chain=input protocol=tcp dst-port=8291 action=drop disbled=no
F
IREWALL– C
ONNECTIONT
RACKRefere-se a habilidade do roteador em manter o estado da
informação relativa as conexões, tais como endereços IP de origem e destino, as respectivas portas, estado da conexão, tipo de protocolos e timeouts. Firewalls que fazem connection track são chamados de
“statefull” e são mais seguros que os que fazem processamentos “stateless”.
“stateless”.
F
IREWALL– C
ONNECTIONT
RACKO sistema de connection track é o coração do firewall. Ele obtém e mantém informações sobre todas conexões ativas. Quando se desabilita a função “connection tracking” são
perdidas as funcionalidades NAT e as marcações de perdidas as funcionalidades NAT e as marcações de
pacotes que dependam de conexão. No entanto, pacotes podem ser marcados de forma direta.
Connection track é exigente de recursos de hardware. Quando o equipamento trabalha somente como bridge é
L
OCALIZAÇÃO DAC
ONNECTIONT
RACKING Interface de Entrada Interface de Saida Processo Local IN Processo Local OUT Conntrack Conntrack 172 Filtro ForwardFiltro Input Filtro Output
Decisão de Roteamento Decisão de Roteamento Conntrack Conntrack
F
IREWALL– C
ONNECTIONT
RACKEstado das conexões: Estado das conexões:
established: Significa que o pacote faz parte de uma conexão já
estabelecida anteriormente.
new: Significa que o pacote está iniciando uma nova conexão ou faz parte
de uma conexão que ainda não trafegou pacotes em ambas direções.
related: Significa que o pacote inicia uma nova conexão, porém está
associada a uma conexão existente.
invalid: Significa que o pacote não pertence a nenhuma conexão
existente e nem está iniciando outra.
F
IREWALLP
ROTEGENDO OR
OTEADOR E OSC
LIENTESP
RINCÍPIOS BÁSICOS DE PROTEÇÃOProteção do próprio roteador
Tratamento das conexões e eliminação de tráfego prejudicial/inútil.
Permitir somente serviços necessários no próprio roteador. Prevenir e controlar ataques e acessos não autorizado ao
roteador.
Prevenir e controlar ataques e acessos não autorizado ao roteador.
Proteção da rede interna
Tratamento das conexões e eliminação de tráfego prejudicial/inútil.
Permitir somente os serviços necessários nos clientes.
F
IREWALL– T
RATAMENTO DE CONEXÕESRegras do canal input
Descarta conexões inválidas. Aceitar conexões estabelecidas. Aceitar conexões relacionadas.
Aceitar todas conexões da rede interna. Descartar o restante.
F
IREWALL– C
ONTROLE DE SERVIÇOSRegras do canal input
Permitir acesso externo ao winbox. Permitir acesso externo por SSH. Permitir acesso externo ao FTP. Realocar as regras.
F
IREWALL– F
ILTRANDO TRÁFEGO PREJUDICIAL/
INÚTILBloquear portas mais comuns utilizadas por vírus.
Baixar lista com portas e protocolos utilizados por vírus.
vírus.
ftp://172.31.255.1/arquivos/virus.rsc
Importar o arquivo virus.rsc e criar um “jump” para que as regras funcionem.
F
IREWALL– F
ILTRANDO TRÁFEGO INDESEJÁVEL E POSSÍVEIS ATAQUES.
Controle de ICMP
Internet Control Message Protocol é basicamente uma
ferramenta para diagnóstico da rede e alguns tipos de ICMP devem ser liberados obrigatoriamente.
devem ser liberados obrigatoriamente.
Um roteador usa tipicamente apenas 5 tipos de ICMP(type:code), que são:
Ping – Mensagens (0:0) e (8:0)
Traceroute – Mensagens (11:0) e (3:3) PMTUD – Mensagens (3:4)
F
IREWALL– F
ILTRANDO TRÁFEGO INDESEJÁVELIP’s Bogons:
Existem mais de 4 milhões de endereços IPV4.
Existem muitas ranges de IP restritos em rede públicas. Existem várias ranges reservadas para propósitos
específicos. específicos.
Uma lista atualizada de IP’s bogons pode ser encontrada em: http://www.team-cymru.org/Services/Bogons/bogon-dd.html
IP’s Privados:
Muitos aplicativos mal configurados geram pacotes
F
IREWAL– P
ROTEÇÃO BÁSICAPing Flood:
Ping Flood consiste no envio de grandes volumes de mensagens ICMP aleatórias.
ICMP aleatórias.
É possível detectar essa condição no Mikrotik criando uma regra em firewall filter e podemos associá-la a uma regra de log para monitorar a origem do
F
IREWAL– P
ROTEÇÃO BÁSICAPort Scan:
Consiste no escaneamento de portas TCP e UDP.
A detecção de ataques somente é possível para o protocolo TCP. Portas baixas (0 – 1023)
Portas altas (1024 – 65535) Portas altas (1024 – 65535)
F
IREWAL– P
ROTEÇÃO BÁSICAAtaques DoS:
O principal objetivo do ataque de DoS é o consumo de recursos de CPU ou banda.
Usualmente o roteador é inundado com requisições de Usualmente o roteador é inundado com requisições de
conexões TCP/SYN causando resposta de TCP/SYN-ACK e a espera do pacote TCP/ACK.
Normalmente não é intencional ou é causada por vírus em clientes.
Todos os IP’s com mais de 15 conexões com o roteador podem
F
IREWAL– P
ROTEÇÃO BÁSICAAtaques DoS:
Se simplesmente descartamos as conexões, permitiremos que o atacante crie uma nova conexão.
Para que isso não ocorra, podemos implementar a proteção em Para que isso não ocorra, podemos implementar a proteção em
dois estágios:
Detecção – Criar uma lista de atacantes DoS com base em “connection
limit”.
Supressão – Aplicando restrições aos que forem detectados.
F
IREWAL– P
ROTEÇÃO PARA ATAQUESD
OS
Criar a lista de atacantes para posteriormente aplicarmos a supressão adequada.
F
IREWAL– P
ROTEÇÃO PARA ATAQUESD
OS
Com a ação “tarpit”
aceitamos a conexão e a fechamos, não deixando no entanto o atacante
trafegar. trafegar.
Essa regra deve ser
colocada antes da regra de detecção ou então a
address list irá reescrevê-
F
IREWAL– P
ROTEÇÃO BÁSICAAtaque dDoS:
Ataque de dDoS são bastante parecidos com os de DoS, porém partem de um grande número de hosts infectados.
hosts infectados.
A única medida que podemos tomar é habilitar a opção TCP SynCookie no Connection Track do firewall.
F
IREWALL- NAT
NAT – Network Address Translation é uma técnica que permite
que vários hosts em uma LAN usem um conjunto de endereços IP’s para comunicação interna e outro para comunicação externa.
Existem dois tipos de NAT.
Src NAT: Quando o roteador reescreve o IP ou porta de origem. Src NAT: Quando o roteador reescreve o IP ou porta de origem.
Dst NAT: Quando o roteador reescreve o IP ou porta de destino. 188 SRC DST SRC NAT DST NAT Novo SRC DST SRC Novo DST SRC DST
F
IREWALL- NAT
As regras de NAT são organizadas em canais:
dstnat: Processa o tráfego enviado PARA o roteador e
ATRAVÉS do roteador, antes que ele seja dividido em INPUT e/ou FORWARD.
srcnat: Processa o tráfego enviado A PARTIR do roteador e ATRAVÉS do roteador, depois que ele sai de OUTPUT e/ou FORWARD.
F
IREWALLNAT – F
LUXO DE PACOTES Interface de Entrada Interface de Saida Processo Local IN Processo Local OUT Conntrack 190 Filtro ForwardFiltro Input Filtro Output
Decisão de Roteamento Decisão de Roteamento Conntrack dstnat srcnat
F
IREWALL- NAT
Source NAT: A ação “mascarade” troca o endereço IP de origem de uma
determinada rede pelo endereço IP da interface de saída. Portanto se
temos, por exemplo, a interface ether2 com endereço IP 185.185.185.185 e uma rede local 192.168.0.0/16 por trás da ether1, podemos fazer o
seguinte:
191
Desta forma, todos os endereços IPs da rede local vão obter acesso a internet utilizando o endereço IP 185.185.185.185
F
IREWALL- NAT
NAT (1:1): Serve para dar acesso bi-direcional a um determinado
endereço IP. Dessa forma, um endereço IP de rede local pode ser acessado através de um IP público e vice-versa.
F
IREWALL- NAT
Redirecionamento de portas: O NAT nos possibilita redirecionar
portas para permitir acesso a serviços que rodem na rede interna. Dessa forma podemos dar acesso a serviços de clientes sem utilização de endereço IP público. 193 Redirecionamento para acesso ao servidor WEB do cliente 192.168.100.10 pela porta 6380. Redirecionamento para acesso ao servidor WEB do cliente 192.168.100.20 pela porta 6480.
F
IREWALL- NAT
NAT (1:1) com netmap: Com o netmap podemos criar o mesmo acesso
bi-direcional de rede para rede. Com isso podemos mapear, por
exemplo, a rede 185.185.185.0/24 para a rede 192.168.100.0/24 assim:
F
IREWALL– NAT H
ELPERSHosts atrás de uma rede nateada não possuem conectividade fim-
Hosts atrás de uma rede nateada não possuem conectividade fim-
a-fim verdadeira. Por isso alguns protocolos podem não funcionar corretamente neste cenário. Serviços que requerem iniciação de conexões TCP fora da rede, bem como protocolos “stateless” como UDP, podem não funcionar. Para resolver este problema, a
implementação de NAT no Mikrotik prevê alguns “NAT Helpers” que têm a função de auxiliar nesses serviços. 195
F
IREWALL– M
ANGLEO mangle no Mikrotik é uma facilidade que permite a introdução de
marcas em pacotes IP ou em conexões, com base em um determinado comportamento especifico.
As marcas introduzidas pelo mangle são utilizadas em As marcas introduzidas pelo mangle são utilizadas em
processamento futuro e delas fazem uso o controle de banda, QoS, NAT, etc... Elas existem somente no roteador e portanto não são passadas para fora.
Com o mangle também é possível manipular o determinados
F
IREWALL– M
ANGLEAs regras de mangle são organizadas em canais e obedecem as mesma regras gerais das regras de filtro quanto a
sintaxe.
Também é possível criar canais pelo próprio usuário. Existem 5 canais padrão:
prerouting: Marca antes da fila “Global-in”; postrouting: Marca antes da fila “Global-out”; input: Marca antes do filtro “input”;
output: Marca antes do filtro “output”;
F
IREWALL– D
IAGRAMA DOM
ANGLE Interface de Entrada Interface de Saida Processo Local IN Processo Local OUTMangle Input Mangle Output 198 Mangle Forward Mangle Input Output Decisão de Roteamento Decisão de Roteamento Mangle Prerouting Mangle Postrouting
F
IREWALL– M
ANGLEAs opções de marcações incluem:
mark-connection: Marca apenas o primeiro pacote. mark-packet: Marca todos os pacotes.
mark-routing: Marca pacotes para política de roteamento.
F
IREWALL– M
ANGLEMarcando conexões:
Use mark-connection para identificar uma ou um grupo de conexões com uma marca especifica de conexão.
Marcas de conexão são armazenadas na contrack.
Só pode haver uma marca de conexão para cada conexão.
O uso da contrack facilita na associação de cada pacote a uma conexão específica.