sexta-feira, 27 de fevereiro de 2009

Evento: Ruby e Rails no mundo Real 2009

São Paulo - SP
4 de abril
das 9h00 às 18h00
Inédito!


Para quem Trabalha
com Desenvolvimento
de Software
Imperdível

Primeiro grande evento de comunidade de Ruby e Rails do Brasil. A plataforma de software que está mudando o mundo!
Importantes personalidades nacionais desse mercado com projetos e experiências reais!

Público Alvo:
Desenvolvedores web e desktop, administradores de servidores de aplicação, entusiastas de tecnologias open source.

Requisitos Básicos:
Experência em Desenvolvimento de Software

O primeiro grande evento das comunidade ?GURU-SP e Rails-BR apresentará algumas das mais importantes personalidades nacionais desse mercado com projetos e experiências reais.

O seminário falará sobre temas do dia a dia, como controle de versão, testes, treinamentos, servidores de aplicação e mercado de trabalho (tanto interno como externo).

Este evento também contará com a presença da equipe técnica da Sun Microsystems, apresentando como utilizar o servidor de aplicações GlassFish em aplicações Rails.

É um evento imperdível pra quem trabalha com desenvolvimento de software e quer conhecer mais sobre a plataforma de software que está mudando rapidamente o mundo.


Palestras e Palestrantes
Criando um Instant Messenger usando Rails Vinícius Baggio


Ruby, Rails e empreendedorismo, Hugo Borges

Integrando Ruby e Java para facilitar a vida, Marcelo Castellani



Outsorcing, ou como trabalhar para empresas gringas, Rodrigo Franco



GlassFish on Rails: Escalabilidade e Confiabilidade, Maurício Leal

Só imaturos não testam, Carlos Brando


O que é e como funciona o RubyLearning, Willian Molinari


Utilizando Gitorious nos seus projetos, Fabio Akita


Clique aqui e conheça detalhes acerca da programação, palestras e palestrantes!

Aumentando a vida útil dos HDs


Recentemente, uma notícia no br-linux alertou sobre a possibilidade do gerenciamento de energia de algumas distribuições GNU/Linux, do Ubuntu em especial, estarem reduzindo a vida útil dos discos rígidos (HDs). Como noticiado em diversos sites da internet [1,2], isto não é um bug do Ubuntu. Na verdade, o Ubuntu apenas segue as recomendações equivocadas fornecidas pelos próprios fabricantes de notebooks e desktops. Neste artigo, o problema é explicado em detalhes e uma solução bastante simples é apresentada. Esta é baseada em um script que necessita ser executado uma única vez e faz todo o trabalho para correção do problema. Além disso, o artigo termina fazendo uma breve discussão sobre o pacote smartmontools que monitora o estado do HD e informa quando este está na eminência de sofrer alguma falha.
Veja o artigo completo no Alex's Weblog

segunda-feira, 16 de fevereiro de 2009

Vem ai ... III Encontro Nordestino de Software Livre - Salvador/BA

"O Festival Software Livre da Bahia realiza sua 4ª edição, em conjunto com o 3º Encontro Nordestino de Software Livre e a Edição 2009 do Festival Lationamericano de Instalação de Software Livre, convoca a comunidade à contribuir para sua já reconhecida programação de alta qualidade. Para tanto, esta chamada de trabalhos tem o objetivo de informar como a comunidade pode contribuir com palestras para este grande evento."

Maiores informações: http://festival.softwarelivre.org

Melhor Antivirus de 2008


Dica de Humberto Caetano

Dicas de Site: Dicas para um bom Sysadmin


Para quem quer se aventurar ou já é da área, vale dar uma olhada nesta série de artigos do blogueiro Guravehaato.

http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin/

http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-2/
http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-3/
http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-4/
http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-5/
http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-6/
http://www.guravehaato.info/geek-life/dicas-para-um-bom-sysadmin-parte-7/

