Pages

3 de dezembro de 2014

EdgeMax: Ativando Netflow

Para quem utiliza o netflow, habilitá-lo no edgerouter ou qualquer outro produto da linha edgemax é bem simples. Segue abaixo um exemplo de configuração:




configure
set system flow-accounting interface <interface>
set system flow-accounting netflow enable-egress
set system flow-accounting netflow engine-id 0
set system flow-accounting netflow server <ip do coletor> port <porta> 
set system flow-accounting netflow version <1|5|9>
commit

Onde:
enable-egress é um parâmetro opcional, caso também queira monitorar o tráfego de saída.

<interface> é interface a qual você quer exportar ( pode-se adicionar mais de uma duplicando a linha ) .

<ip do coletor> é o ip para onde serão enviados os dados, onde está instalado o seu coletor.  

<porta> porta onde o coletor escuta. 

<1|5|9> versão do netflow.

25 de setembro de 2014

EdgeRouter vulnerável a ShellShock ( Corrigido )

Recentemente foi divulgada uma falha muito grave no bash, tão perigosa quanto a recente Heartbleed.

Mais informações AQUI

Verifiquei os sistemas do EdgeRouter PRO e ele estava vulnerável.

Para fazer o teste se o seu também está, entre no com o seguinte comando na edgerouter:


sudo env x='() { :;}; echo vulneravel' bash -c "echo teste"

Se estiver, você verá a palavra vulnerável, caso contrário o bash vai gerar um erro.

Na minha versão está com a falha e tentei das diversas formas atualizar o bash para uma versão de um debian novo, até agora todas sem sucesso e após procedimento tive que resetar o equipamento.

Enquanto não é lançado o pacote de atualização do bash para essa versão de Debian, para então ser lançado um novo firmware, recomendo desativar o serviço de ssh ou configurar o firewall para aceitar conexões ssh somente da sua rede.

Você pode desativar o ssh com o comando:


 delete service ssh


Caso eu encontre alguma atualização compatível, atualizo aqui.

ATUALIZAÇÃO: APLICANDO A CORREÇÃO

A única versão de pacote que tem a correção é a

bash_4.2+dfsg-0.1+deb7u1_mips.deb

E somente para debian wheezy, então a solução que encontrei ( E TESTEI, INCLUSIVE JÁ ESTÁ EM EQUIPAMENTO QUE ESTÁ EM PRODUÇÃO ) é a seguinte:

Entre no bash:

sudo bash

Edite o arquivo /etc/apt/sources.list e apague todo o conteúdo que há nele. Depois adicione esses repositórios:

# main-updates
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
deb http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free

# security-updates
deb http://security.debian.org/ wheezy/updates main contrib non-free

Após, execute os seguintes comandos:

apt-get update
apt-get install --only-upgrade bash


ATENÇÃO: Não execute o upgrade completo do sistema, execute exatamente como está acima, caso contrário você corre o risco de ele não iniciar novamente e você terá que resetá-lo. Feito isso é só rebootar e executar o comando de novo para verificar. Você verá que a falha foi corrigida.

Lembrando que se você resetar o equipamento terá que atualizar novamente. Agora é esperar a versão oficial.

  

 

22 de setembro de 2014

EdgeRouter: Erro na leitura de CPU



Não sei se intencional ou não ( até acredito que não ), mas o fato é que a versão atual do firmware da linha edge faz uma leitura errada do consumo de cpu. Como o processador tem 2 cores, a leitura que é mostrada no dashboard é somente a do segundo core ( o menos utilizado ) o que leva o administrador a pensar que o consumo de cpu está realmente baixo.

Ou algum programador não se tocou disso, ou alguém tentou ser malandrinho hehehe

Lembrando, que a ideia não é denegrir a imagem do produto ( até porque uso, aprovo e recomendo ), mas sim manter documentado e informar os demais administradores.

Para quem quiser acompanhar, abri um tópico no fórum oficial demonstrando o problema...

CLIQUE AQUI PARA IR PARA O POST NO FÓRUM OFICIAL

e segue AQUI o link do vídeo ( que não está como público ).

Neste momento, já houve respostas no fórum indicando que seria uma média dos dois, se for.. o cálculo está errado, pois a diferença é gritante.

Façam os testes, se puderem reportar aqui ou no fórum oficial, agradeço.

15 de setembro de 2014

