Redes, linux e informatica em geral

Páginas

segunda-feira, 7 de março de 2016

RansomWare Tracker


Eis que nasce um novo recurso para monitoramento e bloqueio de Ransomware, o RansomWareTracker.

O RansomWareTracker é um projeto criado e mantido pela abuse.ch (que também conta com outros projetos para monitoramento). Com ele é possível verificar uma lista de endereços que estão sendo usados para alguma atividade maliciosa dos atacantes, seja distribuir os malwares, controla-los (C&C) ou sites para solicitar o pagamento.



Além de contar com Tracker também nos fornece uma lista (atualizada a cada 5 minutos) para usar-mos como BlockList. Já fica como recomendação o bloqueio nos Proxies e Firewall.

Fica a dica para mitigarmos essa "praga".

https://ransomwaretracker.abuse.ch/

Outros projetos podem ser verificados no site do autor.

https://www.abuse.ch/


quinta-feira, 25 de fevereiro de 2016

Fortigate - Criando objetos via CLI

Abaixo comandos básicos para criação de objetos via CLI no FG.

Para acessar as configurações de objeto
config firewall address
Podemos definir o tipo do objeto utilizando o comando "Type".


O objeto por ser FQDN (nome de domínio por exemplo), uma região (bloqueará todos os endereços dessa região), IP+Mascara, um range de IP's ou IP+Wildcard.

Abaixo a criação do objeto.
edit "NOME DO OBJETO"
 set comment "COMENTÁRIO SOBRE O OBJETO"
  set subnet ENDEREÇO IP/MASK
next
O comando para definição do objeto (set subnet) pode alterar de acordo com a escolha do tipo, por isso a sugestão é sempre utilizar o "set ?" em caso de dúvidas.

O comando "show" ou "sh" mostra as configurações do objeto.


Finalizado a criação, basta digitar "end" ou "next".

Fiz um script bem simples para criação em massa de objetos, é necessário editar de acordo com a necessidade.
#!/bin/bash
data=$(date "+%d/%m/%Y - %H:%M:%S")
enderecos=$(wc -l $1 | awk '{print $1}')
for i in $(seq 1 $2 ); do
#contador=$(($contador+1))
pegar_linha=$(sed ''$i'!d' $1 | sed 's/ *$//g')
echo "
edit \"ext-quarentena-$i\"
 set comment \"Add: Leonardo
 Data: $data
 Motivo: IPS\"
  set subnet $pegar_linha 255.255.255.255
next "
done
O Output:

O objeto é a base para a criação das outras politicas, os objetos criados podem ser utilizados para diversas regras no FG então não pretendo demonstrar a aplicação dos objetos.

Obrigado!

quarta-feira, 8 de julho de 2015

Bloqueio de SSH com envio de e-mail

Uma boa prática de segurança é limitar acessos SSH aos servidores, há várias formas de fazer e logar  os acessos, nesse exemplo vamos utilizar uma velha ferramenta do GNU/Linux, TCP Wrappers.

De forma resumida, o TCP Wrappers é uma biblioteca com objetivo de criar controles de acessos sobre serviços TCP, ele trabalha com dois arquivos, hosts.allow e hosts.deny, as regras são definidas sobre esses arquivos.

Quando fazemos uma conexão SSH por exemplo, o TCP Wrapper vai analisar primeiramente o hosts.allow e verificar se a conexão é permitida, se o host (sourcE) não estiver presente no arquivo ele vai analisar o hosts.deny procurando alguma regra de bloqueio (por exemplo um ALL ou bloqueio do host específico). Nesse post vamos verificar como bloquear SSH com envio de e-mail e liberando o acesso somente para IP's específicos.

O primeiro passo é editar o arquivo hosts.allow, como abaixo.

#
# hosts.allow   This file describes the names of the hosts which are
#               allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
sshd : [ Endereços liberados para acesso ]


Logo após, editamos o hosts.deny:

#
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
sshd : ALL : spawn /bin/echo "$(hostname) - SSH - Acesso DENY - Client %h" |mailx -s "$(hostname) - SSH - Acesso DENY - Client %h" mail1@mail.com,mail2@mail.com