sexta-feira, 6 de fevereiro de 2009

Eu Cavo, Tu Cavas, Ele Cava... Tutorial de DIG


O DIG é um grande canivete suíço para quem está querendo fazer auditorias em um servidor DNS e testar suas configurações. No caso para quem usa o Windows, ele vem para substituir o nslookup. Abaixo seguem algumas dicas e comandos para você testar suas configurações (e os dos outros também) de dns. DIG quer dizer cavar!!! Então vamos lá começar a esburacar a internet!!!

Instalação:

Se você utiliza linux, a maioria das distribuições já trazem o dig instalado, mas por via das dúvidas, você pode usar seu gerenciador de pacotes prediletos e instalar.

Ex:
No Debian, Ubuntu e Derivados
# apt-get install dnsutils

Gentoo
# emerge dnsutils

Mandriva
# urpmi dnsutils

RedHat, Fedora e CentOS
# yum install dnsutils

No Windows:
Também dá para usar o dig no Windows. Para isso, baixe o seguinte programa: http://members.shaw.ca/nicholas.fong/dig/dig-files.zip e descompacte em uma pasta, por exemplo c:\dig

Abaixo, vou listar a instalação no Windows Vista, XP e 2000. Não esqueça que você não pode usar o notepad (bloco de notas) para editar esse arquivo, pois ele vai colocar em formato DOS e o dig não conseguirá ler. Use o NOTEPAD++ para isso. http://sourceforge.net/project/downloading.php?groupname=notepad-plus&filename=npp.5.1.3.Installer.exe&use_mirror=ufpr

Se você usa Windows Vista (Haja Coragem!!)
Crie o arquivo resolv.conf em %systemroot%\System32\Drivers\Etc, onde %systemroot% é a pasta de instalação do Windows.
Ex:
c:\windows\System32\Drivers\Etc\resolv.conf
Dentro do resolv.conf coloque apenas o ip do seu servidor DNS da seguinte forma:
nameserver 192.168.0.1
Teste com o comando dig www.uol.com.br +noall +answer e veja se o resultado é semelhante a este:
www.uol.com.br. 48 IN A 200.221.2.45
www.uol.com.br. 48 IN A 200.98.249.120

Se você usa o Windows XP, Windows 2000 ou 2003 Server
Abra o arquivo que resolv.conf que está na pasta c:\dig e substitua o 198.80.55.1 pelo ip do seu servidor DNS.

Teste com o comando
dig www.uol.com.br +noall +answer
e veja se o resultado é semelhante a este:
www.uol.com.br. 48 IN A 200.221.2.45
www.uol.com.br. 48 IN A 200.98.249.120

Caso não funcione, apague o conteúdo do arquivo, deixe ele em branco.
Teste com o comando
dig www.uol.com.br +noall +answer
e veja se o resultado é semelhante a este:

www.uol.com.br. 48 IN A 200.221.2.45
www.uol.com.br. 48 IN A 200.98.249.120

Caso não funcione
Crie o arquivo resolv.conf em %systemroot%\System32\Drivers\Etc, onde %systemroot% é a pasta de instalação do Windows.
Ex:
c:\windows\System32\Drivers\Etc\resolv.conf
Dentro do resolv.conf coloque apenas o ip do seu servidor DNS da seguinte forma:
nameserver 192.168.0.1
Teste com o comando
dig www.uol.com.br +noall +answer
e veja se o resultado é semelhante a este:

www.uol.com.br. 48 IN A 200.221.2.45 www.uol.com.br. 48 IN A 200.98.249.120

Obs: O Artigo vai trazer uma série de comandos com resultados e explicações. No fim do artigo, vou colocar somente os comandos (para os mais apressadinhos).

Consulta simples:
# dig www.dailson.com.br

 O Resultado:
dailson@dailson:~/site/copias$ dig dailson.com.br
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61275
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;dailson.com.br.                        IN      A

