Novo Blog
Pessoal,
Estou migrando para o blogspot. O meu novo blog é: http://alanlacerda.blogspot.com/
Espero vocês por lá!
Instalando Programas no NetBSD – pkgsrc
Vamos ver como instalar programas no NetBSD. Para tal espera-se que o seu NetBSD já esteja devidamente instalado. Caso ainda não o tenha instalado e precise de um guia para a instalação do mesmo, use o artigo que eu escrevi na edição 3 da revista espirito livre. Faça o download da revista AQUI.
Uma vez que o seu sistema esteja instalado, certifique-se de que ele tenha conexão com a Internet:
# ping insetoverde.wordpress.com
PING lb.wordpress.com (76.74.254.123): 56 data bytes
64 bytes from 76.74.254.123: icmp_seq=0 ttl=53 time=154.486 ms
64 bytes from 76.74.254.123: icmp_seq=1 ttl=52 time=233.096 ms
^C
----lb.wordpress.com PING Statistics----
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 154.486/193.791/233.096/55.586 ms
Caso não tenha conexão use o comando “dhclient” para obter um IP por DHCP e teste novamente a conexão com o exemplo de PING demonstrado cima.
Uma vez que a conexão com a Internet esteja configurada adequadamente, já estamos prontos para instalar programas no NetBSD. Vamos agora baixar um pacote que contém a coleção de programas disponíveis para o NetBSD – o pkgsrc.tar.gz.
Digite o seguinte comando:
# ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.gz
Aguarde até que o download tenha terminado e…
# ls .cshrc .logout .shrc .login .profile pkgsrc.tar.gz
Observe que o pacote está agora em nosso computador. Vamos movê-lo para um local apropriado e descompactá-lo a fim de que possamos verificar os pacotes disponíveis, escolher um deles, e instalá-lo:
# mv ./pkgsrc.tar.gz /usr/ # cd /usr/ # tar -zxvf ./pkgsrc.tar.gz
O comando “tar” irá descompactá-lo dentro de “/usr” criando um diretório chamado “pkgsrc“. Destro dele estarão os profgramas portados ou desenvolvidos para o NetBSD.
INSTALANDO UM PROGRAMA
Vamos escolher um programa para instalar. Um programa que costumo instalar antes de qualquer um outro é o “pkgfind” acho ele super útil, por que ele me ajuda a encontrar outros programas dentro dos diretórios do pkgsrc (são muitos diretórios, às vezes não sei onde está o programa que quero instalar). Por isso, vamos instalá-lo e ver a sua utilização básica.
# cd /usr/pkgsrc/pkgtools/pkgfind/
Agora dentro do diretório do pkgfind, precisamos apenas digitar: make install. Feito isso, pronto!!! Temos o pkgfind instalado :) Vamos aprender a usar ele agora. Se quisermos instalar o programa “nmap”… onde ele está para nós podermos entrar em seu diretório e digitar o “make install”??? Vamos usar o pkgfind para descobrir:
# pkgfind nmap net/nmap: Network/port scanner with OS detection net/p5-Nmap-Parser: Parse nmap scan data with perl
Perceba que ele deu um caminho relativo (não temos o caminho completo desde a raíz). Esse caminho está levando em consideração o local onde você colocou o pkgsrc, que em nosso caso é “/usr/pkgsrc“. Sendo assim, o caminho para o nmap que queremos instalar seria “/usr/pkgsrc/net/nmap“. Bastante útil o pkgfind não é?! Agora você pode encotrar qualquer programa e instalá-lo.
Lição do dia
Devo agradecer a um amigo (invoid) por ter me mostrado esse vídeo, ele melhorou a minha visão de alguns pontos específicos na minha vida. Se eu podesse escolher as palavras exatas a serem usadas no dia da minha formatura, seriam essas:
PARTE 1
PARTE 2
“A arte de viver consiste em tirar do maior mau o maior bem” – Machado de Assis
Bom dia a todos,
Boa Leitura
Se você é do tipo que gosta de baixar livros da internet (livros técnicos), então vai se fartar nesse site:
Virtualizando o IOS
Você tem interesse em estudar para tirar a certificação CCNA, CCNP ou CCSP da CISCO? Ou apenas, tem vontade de conhecer, saber configurar, roteadores e firewalls da CISCO?
Se a resposta a pelo menos uma das perguntas acima for positiva, então você deve estar usando algum dos emuladores de equipamentos cisco existente no mercado (BOSON, PacketTrace…). Se ainda não está usando nenhum, melhor ainda, você não vai precisar migrar de ferramenta.
Conheça o:
Isso é uma propaganda???? É, é uma propaganda, e eu não estou ganhando nada com isso >:)
Diferente dos emuladores de equipamentos cisco no mercado, o dynamips não “emula” os equipamentos, ele VIRTUALIZA os sistemas operacionais dos equipamentos da cisco. O sistema operacional usado nos roteadores cisco é o IOS, e assim como com o vmware você pode virtualizar sistemas operacionais em seu computador (caso possua uma iso do sistema), com o GNS3/Dynamips você poderá fazer o mesmo para o IOS.
Qual a diferença entre o GNS3 e o BOSON ou outros emuladores? A diferença é que no caso do GNS3 você estará usando o sistema operacional real desenvolvido pela cisco, enquanto nos emuladores você só poderá usar os comandos que o desenvolvedor do emulador quis colocar no programa dele. Ou seja, você está interagindo com uma aplicação criada por terceiros, e não com o software real da cisco.
Qual o problema em usar um emulador? Simples: limitações. Os emuladores LÓGICO, não possuem todos os comandos que um IOS possuem, e se você virtualizá-lo usando um IOS real você terá todos os comandos. Ainda os emuladores possuem limitações de, por exemplo, quantidade de ACLs que você pode criar. Já com um IOS real você tem apenas as limitações da versçao do IOS que você estiver usando. E isso aconteceria da mesma maneira no mundo real.
Em fim, o GNS3 é uma excelente escolha para os estudantes e profissionais que querem se aprofundar nas tecnologias da cisco e/ou simular ambientes reais.
Revista Espirito Livre