VyOS + GNS3: Problema com Nomes da Interfaces

Certamente quem já trabalhou com servidores linux já teve problemas com a questão de nomes de interfaces.

Seja criando nomes novos ou simplesmente invertendo o nome das interfaces, o udev sempre deu bastante trabalho nesse sentido.

No VyOS não é diferente, e quando precisamos emular várias imagens, a cada uma delas "resetamos" os macs, para que em cada imagem tenhamos macs diferentes.

Porém, quando você boota a primeira vez o VyOS, ele armazena os macs e nome das interfaces ( assim como qualquer outro linux ), depois de feito isso, se você clonar essa imagem, seja no VirtualBox ou no Qemu, você terá problemas, pois ele vai encontrar um novo mac e criar um novo nome para cada interface.

Assim, pode acontecer de em uma máquina você ter a eth0, e em outra, clone da mesma, não.

Para ter certeza de que as interfaces serão criadas da forma certa e que não haverá mudanças em cada boot ou ao clonar, execute essas configurações:

Logue no VyOS normalmente, depois execute o comando abaixo para ter acesso ao bash.

sudo bash  

Agora, precisamos renomear o arquivo vyatta_net_name que fica dentro de /lib/udev se o sistema for 32bits ou em /lib64/udev se for 64.

cd /lib/udev/
mv vyatta_net_name vyatta_net_name.old 

Precisamos adicionar o seguinte conteúdo no arquivo 75-persistent-net-generator.rules ( se você já estiver na pasta udev, basta entrar na rules.d ).

ENV{MATCHADDR}==”0*”, ENV{MATCHADDR}=””

O caminho completo para o arquivo é:

/lib/udev/rules.d/75-persistent-net-generator.rules
/lib64/udev/rules.d/75-persistent-net-generator.rules

Adicione o conteúdo acima utilizando o editor vi.

Feito isso, basta desligar a máquina e clonar a vontade.


9 de setembro de 2014

Conectando no VyOS via GNS3 no Linux

Um dos maiores problemas encontrados por mim que utilizo linux 99% do tempo ( e com certeza para quem já tentou utilizar o gns3 em alguma distribuição ) é fazer a conexão dos dispositivos do GNS ( Seja Mikrotik/RouterOS ou VyOS ) ao Linux.

Testei de diversas formas, diversas versões e em todas sempre ocorria algum bug que incomodava bastante e dificultava os laboratórios quando necessitávamos de diversos dispositivos.
Uma das formas menos problemáticas é fazer a ligação da nuvem à uma interface real, porém, em alguns cenários não creio que seja a maneira mais eficiente ( fazer testes conectados com uma interface real ).

Para solucionar o problema, de uma vez por todas, passei a utilizar interfaces virtuais no linux e não tive mais problemas. Abaixo descrevo como configurar o gns e o linux para tal conexão.

OBS: Em mikrotik/routeros você pode ter problemas de não identificar via "mac", mas se colocar um ip na interface que esteja na mesma classe da virtual se consegue a conexão normalmente.

Primeiramente abra um terminal ( No ubuntu ctrl+alt+t ) e execute o comando:

sudo tunctl  

Com esse comando a sua interface tap0 já deve ser criada automaticamente, é ela que vamos utilizar no gns3. Você pode conferir se ela foi criada corretamente utilizando o seguinte comando:

ifconfig tap0  

Você verá algo como na imagem abaixo:


Vamos adicionar o ip 10.1.1.2/24 à interface tap0 com o comando:

ifconfig tap0 10.1.1.2/24  

E vamos ao GNS. No GNS3, adicione o seu dispositivo VyOS, um Switch ( ou HUB ) e uma Nuvem.

Para que possamos conectar o GNS à nossa interface tap0, precisamos configurar a nuvem. Para isso, clique com o botão direito do mouse em cima dela, vá em configurações, clica na aba  NIO TAP, no campo TAP Interface digite tap0, clique no botão Add, depois em Aplicar e OK.



Seu cenário deve ficar parecido com este:

Feito isso, vamos dar um start no lab e aguardar o vyos iniciar.

Nele, vamos configurar o endereço 10.1.1.1/24 na interface ether1 para colocarmos o dispositivo na mesma rede da nossa tap0 ( 10.1.1.2/24 ).

Para isso, vamos logar no vyos ( user: vyos  senha: vyos ) e executar os seguintes comandos:


configure
set interfaces ethernet eth1 address 10.1.1.1/24
commit
save 

E então, é só correr pro abraço, do seu linux, execute um ping para o vyos.


Caso você não consiga comunicação, verifique se suas interfaces estão corretas, veja qual está com o status UP através do comando:

show interfaces ethernet details


Um abraço e até a próxima!

8 de agosto de 2014

Instalando o Unbound no EdgeRouter


Como muitos provedores estão utilizando o Unbound como recursivo, resolvi postar para quem quiser se aventurar um pouco mais na linha edge router da Ubiquiti, como fazer a instalação do unbound.

Primeiro de tudo, devemos configurar o apt-get executando os seguintes comandos:

configure
set system package repository squeeze components 'main contrib non-free'
set system package repository squeeze distribution squeeze
set system package repository squeeze url http://http.us.debian.org/debian

set system package repository squeeze-security components main
set system package repository squeeze-security distribution squeeze/updates
set system package repository squeeze-security url http://security.debian.org
commit
save
exit
Feito isso, vamos atualizar o sistema:
sudo apt-get update
sudo apt-get upgrade
Recomendo um reboot após as atualizações. Agora vamos instalar o unbound e o editor nano:
sudo apt-get install unbound nano
E vamos as configurações. Primeiramente vamos criar uma pasta para armazenar nossa configuração e copiar o arquivo de configuração original para esta pasta:
mkdir /config/unbound
cp /etc/unbound/unbound.conf /config/unbound/
Edite o arquivo /etc/unbound/unbound.conf e apague todas as linhas, o atalho para apagar linhas é Control+K e você pode editá-lo utilizando o seguinte comando:
nano /etc/unbound/unbound.conf
Deixe o conteúdo do arquivo da seguinte maneira:
include: /config/unbound/unbound.conf
Salve o arquivo e saia. Se você usar o Control+X pra sair, ele vai perguntar se deseja salvar, basta dar um enter e pronto. Agora vamos ao nosso arquivo de configuração completo, para editálo:
nano /config/unbound/unbound.conf
Você pode ( e deve ) configurar a seu gosto, não entrarei em detalhes de configuração e tunning do unbound, mas básicamente se você adicionar a seguinte linha:
interface: 0.0.0.0
Ele estará escutando em todas interfaces quando for iniciado. Cuidado! não deixe recursivo aberto para fora da sua rede! Adicione as linhas de controle de acesso, liberando apenas para as classes que desejar:
access-control: 10.0.0.0/8 allow
access-control: 192.168.0.0/16 allow
Salve e saia. Para iniciar o unbound, basta executar o comando:
sudo /etc/init.d/unbound start
E pronto! Seu unbound está funcionando! Obs: Não testei performance e nem o quanto ele suporta. Dimensione bem seus equipamentos e não misture serviços nas caixas. Qualquer dúvida, skype: elizandropacheco

1 de agosto de 2014

VyOS ( UBNT Edge Router ) + Dicas + Exemplo BGP

Com a popularidade do VyOS aumentando, muito em função do sucesso da linha Edge Router da Ubiquiti, resolvi postar algumas dicas para quem está começando e um pequeno exemplo de como estabelecer uma sessão bgp básica com uma operadora qualquer, mesmo através de uma vlan.

Espero que seja útil!



Entrando em modo de configuração:
configure

Definido o hostname:
set system host-name NOMEDOHOST

Configurando um endereço ip na eth0:
set ethernet eth0 address 192.168.0.2/24

Configurando a rota default ( gateway ):
set protocols static route 0.0.0.0/0 next-hop 192.168.0.1

Configurando DNS ( Google ):
set system name-server 8.8.8.8
set system name-server 8.8.4.4

Alterando a senha do usuário admin:
set system login user admin authentication plaintext-password NOVASENHA

Criando vlan 2014 na eth0 e adicionando ip no mesmo comando:
set interfaces ethernet eth0 vif 2014 address 192.168.0.3/24

Salvando as configurações:
save

Saindo do modo de configuração:
exit

Ver configurações:
show
Obs: Se estiver no modo de configuração adicione: run antes do comando ( Ex: run show ).