;; ANSWER SECTION:
dailson.com.br.         486     IN      A       208.98.47.3

;; AUTHORITY SECTION:
dailson.com.br.         486     IN      NS      ns5.dsgx.org.
dailson.com.br.         486     IN      NS      ns4.dsgx.org.

;; ADDITIONAL SECTION:
ns4.dsgx.org.           21641   IN      A       208.98.47.5
ns5.dsgx.org.           21641   IN      A       208.98.47.6

;; Query time: 4 msec
;; SERVER: 192.168.20.1#53(192.168.20.1)
;; WHEN: Fri Nov 21 12:22:39 2008
;; MSG SIZE  rcvd: 124



# dig dailson.com.br +noall +answer

A Resposta sem mais delongas é:
dailson.com.br. 179 IN A 208.98.47.3

O que podemos fazer o com DIG?

Quero saber, quem são os servidores de nomes do yahoo

# dig yahoo.com

;; QUESTION SECTION:
;yahoo.com.                     IN      A

;; ANSWER SECTION:
yahoo.com.              21558   IN      A       68.180.206.184
yahoo.com.              21558   IN      A       206.190.60.37

;; AUTHORITY SECTION:
yahoo.com.              558     IN      NS      ns4.yahoo.com.
yahoo.com.              558     IN      NS      ns5.yahoo.com.
yahoo.com.              558     IN      NS      ns6.yahoo.com.
yahoo.com.              558     IN      NS      ns8.yahoo.com.
yahoo.com.              558     IN      NS      ns1.yahoo.com.
yahoo.com.              558     IN      NS      ns2.yahoo.com.
yahoo.com.              558     IN      NS      ns3.yahoo.com.

;; ADDITIONAL SECTION:
ns1.yahoo.com.          70933   IN      A       68.180.131.16
ns2.yahoo.com.          69243   IN      A       68.142.255.16
ns3.yahoo.com.          69243   IN      A       217.12.4.104
ns5.yahoo.com.          69243   IN      A       119.160.247.124
ns6.yahoo.com.          75765   IN      A       202.43.223.170
ns8.yahoo.com.          75765   IN      A       202.165.104.22

Quero saber quem são os servidores de email do yahoo


# dig yahoo.com MX

;; QUESTION SECTION:
;yahoo.com.                     IN      MX

;; ANSWER SECTION:
yahoo.com.              7198    IN      MX      1 g.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 a.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 b.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 c.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 d.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 e.mx.mail.yahoo.com.
yahoo.com.              7198    IN      MX      1 f.mx.mail.yahoo.com.

;; AUTHORITY SECTION:
yahoo.com.              488     IN      NS      ns3.yahoo.com.
yahoo.com.              488     IN      NS      ns4.yahoo.com.
yahoo.com.              488     IN      NS      ns5.yahoo.com.
yahoo.com.              488     IN      NS      ns6.yahoo.com.
yahoo.com.              488     IN      NS      ns8.yahoo.com.
yahoo.com.              488     IN      NS      ns1.yahoo.com.
yahoo.com.              488     IN      NS      ns2.yahoo.com.

;; ADDITIONAL SECTION:
a.mx.mail.yahoo.com.    1798    IN      A       67.195.168.31
b.mx.mail.yahoo.com.    1798    IN      A       66.196.97.250
c.mx.mail.yahoo.com.    1798    IN      A       216.39.53.3
c.mx.mail.yahoo.com.    1798    IN      A       216.39.53.2
d.mx.mail.yahoo.com.    1798    IN      A       66.196.82.7
e.mx.mail.yahoo.com.    1798    IN      A       216.39.53.1
f.mx.mail.yahoo.com.    1798    IN      A       209.191.88.247
f.mx.mail.yahoo.com.    1798    IN      A       68.142.202.247
g.mx.mail.yahoo.com.    1798    IN      A       209.191.118.103
g.mx.mail.yahoo.com.    1798    IN      A       206.190.53.191
ns1.yahoo.com.          70863   IN      A       68.180.131.16
ns2.yahoo.com.          69173   IN      A       68.142.255.16
ns3.yahoo.com.          69173   IN      A       217.12.4.104
ns5.yahoo.com.          69173   IN      A       119.160.247.124
 