Excelente Revista que está chegando com todo Gás.
Uma revista online com assuntos diversos referentes a software livre. Inovando com assuntos jamais explorados em outras revistas online.
Acessem esta revista online e tenha acesso às suas edições em: http://www.revista.espiritolivre.org/
OpenBSD – PacketFilter (PF)
O texto que segue foi escrito por mim para uma apresentação do Packet Filter (O Filtro de pacotes do OpenBSD). Filtro de pacotes é mais comumente conhecido como: “Firewall”.
PACKET FILTER
No dia 29 de Maio de 2001 foi descoberto que a licença do IPFilter (o filtro de pacotes padrão no openBSD até então), não era compatível com a licença do BSD, por isso o IPFilter foi imediatamente retirado da arvore do OpenBSD. Assim por algumas semanas o OpenBSD ficou sem um filtro de pacotes. Até que em 24 de Junho de 2001 foi lançado uma versão do PF sem muitas funcionalidades.
Na versão 3.1 do OpenBSD saiu a versão mais completa do PF. Nessa versão todas as funcionalidades básicas de um gateway/firewall foram satisfeitas: NAT, PAT, Redirecionamento ….
Com a maturidade do PF, outros sistemas da família BSD também o adotaram: NetBSD, FreeBSD e DragonflyBSD.
É possível habilitar e desabilitar o PF em tempo de execução com os seguintes comandos respectivamente:
pfctl –e
pfctl –d
Ou habilitar o PF para iniciar junto com o sistema operacional, adicionando ou alterando as seguintes entradas no arquivo: /etc/rc.conf
pf=YES
pf_rules=”/etc/pf.conf”
Se o PF for habilitado em tempo de execução, será necessário carregar as regras de firewall para a execução, pois isso não é feito automaticamente quando o firewall é habilitado. É possível carregar as regras com a seguinte linha de comando:
pfctl –f /etc/pf.conf
Caso seja necessário descarregar as regras que estão em execução use o comando:
pfctl –F rules
ou
pfctl –F nat
As regras acima descarregam (Flush) as regras de filtro e NAT respectivamente. Quando as regras de filtro forem descarregadas o PF passa a ter a regras “pass all” novamente, deixando passar todo o tráfego de entrada e saída.
O PF aceita múltiplas opções em união. Sendo assim para habilitar e carregar o firewall e as regras, poderia se digitar uma única linha de comando:
pfctl –ef /etc/pf.conf
Para usar o PF no FreeBSD é necessário uns cuidados extras. Por exemplo algumas opções específicas para cada versão do freeBSD é necessário, por isso é importante que, antes de se configurar o PF no FreeBSD, o FreeBSD handbook seja consultado. Nesse sistema, o PF funcina como um módulo aparte, isso faz necessário que ele seja carregado manualmente.
Para carregá-lo em tempo de execução:
kldload pf
Ou então, para executá-lo junto com a inicialização do sistema operacional, insira ou altere no arquivo /etc/rc.conf a seguinte entrada:
pf_enable=”YES”
Para usar o Pf no NetBSD é necessário compilar o kernel com suporte ao mesmo. Isso é feito habilitando a opção:
pseudo-device pf
Habilitar as seguintes opções em /etc/rc.conf:
lkm=”YES”
pf=YES
Ou em tempo de execução execute os seguintes comandos:
modload /usr/lkm/pf.o
pfctl –e
Levando em consideração que o Firewall vai trabalhar como gateway, é importante que ele seja capaz de fazer a comutação do pacote (enviar o pacote de uma interface para a outra). Isso é habilitado no arquivo /etc/sysctl.conf adicionando ou alterando a seguinte linha:
net.inet.ip.forwarding=1
Uma regra básica permite que tudo saia pelo firewall mas bloqueia as entradas:
block in all
pass in from $interface_interna:network
pass out all
Para os pacotes poderem voltar em resposta às requisições feitas internamente, o PF implicitamente permite que todo pacote que volte (entre pelo firewall) tendo sido anteriormente requisitado seja aceito.
É característica do PF ler as regras de firewall de cima pra baixo, e mesmo que uma regra se aplique a um determinado pacote, o firewall continuará comparando o mesmo pacote com as demais regras até chegar ao final da lista. Assim se existir outra regra que se aplique a aquele pacote, a regra será sobreposta. Para forçar que a regra seja aplicada ao pacote e não prossiga comparando com as demais regras usa-se a opção “quick” nas regras.
É possível criar variáveis dentro do arquivo de configuração do PF, essas variáveis são mais conhecidas como “macros”, uma macro pode contar um valor únicos ou múltiplos valores. Quando se atribui múltiplos valores a uma macro dá-se o nome de “lista”.
O PF ainda reconhece o número da porta de um determinado serviço pelo próprio nome do protocolo de camada 7, por exemplo: ao nome “HTTP” é atribuído o valor “80”, para “HTTPS” o valor “443” e assim por diante.
A sintaxe vic0:network (onde vic0 é o nome da placa de rede) se refere ao endereço de rede que se encontra configurado na placa vic0. E a sintaxe (vic0) se refere a endereço IP configurado na placa vic0.
Conexões FTP representam desafios maiores para o administrador do firewall, pois em todos os sentidos o FTP não é confiável. A autenticação é feita em texto claro e após a autenticação, a porta de transmissão de dados é negociada e então a transferência acontece por aquela porta. Dessa maneira o firewall não tem como adivinhar que aquela porta onde a transferência está tentando ser feita é referente a uma conexão já existente, sendo assim, a conexão é negada.
Para lidar com essa conexão problemática, é utilizado um aplicativo à parte do PF chamado Proxy-ftp, ele se encarrega de ligar as portas às conexões, e o papel do PF é apenas redirecionar as conexões FTP para o Proxy-ftp tratar. Isso é feito de uma maneira simples (com ancoras).
Geralmente é da vontade do administrador da rede liberar a requisição de pings feitos a partir de dentro da rede, mas não permitir que alguém de fora da rede o faça. Para isso é importante conhecer as características do ping. Ele usa i protocolo ICMP, e para o ping em específico podemos ter os seguintes tipos de icmp: echo-request e echo-reply. O echo-request é a requisição do ping, e echo-reply é a resposta à requisição. Então queremos permitir apenas a saída de requisições.
Conceitualmente muitos acreditam que liberando o ICMP echo-request o traceroute também funcionará, mas ele usa o protocolo UDP e não o ICMP (apenas a Microsoft implementou o tracert sobre o ICMP), as portas que o traceroute usa para fazer as requisições estão na faixa entre 33433 e 33626. Desta maneira, para liberar também o traceroute é necessio a seguinte regra:
pass out on $ext_if inet proto udp from any to any port 33433> $webpool round-robin \ stick-address
Ainda com o round-robin, temos o problema referente à indisponibilidade de um dos servidores do pool. Caso um servidor fique indisponível algumas requisições ainda serão direcionadas para ele, causando desconforto para os clientes. Para solucionar o problema usa-se um aplicativo à parte ancorado ao PF (assim como o FTP-proxy), esse aplicativo é o “hoststated”. Para o hoststated trabalhar com o PF obrigatoriamente o pool de servidores devem estar numa tabela e não numa lista em macro. Explorar o “hoststated” está fora do escopo da apresentação.
O PF pode agir, em alguns aspectos, como um IPS (Intrusion Prevention System). Em que sentido? Regras podem ser definidas e, caso alguém não cumpra a regra, entra numa tabela com ips bloqueados. Por exemplo, se configuramos o acesso remoto via SSH para a rede externa (internet) não raro haverá uma seqüência de tentativas de acesso remoto por força bruta. Podemos bloquear essas tentativas com as seguintes entradas numa regra:
max-src-conn – Número máximo de conexões a partir de um único host
max-src-conn-rate – Número máximo de requisições de conexão, por um determinado número de segundos, vindos do mesmo host.
overload