Estamos dizendo para o TCP Wrapper bloquear todos os acessos e enviar um e-mail a cada bloqueio. É possível adicionar vários e-mails bastando adicionar a ",". Também é possível utilizar "expansões", com o "%h" estamos falando para inserir o IP do cliente.

Exemplo do e-mail enviado:

server.hostname.com - SSH - Acesso DENY - Client 192.168.1.40

Claro, também é possível criar um "spawn" para envio de e-mails no hosts.allow.

O TCP Wrappers é um velho conhecido pelos administradores *nix porém pouco utilizado e explorado, a dica acima é um bom começo para incentivar a utilização e estudo da ferramenta.

Segue dicas de leitura:
http://www.cyberciti.biz/faq/tcp-wrappers-hosts-allow-deny-tutorial/
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Server_Security.html

Abraços!

sexta-feira, 3 de julho de 2015

Trabalhando com sFlow em Switchs Procurve

O sFlow é uma ferramenta para coleta de fluxos de dados, esses fluxos coletados são chamados de samples e podem ser exportados para ferramentas de análise de tráfego assim analisando uso de protocolos, banda etc. Fluxo é uma comunicação 1-to-1, por exemplo uma troca de dados entre um host e um servidor.

Sflow é a opção "aberta" do NetFlow da Cisco e está definido na RFC 3176.

Hoje o Sflow é mantido por uma empresa chamada inmon, essa mesma empresa fornece um software muito bom para analise dos dados chamado sFlowTrend, vamos utilizar essa ferramenta para a coleta.

A configuração é bem simples, no modo de configuração do Switch, basta inserir os seguintes comandos

sflow 1 destination [ IP do Coletor ]
sflow 1 polling [ Portas que serão aplicadas ] [ Tempo de polling ]
sflow 1 sampling[ Portas que serão aplicadas ] [ Numero de pacotes ]

O "sflow 1" é o numero da sessão de sflow, os procurves tem limitação de 3 sessões por switch.

O parâmetro "polling" define que o switch deve coletar as informações a cada X segundos e exportar para o coletor.

Já o "sampling" define a quantidade de pacotes que serão analisados, sendo que será 1 pacote a cada 'N' valor que configurarmos(1/N).

A Inmon faz algumas recomendações sobre a quantidade de sampling a ser configurado, abaixo uma tabela com os valores recomendados de acordo com a velocidade de interface e ambiente.

Fonte: www.inmon.com

O valor de polling recomendado é de 30 segundos.

Abaixo como ficou minha configuração.

sflow 1 destination 10.9.11.254
sflow 1 polling 1-24 30
sflow 1 sampling 1-24 512

Podemos analisar as informações configuradas usando o show sflow.

O comando show sflow destination mostra as informações de destino.

O comando show sflow [ sessão ] sampling-polling permite verificar as configurações de sampling e polling configuradas.

Configurado o destino, podemos instalar o software sFlowTrend da inmon, o software pode ser baixado no link http://www.inmon.com/products/sFlowTrend.php, basta clicar em "Install".