Para saber quem tem autoridade sobre o domínio yahoo.com (de forma simplificada)

# dig yahoo.com NS +noall +answer

yahoo.com.              32      IN      NS      ns6.yahoo.com.
yahoo.com.              32      IN      NS      ns8.yahoo.com.
yahoo.com.              32      IN      NS      ns1.yahoo.com.
yahoo.com.              32      IN      NS      ns2.yahoo.com.
yahoo.com.              32      IN      NS      ns3.yahoo.com.
yahoo.com.              32      IN      NS      ns4.yahoo.com.
yahoo.com.              32      IN      NS      ns5.yahoo.com.
 

Veja que só foi listado os nameservers

Agora só os servidores de email


# dig yahoo.com MX +noall +answer

yahoo.com.              6716    IN      MX      1 f.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 g.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 a.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 b.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 c.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 d.mx.mail.yahoo.com.
yahoo.com.              6716    IN      MX      1 e.mx.mail.yahoo.com.
 

Agora uma consulta generalizada, vamos pedir para o servidor listar tudo:

# dig yahoo.com ANY +noall +answer

yahoo.com.              172792  IN      NS      ns3.yahoo.com.
yahoo.com.              172792  IN      NS      ns4.yahoo.com.
yahoo.com.              172792  IN      NS      ns5.yahoo.com.
yahoo.com.              172792  IN      NS      ns1.yahoo.com.
yahoo.com.              172792  IN      NS      ns2.yahoo.com.
yahoo.com.              6668    IN      MX      1 e.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 f.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 g.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 a.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 b.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 c.mx.mail.yahoo.com.
yahoo.com.              6668    IN      MX      1 d.mx.mail.yahoo.com.
yahoo.com.              20958   IN      A       206.190.60.37
yahoo.com.              20958   IN      A       68.180.206.184
 

Ai você me diz que quer listar não só os NS (Name Server), A (Address) e servidores de email MX (Mail eXchange). Mas gostaria de ver toda a base de endereços do yahoo... Bom... isso só é possível se o administrador cochilou na configuração do DNS e deixou aberto. Mas você pode começar a tentar, e ver que tem alguns servidores ai que permitem isso.
Na verdade, para consultar, você tem que tentar fazer um XFER, uma transferência de zona, e se passar por um servidor DNS secundário.
No yahoo não funciona. O comando é o seguinte...

# dig yahoo.com AXFR

; <<>> DiG 9.4.1-P1.1 <<>> yahoo.com AXFR
;; global options:  printcmd
; Transfer failed.

ou ainda você pode tentar se passar pelo próprio yahoo.com, dizendo que é o próprio servidor secundário, dessa forma;


# dig -t AXFR yahoo.com @ns2.yahoo.com
# dig -t AXFR yahoo.com @ns3.yahoo.com
# dig -t AXFR yahoo.com @ns4.yahoo.com
# dig -t AXFR yahoo.com @ns5.yahoo.com
 

eja que ele não permitiu, mas achei um que vacilou e deixou toda a base
Teste você mesmo:

# dig -t axfr inter.net @ns02.eusc.inter.net

Mais um de bonus para vc ;)

# dig @luit.iitg.ernet.in iitg.ernet.in axfr

Listando os Servidores que já tem endereços IPV6 na sua base.

# dig yahoo.com AAAA

;; QUESTION SECTION:
;yahoo.com.                     IN      AAAA

;; AUTHORITY SECTION:
yahoo.com.              600     IN      SOA     ns1.yahoo.com. hostmaster.yahoo-inc.com. 2008112104 3600 300 1814400 600