Exemplo de peer em BGP:
AS: 71717
AS Remoto: 81818
Network: 200.200.0.0/20
Vlan: 2014
Neighbor: 201.201.0.1
set protocols bgp 71717 neighbor 201.201.0.1
set protocols bgp 71717 neighbor 201.201.0.1 remote-as '81818' 
set protocols bgp 71717 neighbor 201.201.0.1 update-source eth0.2014
set protocols bgp 71717 network 200.200.0.0/20 
set protocols bgp 71717 parameters router-id 200.200.0.1/20

Para ver o status dos neighbors:
show ip bgp neighbors

Para ver o status do bgp:
show ip bgp summary
Ainda tem muita coisa sobre filtros, etc... mas como a ideia era dar uma "noção", espero que gostem! Maiores informações: elizandro at pachecotecnologia.net Um abraço!

1 de abril de 2014

Spamhaus: Lista DROP e EDROP ( Cisco, Mikrotik e IpTables )

A DROP e EDROP são listas de tráfego, composta por netblocks que são "sequestrados" ou spammers profissionais ou ainda de operações de combate à cibercriminalidade (utilizados para disseminação de malware, trojans, controladores de botnets ). As listas são um pequeno subconjunto da SBL, projetado para uso por firewalls e equipamentos de roteamento para filtrar o tráfego malicioso destes netblocks.

Ainda que a melhor opção seja utilizar via bgp ( http://www.spamhaus.org/bgpf/ ), as listas ( não todas ) podem ser obtidas gratuitamente.

Rick Hodger <rick@fuzzi.org.uk> desenvolveu um script em php que faz um parse na lista e exporta nos formatos para iptables e cisco. 

Eu apenas adicionei o formato de exportação para routeros, segue o source: 
http://pastebin.com/bUVMZ77q

A utilização é bem simples, basta baixar o arquivo e rodar desta maneira:

$ php arquivo.php mikrotik

( ou cisco, ou iptables ).

Espero que seja útil. Abraço!

21 de março de 2014

PHPIPAM - Versão 1.0 em pt_BR

PHPIPAM é uma solução baseada na Web, que oferece as funções necessárias para registar, gerenciar e documentar todos os endereços usados numa rede. Esta plataforma tem excelente funcionalidade e uma interface bem simples de operar.

E acaba de ser lançada a versão 1.0 que traz a tradução pt_BR já embutida.

Segue links: Download Demo

3 de fevereiro de 2014

Habilitando o Compliance Test no AirOS 5.5.8

Pra quem se deparou com a surpresa da remoção do Compliance Test na nova versão do firmware da Ubiquiti, segue uma opção interessante pra tornar a opção visível novamente.

Os comandos devem ser executados via ssh:

echo "echo '<option value=\"511\">===Compliance Test===</option>' >> /etc/ccodes.inc" > /etc/persistent/rc.poststart
chmod +x /etc/persistent/rc.poststart
cfgmtd -w -p /etc/
reboot

1 de fevereiro de 2014

Laravel no Ubuntu 13.10 - Mcrypt PHP extension required.

Apesar de ser um fã número um de slackware, e utilizar a distribuição desde a versão 7 ( bem quando houve o pulo de versões ), eu não deixo de dar uma olhada em outras distribuições sempre que possível. Afinal, geralmente há algo bom nelas e é sempre bom estar por dentro não é mesmo?

Então, recentemente tentei montar um ambiente de desenvolvimento em ubuntu para fazer algumas alterações em um projeto feito em laravel ( www.laravel.com ) e ao executar o update no composer me deparei com o seguinte erro:


Apesar da extensão estar instalada, o composer continuava aprensentando o mesmo erro. Então segue os passos para solucionar o problema:

1 - Verifique se a extensão está mesmo instalada, no terminal execute o comando:

# dpkg --get-selections | grep php5

E verifique se a mcrypt está na lista. Se não estiver, instale com o comando:

# sudo apt-get install php5-mcrypt

Feito isso, execute os comandos:

# sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available

# sudo php5enmod mcrypt

# sudo service apache2 restart


14 de janeiro de 2014

[Dica] Anti-aliasing nas fontes do NetBeans

Para habilitar o anti-aliasing nas fontes do netbeans, basta editar o arquivo netbeans.conf que fica na pasta etc dentro da pasta de instalação do netbeans e adicionar o conteúdo em azul.

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m 
-J-XX:MaxPermSize=200m-J-Dapple.laf.useScreenMenuBar=true 
-J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true 
-J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=on"