Com o aplicativo aberto, temos que configurar o agente (o switch), para isso vamos em "Tools" e "Configure agents", na janela que abrir clicar em "Add Switch agent", preencher o IP do equipamento e ajustar as informações de SNMP (sim, os flows são recebidos por SNMP, existem MIB's especificas para os flows).


Feito isto, basta aguardar alguns minutos e já é possível verificar as informações através do dashboard.


Na guia "Network" e "Top N" podemos visualizar os "Top Sources".


Os "Top protocols"


Várias informações podem ser consultadas através do "chart".


Bom, hoje o administrador de rede possui várias ferramentas para auxiliar no gerenciamento e troubleshooting de rede porém muitos não as utilizam ou não as conhecem. O sflow é uma ótima opção e está disponível na maioria dos switches atuais no mercado.

Recomendo a leitura  do link abaixo da inmon aonde podemos verificar configurações para diversos vendors e algumas recomendações.

http://www.inmon.com/products/sFlowTrend/help/html/appendix.switch-sflow.cli.html



quinta-feira, 25 de junho de 2015

Remover entrada em cache Windows DNS

Essa dica é para remover uma entrada cache DNS no Windows Server, muito útil caso algum site troque o IP e você fique sem acesso pela demora de updade do DNS.

1. Acesse a console do DNS pelo servidor ou via MMC em alguma estação de trabalho, vá em "Roles" depois em "DNS Server", clique em "DNS", logo após clique em "View" na barra de ferramentas e selecione a opção "Advanced".



2. Expanda  o "DNS", expanda o servidor, depois "Cached Lookups" e clique em .root.



Após isso deve-se verificar o DNS que quer limpar e verificar o gTLDs do domínio, no caso estou selecionando o BR.

3. Selecionar o domínio desejado, clicar com botão direito e Delete.



Nesse caso, eliminamos a entrada cache do DNS, no cliente basta executar um "ipconfig /flushdns" e dar um ping para o endereço, assim o servidor vai resolver o novo DNS com o ip atualizado.



Resumo OSPF - LSAs

Breve resumo dos principais LSAs do OSPF.

- LSA tipo 1 -
- Gerado por todos os roteadores e são locais (dentro da área)
- O ID do pacote LSA é a ID do roteador
- Representa o roteador e os links diretamente conectados

- LSA Tipo 2 -
- Gerado em redes multiacesso e NBMA pelo DR
- O ID do pacote LSA é o ip da interface que originou

- LSA Tipo 3 -
- Gerado pelo ABR e somente em redes multi-area
- Identifica cada rede aprendida com os LSA tipo 1
- Caso sejam exportadas várias redes pode causar sobrecarga, é recomendado sumarizar
- O ID do pacote LSA é o IP da subrede, pode levar a mascará também

- LSA Tipo 4 -
- Gerado por ABR
- Identifica o ASBR da área
- Os roteadores precisam saber aonde encontrar um ASBR, por isso a existência desse LSA
- O roteador ASBR gera o LSA-Type 1 com um bit externo ativo, o ABR identifica esse LSA e passa a encaminha LSA type-4 identificando esse roteador como ASBR.
- O ID é o router ID

- LSA Tipo 5
- Representa rotas externas ao dominio OSPF - Redes não ospf
- Gerado por ASBR
- Inundado por toda a área e regenerados por ABR's
- O ID é o endereço da rede externo





Definir saída para rota no BGP MultiHomed

Surgiu uma necessidade para fazermos uma rota sair por outra operadora no nosso quagga porém sem usar rota estática. Há algumas formas de fazer isso, utilizei o local-preference, segue a dica:

1. Criar uma prefix-list identificando a rota desejada
ip prefix-list Rota_Embratel seq 20 permit 74.125.30.0/24

Obs.: Esse prefix-list da match em uma rota do google.

2. Depois vamos criar uma route map, normalmente já existe uma route-map para os peers, então criamos uma com SEQ menor.


route-map OI_IN permit 7
 match ip address prefix-list Rota_Embratel
 set local-preference 120
!
route-map EMBRATEL_IN permit 7
 match ip address prefix-list Rota_Embratel
 set local-preference 150

Setamos a local-preference para 150 para a rota recebida da embratel e 120 para a rota recebida da OI, o maior local-pref será escolhido.

3. Provavelmente deve existir uma route map aplicada nos peers, caso não exista temos que aplica-la.

router bgp xxxx

 neighbor xxxx  route-map OI_IN  in
 neighbor xxxx   route-map EMBRATEL_IN in

Estamos aplicando a route-map para as rotas RECEBIDAS de ambas as operadoras, isso não afeta as rotas outbound (rotas que vc está anunciando)

4. Executar um "reconfigure" para os peers
Clear ip bgp [peer] soft in

Após isso é só verificar a rota com o "show ip bgp  74.125.30.0/24"




Vemos que a rota com maior local-pref foi a escolhida e a "segunda" rota ficou com 120 de local-pref, assim caso a primeira rota caia o destino continua acessível.




Marcadores

Tecnologia do Blogger.