;; Query time: 328 msec
;; SERVER: 192.168.20.1#53(192.168.20.1)
;; WHEN: Fri Nov 21 13:52:55 2008
;; MSG SIZE  rcvd: 88

 

Veja que não apareceu a sessão ANSWER (Resposta), ou seja o yahoo ainda não tem registros IPV6 abertos, e pesquisei em vários outros provedores como gmail.
Fui achar registros AAAA nos orgãos oficiais como iana e isc.

# dig iana.org AAAA

;; ANSWER SECTION:
iana.org.               600     IN      AAAA    2620:0:2d0:1::193

# dig isc.org AAAA

;; ANSWER SECTION:
isc.org.                3600    IN      AAAA    2001:4f8:0:2::d
 


De acordo com as páginas de manual a opção +multiline você obtem as respostas dos Registros SOA de modo detlhado, semelhante a maneira que você escreve os arquivos do bind, listando o serial, a atualização (refresh), a nova tentantiva de acesso (retry), a expiração registro e o tempo de vida da tabela (minimum)

# dig +nocmd dsgx.org any +multiline

;; ANSWER SECTION:
dsgx.org.               17600 IN A 208.98.47.2
dsgx.org.               300 IN MX 10 mail.dsgx.org.
dsgx.org.               300 IN SOA ns. root.dsgx.org. (
                                998        ; serial
                                10800      ; refresh (3 hours)
                                120        ; retry (2 minutes)
                                259200     ; expire (3 days)
                                86400      ; minimum (1 day)
                                )

 

Outro Exemplo:

# dig +nocmd og.edu any +multiline

;; AUTHORITY SECTION:
edu.                    10711 IN SOA L3.NSTLD.COM. NSTLD.VERISIGN-GRS.COM. (
                                2008112100 ; serial
                                1800       ; refresh (30 minutes)
                                900        ; retry (15 minutes)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )

 

Fazendo um Traceroute de DNS.

Essa é um ótimo comando. Ele exibe toda a rota que o DNS fez para conseguir o IP do nome desejado, semelhante ao comando traceroute.
Vejamos um exemplo:

# dig www.uol.com.br +trace

# dig www.uol.com.br +trace
; <<>> DiG 9.4.1-P1.1 <<>> www.uol.com.br +trace
;; global options:  printcmd
.                       341189  IN      NS      j.root-servers.net.
.                       341189  IN      NS      b.root-servers.net.
.                       341189  IN      NS      h.root-servers.net.
.                       341189  IN      NS      m.root-servers.net.
.                       341189  IN      NS      l.root-servers.net.
.                       341189  IN      NS      f.root-servers.net.
.                       341189  IN      NS      k.root-servers.net.
.                       341189  IN      NS      g.root-servers.net.
.                       341189  IN      NS      d.root-servers.net.
.                       341189  IN      NS      e.root-servers.net.
.                       341189  IN      NS      c.root-servers.net.
.                       341189  IN      NS      i.root-servers.net.
.                       341189  IN      NS      a.root-servers.net.
;; Received 500 bytes from 192.168.20.1#53(192.168.20.1) in 5 ms

br.                     172800  IN      NS      C.DNS.br.
br.                     172800  IN      NS      A.DNS.br.
br.                     172800  IN      NS      D.DNS.br.
br.                     172800  IN      NS      B.DNS.br.
br.                     172800  IN      NS      F.DNS.br.
br.                     172800  IN      NS      E.DNS.br.
;; Received 284 bytes from 192.33.4.12#53(c.root-servers.net) in 312 ms

uol.com.br.             86400   IN      NS      thomas.uol.com.br.
uol.com.br.             86400   IN      NS      eliot.uol.com.br.
uol.com.br.             86400   IN      NS      charles.uol.com.br.
uol.com.br.             86400   IN      NS      borges.uol.com.br.
;; Received 180 bytes from 200.219.159.10#53(F.DNS.br) in 518 ms

