Hoje cedo, por volta das 06:30h, quando acabei de editar uma das duas palestras que vou ministrar aqui no FISL, postei no Twitter (http://twitter.com/eribertomota) que ia tentar dar um overview sobre as mesmas hoje no meu blog. Então, farei isso agora.
Ambas as palestras ocorrerão no dia 23 de julho de 2010 (amanhã). Uma será às 10h e a outra às 20h.
Palestra 1
Análise e controle de tráfego em redes TCP/IP com tcpdump
23 de julho, 10h, sala 41E (fisl 6)
Nesta palestra vou mostrar a importância dos gerentes de rede conhecerem protocolos, encapsulamentos e modelo OSI. Isso é essencial para quem precisa encontrar problemas que envolvem o bloqueio de tráfego ou mau funcionamento. Serão mostrados os conceitos básicos sobre IP, TCP, UDP e ICMP. Com a ferramenta tcpdump aplicada nos pontos corretos, será possível descobrir erros de configuração em roteadores, pontos de bloqueio em firewalls e até mesmo cabos com defeito.
Uma palestra ESSENCIAL para que administra uma rede. Vários tráfegos capturados com tcpdump serão exibidos e explicados. São tráfegos relativos aos problemas que ocorrem no dia-a-dia. Até mesmo mensagens ocultas emitidas por bancos de dados sobre problemas de conexão serão tratadas na palestra.
O sumário a ser utilizado:
- A análise de tráfego
- A estrutura de um protocolo
- O protocolo IP
- O protocolo TCP
- O protocolo UDP
- O protocolo ICMP
- O modelo OSI
- Técnica de uso do tcpdump na análise de tráfego
- Considerações finais
- Conclusão
Dois exemplos de ideias que serão tratadas:
- A ida de uma flag TCP Syn, seguido da volta de uma flag Rst, significa que a porta do servidor está fechada.
- Sabia que é sempre o cliente quem inicia uma conexãow
A palestra estará disponível para download, a partir das 23h de hoje, em http://www.eriberto.pro.br/palestras.
Palestra 2
Gerenciamento de memória virtual no Kernel Linux
23 de julho, 20h, sala 41C (fisl 3)
Esta palestra mostrará como funciona o sistema de gerenciamento de memória no Kernel Linux. Será tratado o esquema básico de funcionamento da memória virtual (RAM + Swap). Algumas experiências práticas mostrarão, ao vivo, a memória em ação.
É fato que grande parte dos usuários não sabem analisar o uso da memória. Isso já começa pela correta interpretação do resultado do comando free. Observe:
eriberto@cygnus:~$ free -m
total used free shared buffers cached
Mem: 2015 974 1040 0 53 632
-/+ buffers/cache: 288 1726
Swap: 399 0 399
No resultado anterior, qual o total de memória livre? Bem, garanto que não é 1040 MB. Mas para chegar ao resultado correto, é necessário saber conceitos como buffer-cache. Também serão abordados aspectos sobre o funcionamento do polêmico swap.
O sumário a ser utilizado:
- Modelo von Neumann
- Causas de esgotamento da memória RAM
- Memória virtual e uso do swap
- Sistema buffer-cache
- Gerência do uso de memória
- Tamanhos mínimos e máximo do swap
- Swap em arquivo versus swap em partição
- O mito dos 4 GB
- Ferramentas de análise de memória
- Conclusão
Dois exemplos de ideias que serão tratadas:
- Qual o tamanho ideal de swap? (não é o dobro da RAM)
- Sabia que um processador lento pode causar falta de memória?
A palestra já está disponível para download em http://www.eriberto.pro.br/palestras.
Tags:análise de tráfego, buffer, buffer-cache, cache, eriberto, FISL 11, FISL11, gerenciamento de memória, memória virtual, swap, tcpdump
Gostaria de deixar aqui a dica sobre o site do amigo Marcelo Lau, que é um renomado professor em algumas faculdades de São Paulo.
No seu site há diversos trabalhos acadêmicos, de alunos orientados por ele ou por outros professores conhecidos, sobre segurança e forense computacional. Vale a pena conferir, pois todo o material lá existente já foi avaliado pelo Lau. E o melhor: tem trabalhos escritos pelo próprio Lau. É muita coisa mesmo! Alguns exemplos:
- Técnicas Utilizadas para Efetivação e Contenção das fraudes sobre Internet Banking no Brasil e no Mundo.
- Perícia Forense Computacional – ataques, identificação da autoria, leis e medidas preventivas.
- A aceitação da prova eletrônica no âmbito criminal.
- Segurança em Dispositivos de Armazenamento Portáteis: um estudo dos riscos envolvendo os pendrives.
O site é http://www.datasecurity.com.br/usp.html.
Tags:apostilas, computador, cracker, data security, datasecurity, firewall, Forense computacional, hacker, Lau, Linux, Mrcelo Lau, Rede, redes, Segurança, trabalhos acadêmicos, Windows
Depois de algum tempo, o Xen 4 engrenou no Debian Squeeze sem tantos malabarismos. A mágica do APT-GET acontece novamente.
Depois de passar um dia ralando para fazer tudo funcionar e me adaptar aos novos dispositivos e malícias, escrevi um artigo no meu wiki sobre o assunto. Comecei no dia 15 de junho mas só tive tempo para terminar hoje. Assim sendo, para quem precisar, fica aqui a URL:
http://www.eriberto.pro.br/wiki/index.php?title=Xen_4.0_no_Debian_Squeeze
ou
http://tiny.cc/xen_squeeze
Tags:6.0, Debian, Dom0, DomU, Ext4, hvc0, Linux, máquina virtual, sistema operacional, SO, Squeeze, virtual machine, virtualização, VM, Xen, Xen 4, xvda1
Ontem, depois de muito tempo, resolvi utilizar o Internet Banking do Banco do Brasil. Eu já tinha notado, em outra oportunidade, que o mesmo não estava funcionando no Debian Squeeze com Java 6 e Firefox (Icewasel). Como eu estava sem tempo e pensei que o problema pudesse ser temporário, como já ocorrera antes, resolvi deixar de lado. Mas, ontem, para minha surpresa, o mesmo problema. Assim, ativei o console Java para me mostrar erros e confirmei que o problema era no Java mesmo.
Procurando por bugs no BTS, encontrei o bug report #560044. Nesse bug report, o Heikki Henriksen narra que o pacote netbase introduziu o arquivo de configuração /etc/sysctl.d/bindv6only, que estabelece uma determinada configuração IPv6 para Java (a abertura ou não de dois sockets para operar IPv4 e IPv6). Com isso, alguns sites, como o do Banco do Brasil irão parar de responder, caso haja dois sockets diferentes habilitados. Não sou programador mas creio que isso se dê por causa da tentativa de conexão inicial por um socket, seguido da mudança de socket para se adequar ao IPv4. Se alguém souber algo sobre isso, por favor confirme.
A solução:
- Edite o arquivo /etc/sysctl.d/bindv6only e altere o valor de net.ipv6.bindv6only de 1 para 0.
- Reiniciar o procps para que o sysctl seja lido novamente. Para isso: # /etc/init.d/procps restart.
- Reiniciar o Firefox (Iceweasel).
- Acesse novamente o site desejado.
Tags:Banco Brasil, Bando do Brasil, BB, Debian, java, Linux, Squeeze
Posted by Eriberto on jun 7, 2010 in
Criptografia,
Firefox,
Iceweasel,
Segurança
O Maximillian Cuony, autor do famoso plugin FireGPG, anunciou há pouco que acaba de abandonar o projeto. É uma pena, pois o FireGPG é extremamente útil para quem utiliza GPG no Firefox (Iceweasel).
O anúncio oficial pode ser visto aqui:
http://blog.getfiregpg.org/2010/06/07/firegpg-discontinued
Bem, espero que alguém resolva dar continuidade a esse brilhante projeto…
Tags:Criptografia, Firefox, GnuPG, GPG, Iceweasel, PGP, Segurança
Posted by Eriberto on abr 20, 2010 in
Debian,
Debian Squeeze,
Internet
Semana passada fui para São Paulo e passei um grande aperto. Tinha que fazer manutenção nos meus sistemas mas não tinha Internet no hotel. Com isso, cheguei à conclusão de que precisava de uma Internet via modem 3G. Como tenho um celular Nokia 6120 Classic e sei que ele pode servir como modem, resolvi tentar configurar. Depois de quase meia hora de tutoriais que não funcionavam completamente e insights diversos, cheguei ao sucesso agora há pouco. Fiz via cabo USB. Depois vou tentar com bluetooth. Vamos lá.
- Conecte o celular no computador.
- O celular mostrará os modos de operação via USB. Selecione PC Suite.
- Se você for curioso, observe o reconhecimento do celular no log /var/log/syslog. Ele será reconhecido como /dev/ttyACM0, o que sugere ser um dispositivo serial.
- No Debian, execute: # apt-get install wvdial.
- A seguir, execute # wvdialconf. Será criada uma configuração de modem em /etc/wvdial.conf.
- Edite o arquivo /etc/wvdial.conf e insira no final (ou descomente e edite as linhas correspondentes):
Phone = *99#
Username = ”
Password = ”
IMPORTANTE: em Username foram utilizados dois caracteres apóstrofo juntos. O caractere aspa não funciona na configuração. O mesmo ocorre em Password.
- Feita a configuração, para conectar, utilize o comando # wvdial. Para desconectar, utilize Ctrl C.
Eu utilizo TIM, pacote Infinity. A adição de 100 MB/mês ao plano custou R$ 9,90. Sem esse plano, cada MB custa R$ 5,99 nos planos pós-pagos. Tem um outro plano para 250 MB/mês por R$ 29,90. Também descobri, no site da TIM, uma possibilidade de 40 MB por 24h ao custo de R$ 2,90. Esses dados poderão ser vistos no site da TIM em Serviços > Internet > Internet no celular.
É interessante controlar o montante de dados trafegados para não pagar taxas extras. Isso pode ser feito no celular em Menu > Log > Dados pacote. A quantidade de MB gastos só aparecerá quando você desfizer a conexão no wvdial (pressionando Ctrl C). É interessante zerar o contador, todos os meses, no dia do vencimento da conta. Isso poderá ser feito em Menu > Log > Dados pacote > Opções > Zerar contadores.
Tags:3G, celular, computador, Debian, Internet, Linux, netbook, notebook
Posted by Eriberto on abr 7, 2010 in
Curiosidades,
Geral,
Internet,
vida
Bem, eu tinha autenticação ADSL no Terra, até hoje. Custava R$ 9,90 por mês. Já achava caro, porque tenho o meu próprio domínio e não uso e-mail, suporte etc. Só preciso autenticar mesmo. Hoje, depois de 1 ano de Terra, acabou a minha promoção inicial e o valor passou para cerca de R$ 22,00 por mês. Fiquei indignado quando vi o meu extrato de débitos automáticos para este mês no Internet banking. Foi aí que começou a minha busca na Internet por algo mais barato.
Pesquisando, encontrei o Local Turbo. Um provedor de autenticação e nada mais. Não tem nem e-mail. Com isso, eles prometem um serviço barato e sem fidelidade. A única pegadinha é que custa R$ 3,90 para a Oi (BrasilTelecom) mas você tem que pagar 6 meses ou 1 ano. Tem para GVT e CTBC também. Procurei referências de usuários na Internet e só encontrei comentários positivos.
Entrei no site deles Às 15:23h e fiz o meu cadastro. O site é desenrolado, rápido e simples. Cliquei em enviar. Abri o e-mail segundos depois e já havia uma mensagem de bem vindo e o link para o boleto de pagamento. Paguei no Internet banking. Às 15:29h, enviei um JPG da tela por um link disponibilizado por eles mesmos e que promete ser rápido. Às 15:34h, 5 minutos depois do meu envio, chegou uma mensagem no meu e-mail dizendo que a conta estava habilitada. Chegando em casa, por volta das 20:00h, liguei para o suporte técnico para ver como era. Eles me atenderam de primeira e me trataram bem. Neste momento, estou autenticado por eles e escrevendo esta notícia. Acho que fiz um excelente negócio.
Aqui o banner deles (clique para ir ao site):

Duas referências que encontrei na Internet:
- Em 2010: Eu já uso há 6 meses e nunca me deixou na mão… (link)
- Em 2006: Já estou entrando na segunda semestralidade. É um ótimo provedor, além de muito barato… (link)
Fica a dica. Espero que seja útil.
Tags:ADSL, autenticação, barato, brasil, BrasilTelecom, CTBC, GVT, Internet, Local Turbo, mais barato, Oi, preço, provedor, provedores Internet, valor
Posted by Eriberto on abr 4, 2010 in
Curiosidades,
Geral,
Nostalgia
Um artigo interessante, principalmente para os saudosistas.
http://www.baciotti.com/2010/03/eu-gostava-do-ms-dos.html
Confira!
Hoje de manhã, eu baixei os programas de imposto de renda para instalar no meu Debian. Eu já tinha o Java 1.6 instalado. Para quem não tem, basta fazer:
# apt-get install sun-java6-plugin
Isso já irá instalar o plugin para Iceweasel, o Java-bin e o Java-JRE. Depois de baixar os programas do imposto de renda, já como usuário comum, alterei as permissões dos mesmo para 755 ($ chmod 755 <programa>) e executei-os. Repetindo, isso tudo como usuário comum. O IRPF2010linux-x86v1.0.bin foi tranquilo mas o ReceitanetJava2010.02_setup_linux.bin deu o seguinte erro:
eriberto@canopus:~/downloads/irpf$ ./ReceitanetJava2010.02_setup_linux.bin
Assistente InstallShield
Inicializando Assistente InstallShield…
Procurando Java(tm) Virtual Machine…
……………………..The wizard cannot continue because of the following error: could not load wizard specified in /wizard.inf (104)
Depois do erro, rodei novamente o programa com strace, para ver o que estava ocorrendo. Já era suspeito, pela mensagem de erro, que ele não encontrava o Java. O strace confirmou essa hipótese. Veja um trecho do resultado:
stat64(“/usr/jre1.6.0/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/local/jre1.6.0/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/java/jre1.6.0/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/opt/jre1.6.0/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/opt/jre1.6/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/jre1.6/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/local/jre1.6/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/java/jre1.6/bin/java”, 0xbff5b740) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
stat64(“/usr/local/bin/java”, 0xbff5b730) = -1 ENOENT (No such file or directory)
write(1, “.”, 1.) = 1
write(1, “.”, 1.) = 1
Bem, ele estava procurando nos lugares errados porque, no Debian Squeeze, a JVM fica em /usr/lib. Veja:
canopus:~# ls -l /usr/lib/jvm/
total 16
drwxr-xr-x 5 root root 4096 Fev 12 2008 java-1.5.0-gcj-4.3-1.5.0.0
drwxr-xr-x 6 root root 4096 Fev 6 13:58 java-1.5.0-gcj-4.4
lrwxrwxrwx 1 root root 14 Jan 29 00:31 java-1.6.0-openjdk -> java-6-openjdk
drwxr-xr-x 5 root root 4096 Jan 14 09:00 java-6-openjdk
lrwxrwxrwx 1 root root 19 Jan 29 00:32 java-6-sun -> java-6-sun-1.6.0.16
drwxr-xr-x 6 root root 4096 Jan 14 09:01 java-6-sun-1.6.0.16
lrwxrwxrwx 1 root root 26 Jan 29 00:32 java-gcj -> java-1.5.0-gcj-4.3-1.5.0.0
lrwxrwxrwx 1 root root 18 Fev 6 13:58 java-gcj-4.4 -> java-1.5.0-gcj-4.4
Repare que há um link simbólico chamado java-6-sum, apontando para o Java 6 atual (java-6-sun-1.6.0.16). Esse é o nosso alvo. Faremos um link simbólico para ele. Relembrando, o instalador procurou nos seguintes lugares:
- /usr/jre1.6.0/bin/java
- /usr/local/jre1.6.0/bin/java
- /usr/java/jre1.6.0/bin/java
- /opt/jre1.6.0/bin/java
- /opt/jre1.6/bin/java
- /usr/jre1.6/bin/java
- /usr/local/jre1.6/bin/java
- /usr/java/jre1.6/bin/java
- /usr/local/bin/java
Vamos escolher um local para linkar. Sugiro escolher algo em /opt ou em /usr/local, uma vez que são caminhos próprios para aplicações locais (o sistema operacional não altera o conteúdo desses diretórios e as ações ocorridas dentro deles não influenciam no funcionamento do sistema). Assim, emiti o seguinte comando:
# ln -s /usr/lib/jvm/java-6-sun /opt/jre1.6
Com isso, executei novamente o instalador. Resultado:

Com certeza, esta dica servirá também para outras distribuições. Divirta-se com o seu imposto de renda!
————————————————
TWITTER: para saber sobre os meus livros e outras novidades, me siga em http://twitter.com/eribertomota. Prometo que serão mensagens esporádicas. Não pretendo anunciar cada soluço meu.
Tags:(104), /wizard.inf, 2010, Debian, error, imposto, imposto de renda, InstallShield, IRPF, java, Java(tm), Linux, ReceitaNet, ReceitaNet 2010, renda, Squeeze, Ubuntu, wizard
Um dos principais problemas do comando dd é fazer tudo em silêncio. Com isso, nunca sabemos o que está acontecendo. Uma solução é o comando dcfldd.
O dcfldd mostra o progresso de uma cópia e também calcula hashes. A sua sintaxe básica é idêntica ao do dd. Veja:
# dcfldd if=/dev/sdb of=imagem-hd.img
A diferença é que ele mostra o progresso da cópia. Veja outro exemplo:
canopus:~# dcfldd if=/dev/sda1 of=1GB_de_particao-windows.img bs=1MB count=1024
512 blocks (512Mb) written.
Ele também pode calcular hashes e faz isso enquanto copia os dados, tornando a operação muito mais rápida. Vamos ver os hashes MD5 (default), SHA1 e SHA512:
canopus:~# dcfldd if=/dev/sda1 of=1GB_de_particao-windows.img bs=1MB count=128 hash=md5,sha1,sha512
Total (md5): 7967be906cf636a47cccf1fae753ec27
Total (sha1): 8764f7bb5a8e7ffce331c20f24480523ac0a406c
Total (sha512): 12537e2268ad55533741317806c99d774461f7d3c0456197859410eff6a782135f99161d543c981d9b62d1bf6021be9caad8318dde422e7e2d3771c4793365b8
128+0 records in
128+0 records out
Se você quiser, ele coloca o resultado do hash dentro de um arquivo. Vamos fazer isso com o MD5 e o SHA512. O SHA1 vai apenas aperecer na tela. O comando final é o seguinte:
# dcfldd if=/dev/sda1 of=1GB_de_particao-windows.img bs=1MB count=128 hash=md5,sha1,sha512 md5log=particao.md5 sha512log=particao.sha512
Para medirmos a diferença de tempo entre o dd + cálculo de hash e o dcfldd, vamos emitir duas linhas de comando. A primeira:
canopus:~# time dd if=/dev/sda1 of=1GB_de_particao-windows.img bs=1MB count=128; time md5sum 1GB_de_particao-windows.img; time sha512sum 1GB_de_particao-windows.img
128+0 registros de entrada
128+0 registros de saída
128000000 bytes (128 MB) copiados, 1,89711 s, 67,5 MB/s
real 0m1.932s
user 0m0.000s
sys 0m0.688s
ebfad6c49d035bb6047f192e109a9676 1GB_de_particao-windows.img
real 0m0.549s
user 0m0.396s
sys 0m0.108s
82b67eadd8fe07ee4db737006f7aa8225936867cdc4f76bb9af618593d5a634c7e1cf8d5fdb5321a0e49f2db3be2ea2bb5d20a7d203ad6f9f3370cc85ac9a8a5 1GB_de_particao-windows.img
real 0m7.449s
user 0m7.180s
sys 0m0.132s
O tempo total foi (1.932 + 0.549 + 7.449) = 9.93s. Agora veja o dcfldd:
canopus:~# time dcfldd if=/dev/sda1 of=1GB_de_particao-windows.img bs=1MB count=128 hash=md5,sha512
Total (md5): 7967be906cf636a47cccf1fae753ec27
Total (sha512): 12537e2268ad55533741317806c99d774461f7d3c0456197859410eff6a782135f99161d543c981d9b62d1bf6021be9caad8318dde422e7e2d3771c4793365b8
128+0 records in
128+0 records out
real 0m7.523s
user 0m6.136s
sys 0m0.696s
Resultado: mais rápido! E isso fica mais evidente em imagens grandes. Bom proveito.
Tags:dcfldd, dd, Debian, Forense computacional, Linux, Segurança