www.uol.com.br.         300     IN      A       200.98.249.120
www.uol.com.br.         300     IN      A       200.221.2.45
uol.com.br.             3600    IN      NS      borges.uol.com.br.
uol.com.br.             3600    IN      NS      eliot.uol.com.br.
;; Received 137 bytes from 200.98.255.99#53(charles.uol.com.br) in 199 ms


Veja que a rota começou pelos servidores raizes, que repassou para os servidores do registro.br e depois foi repassado aos servidores do UOL. Faça vários testes, você verá que realmente o TCP/IP é um protocolo e tanto!

Descobrindo as propriedades do SOA de um Domínio.

Este comando exibe as propriedades de quem tem autoridade sobre um dominio (SOA).

# dig uol.com.br +nssearch

# dig uol.com.br +nssearch

SOA eliot.uol.com.br. root.uol.com.br. 2009010601 7200 3600 432000 3600 from server eliot.uol.com.br in 210 ms.
SOA eliot.uol.com.br. root.uol.com.br. 2009010601 7200 3600 432000 3600 from server borges.uol.com.br in 175 ms.


Descobrindo se seu servidor DNS está vulnerável.
Para saber se seu servidor DNS está vulnerável, execute o seguinte comando:

# dig +short @SeuServidorDNS porttest.dns-oarc.net TXT

Você pode testar, no seu próprio servidor DNS, desta forma:

# dig +short @127.0.0.1 porttest.dns-oarc.net TXT
porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"200.xxx.xx.xx is POOR: 26 queries in 5.0 seconds from 1 ports with std dev 0"

Veja que o resultado do servidor DNS é POOR, ou seja, muito ruim! E seu servidor DNS está vulnerável a ataques.

Porém se o resultado for como este abaixo:

porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
"200.XXX.XXX.XXX is GREAT: 32 queries in 57.7 seconds from 32 ports with std dev 5625″

Fique tranquilo, você está protegido, pelo menos por enquanto...

Resumo dos Comandos Utilizados no tutorial:

Consulta completa:
# dig www.dailson.com.br

Consulta simplificada:
# dig dailson.com.br +noall +answer

Consulta aos servidores de Nomes do Yahoo
# dig yahoo.com

Quero saber quem são os servidores de email do yahoo
# dig yahoo.com MX

Para saber quem tem autoridade sobre o domínio yahoo.com (de forma simplificada)
# dig yahoo.com NS +noall +answer

Agora só os servidores de email
# dig yahoo.com MX +noall +answer

Agora uma consulta generalizada, vamos pedir para o servidor listar tudo:
# dig yahoo.com ANY +noall +answer
# dig yahoo.com AXFR
# dig -t AXFR yahoo.com @ns2.yahoo.com
# dig -t AXFR yahoo.com @ns3.yahoo.com
# dig -t AXFR yahoo.com @ns4.yahoo.com
# dig -t AXFR yahoo.com @ns5.yahoo.com

Transferindo Zona:
# dig -t axfr inter.net @ns02.eusc.inter.net
# dig @luit.iitg.ernet.in iitg.ernet.in axfr

Listando os Servidores que já tem endereços IPV6 na sua base.
# dig yahoo.com AAAA
# dig iana.org AAAA
# dig isc.org AAAA

Trazendo o resultado no formato Bind
# dig +nocmd dsgx.org any +multiline
# dig +nocmd og.edu any +multiline

Fazendo um Traceroute de DNS.
# dig www.uol.com.br +trace

Descobrindo as propriedades do SOA de um Domínio.
# dig uol.com.br +nssearch

Referencias:

http://hostlibrary.com/HowtocheckyourDNSrecordswithdig
http://www.madboa.com/geek/dig/
http://members.shaw.ca/nicholas.fong/dig/
http://serghei.net/windows/dig/
http://articles.techrepublic.com.com/5100-10878_11-5032892.html