Vulnerabilidade de Denial of Service no REXML - Atualizem seus Rails!

by AkitaOnRails on Aug.23.2008 at 09:42am

O Michael (provavelmente o Koziarski) avisou hoje no Riding Rails que a equipe do ruby-security publicou uma recomendação sobre um bug de DoS afetando usuários de REXML. A maioria das aplicações Rails que recebem input de XML são afetados por essa vulnerabilidade e todos são fortemente recomendados a tomar os passos para mitigar esse problema.

Para resumir:

Rails 2.0.2 e anteriores

  1. Copie este arquivo de correção em RAILS_ROOT/lib
  2. Coloque a linha require ‘rexml-expansion-fix’ no seu config/environment.rb

Rails 2.1.0 e Edge Rails

  • Copie este arquivo de correção em ‘RAILS_ROOT/config/initializers’, isso fará com que esse arquivo seja carregado automaticamente.

Lembrando que: RAILS_ROOT é o seu projeto Rails.

Segundo o Michael essa correção será disponibilizada como gem nas próximas 24 horas para facilitar a distribuição, esse post será atualizado com instruções de upgrade nesse momento. Mesmo assim ainda será necessário fazer o require a partir do seu environment.rb. A gem pode ser reconstruída a partir dos código-fonte caso você tenha uma VPS ou máquina que você mesmo administre. Se estiver numa hospedagem compartilhada execute agora mesmo a correção acima e atualize sua aplicação em produção.

Webcast #3: Deploying Rails na Locaweb

by AkitaOnRails on Aug.22.2008 at 05:25pm

Acabei de gravar o terceiro episódio do Webcast da Locaweb sobre Rails, ao vivo, com uma hora de duração. A gravação já está disponível neste link. Além disso fiquem sempre de olho nos próximos webcasts através do Blog da Locaweb. O legal de participar ao vivo é poder fazer perguntas em tempo real. Eu respondi várias perguntas hoje, espero que tenha conseguido solucioná-las.

Nesse webcast explico como funciona o sistema de deployment na Locaweb para Ruby on Rails e apresento ao vivo o funcionamento da gem akitaonrails-locarails que publiquei esses dias (ainda em fase experimental, portanto nada de abrir chamado para isso, mandem e-mail para mim ou comentem aqui no meu blog).

Ainda mostrei ao vivo o andLinux em funcionamento, mostrando como rodar Linux lado-a-lado com Windows, para aqueles que ainda se vêem obrigados a ter que rodar Windows.

Também falei rapidamente sobre cache no Rails onde mostrei este outro tutorial que publiquei ontem e ainda, num behind-the-scenes vocês viram a conta do akitaonrails.com sendo acessada via ssh :-)

Tutorial de Rails Caching - Parte 1

by AkitaOnRails on Aug.21.2008 at 07:02pm

Em fevereiro deste ano, o Gregg Pollack – do podcast RailsEnvy – publicou uma série em 2 partes sobre o sistema básico de cache do Rails. Resolvi traduzir uma parte porque vi muito pouca gente falando sobre isso e é algo muito importante.

Apesar do tutorial dele ser muito bom, não vou traduzí-lo ao pé-da-letra e sim adaptá-lo um pouco para torná-lo mais simples. Todo o código mostrado nesse artigo está disponível no Github

Cache é importante e, no Rails, é razoavelmente simples para a maioria dos casos. Continue lendo!

Rails Summit: Pagamento por Boleto

by AkitaOnRails on Aug.20.2008 at 12:16pm

Pessoal, mais uma novidade: estamos suportanto pagamento por boleto bancário agora para o Rails Summit. Quem não tinha como comprar por cartão de crédito agora tem mais esta opção:

E não se esqueçam, o preço promocional de R$ 300 vai só até 9 de setembro, depois vira para o preço normal de R$ 400.

Vamos lá pessoal, estamos próximos!!

Nova gem: Locarails :-)

by AkitaOnRails on Aug.19.2008 at 09:05pm

Pessoal, eu ainda estou batendo cabeça aqui na Locaweb – no bom sentido. Uma coisa que, como Gerente de Produtos, preciso fazer, é tentar tornar os produtos mais fáceis para os clientes. Então fiquei imaginando como um usuário que ainda não é avançado em Rails poderia tirar proveito da hospedagem da Locaweb sem precisar ter muito medo de errar alguma coisa.

Comecei pensando num tutorial etc. Mas resolvi ir um passo além e rapidamente montar uma nova gem, que chamei de Locarails. Ainda é um pouco crua. Para quem já entende: é um configurador automático de Capistrano. Nesta primeira versão estou usando apenas a estratégia de cópia – sem svn, nem git, por enquanto! Mas para iniciantes, já ajuda!

Só para ter uma idéia, partindo do princípio que você já tem uma aplicação Rails (e está em Linux! Eu não testei isso no Windows ainda!):


gem sources -a http://gems.github.com
sudo gem install akitaonrails-locarails

cd seu_projeto
locarails .
[... responder as questoes ...]
cap deploy:setup
cap deploy

Pronto! Só isso: criou a aplicação, contratou a hospedagem, rodou o locarails e já está online! A única coisa que (ainda) não é automática é apontar o dominio para o diretório, que é feito via Painel de Controle. Mas uma coisa de cada vez :-) Me digam o que acham.

Publiquei um tutorial um pouco maior do que este no Blog de Produtos da Locaweb.

Happy Hour de Railers de Sampa

by AkitaOnRails on Aug.15.2008 at 05:22pm

Pessoal, vamos marcar um Happy Hour de Railers de Sampa? Estou para propôr algo assim faz algum tempo. Será algo informal, não necessariamente um evento de programação. Será mais pra gente se conhecer, trocar idéias, falar de Ruby, Rails e afins.

Já falei com o Manoel Lemos – que prometeu tentar ir :-), o Fabio Kung também, o George Guimarães, o Carlos Brando. Vamos lá, todos que são blogueiros, programadores ou que apenas gostam de sair e conversar.

Vamos nos encontrar, no bom e velho Bar do Juarez, para um happy hour na sexta-feira que vem, dia 22 de agosto, a partir das 19hs. O endereço é Av. Juscelino Kubitschek, 1164 esquina com a Rua Atílio Inocenti, 303 (a rua das baladinhas da Vila Olímpia, acho que todos conhecem :-) Me procurem no segundo andar.

E aí? Quem vai? Comentem aqui no post. Valeu!

Internacionalização no Rails 2.2: Tutorial

by AkitaOnRails on Aug.14.2008 at 10:19pm

O Peter Cooper publicou hoje sobre um tutorial de Clemens Kofler sobre a nova funcionalidade de internacionalização (i18n) do futuro Rails 2.2. O interessante é que ele fez isso de uma maneira muito prática: fazendo o tutorial ser uma aplicação Rails executando exatamente como ele explica.

Achei a idéia muito legal e, graças ao Github, fiz um fork do projeto dele e já traduzi para português. Portanto vocês podem clonar diretamente do meu fork e já entender como tudo funciona :-) Apenas faça:


git clone git@github.com:akitaonrails/i18n_demo_app.git
cd i18n_demo_app
./script/server

Ou faça download do código-fonte zipado. De qualquer forma, basta abrir o browser depois de iniciar o servidor e carregar http://localhost:3000. Bom aprendizado!

Salvação para usuários Windows: andLinux!

by AkitaOnRails on Aug.14.2008 at 10:12pm

Hoje eu fiquei muito contente! Depois de muito quebrar cabeça para imaginar meios de um usuário Windows finalmente ter uma boa experiência com Rails, meu colega Juliano Martinez aqui na Locaweb me deu uma excelente solução: andLinux !!

Este artigo é especialmente para você, amigo desenvolvedor que infelizmente não tem como se liberar das amarras do Windows: seja porque sua empresa o obrigada a viver essa tortura, seja porque você depende de meia dúzia de aplicações que não existem no Linux, ou mesmo porque você não se sente seguro ainda para utilizar somente Linux. E, mesmo assim, gostaria muito de desenvolver aplicações Ruby on Rails.

Há anos eu tinha ouvido falar do projeto coLinux ou Cooperative Linux, que é uma kernel modificada de Linux feito para rodar lado-a-lado, cooperativamente, com o Windows. Mais do que isso, ele instala drivers especiais e roda com praticamente a mesma performance do que se fosse instalado sozinho. Antigamente – se não me falha a memória – ele tinha uma limitação de apenas conseguir usar 64 Mb de RAM. Mas não mais: agora ele suporta até pelo menos 1 Gb de RAM.

Veja na imagem abaixo meu desktop Windows – não! eu continuo usando meu Macbook Pro, mas por acaso tem um PC do meu lado … – com gVim, Windows Explorer, Synaptic, o painel do XFCE, todos rodando lado-a-lado!

O andLinux usa o coLinux e empacota tudo de maneira super simples e trivial de se usar. Na atual versão ele te dá um ambiente Ubuntu Gutsy Gibbons completo! Ele tem duas versões: uma maior de 653 Mb já com KDE pré-instalado e outra mais minimalista de apenas 113 MB com XFCE. Recomendo essa última versão.

Lançados: novos Ruby Enterprise Edition e Passenger

by AkitaOnRails on Aug.10.2008 at 01:27pm

Eu estava conversando com o Hongli Lai sobre isso esse fim de semana, e ele publicou hoje como tinha me dito: um novo Ruby Enterprise Edition

Vocês vão se lembrar que quando surgiu a primeira leva de vulnerabilidades recentes, tivemos o seguinte problema: se você atualizasse para o patchlevel com as correções, corria o risco de ter suas aplicações quebrando, pois esse patchlevel não era 100% compatível com o 1.8.6-p114 que estávamos acostumados.

O que aconteceu foi que cada distro teve que fazer o backport apenas das correções de segurança de volta para o patchlevel 114. A Phusion™ foi uma das que fizeram o fork e o backport. Agora, foi descoberta mais uma vulnerabilidade, conforme reportado pelo Peter Cooper.

A correção está no patchlevel oficial 286 (ou patchlevel 70, no caso do 1.8.7). Será que vamos ter o mesmo problema? Foi o que indaguei com o Hongli e pelo visto ele também ficou curioso.

Ele testou o patchlevel 286 contra várias suítes de teste, incluindo a do RubySpec e deles próprio, e a conclusão foi que o patchlevel 286, ao contrário do desastrado 114, está sim estável. Portanto as distros podem retornar a acompanhar o branch oficial a partir desse patchlevel sem problemas. A Phusion™ fez isso e já lançou o Enterprise Editon baseado nesse branch.

Eu estou, inclusive, usando o Enterprise Edition como meu Ruby padrão no meu Mac e até agora tudo funcionou muito bem.

Fora isso, semana passada a Phusion™ tinha lançado o Passenger™ 2.0.3. Tem pequenas correções de bugs e algumas pequenas otimizações. Claro, a Locaweb já está instalando essas novas atualizações em todas as suas máquinas ;-)

LocawebCast + França! :-)

by AkitaOnRails on Aug.07.2008 at 04:53pm

Eu sei, eu sei, título meio nada a ver mas só para anunciar duas notícias diferentes no mesmo post :-)

Primeiro, eu esqueci (sorry) de publicar a segunda parte do Webcast de Rails no Windows que fiz na Locaweb. O link é este. Só se lembrem de desligar o bloqueador de pop-up do seu browser, ou de autorizar essa URL.

Segundo, o Pierre Yager traduziu meu tutorial de Rails 2.1 para francês! Aqui vai a Parte 1 e Parte 2

Continuo na correria, melhorando nossa offering de Rails aqui na Locaweb, um monte de coisas a se fazer para o Rails Summit. Inclusive, quem se inscreveu e ainda não recebeu e-mail, não se preocupe: vocês vão receber provavelmente a partir da semana que vem (provavelmente segunda-feira) mesmo.

Rails Summit na Linux Magazine!

by AkitaOnRails on Aug.06.2008 at 12:03pm

Esta semana saiu na bancas o primeiro anúncio impresso da Rails Summit Latin America na Linux Magazine !! Dêem uma olhada:

Vamos participar pessoal! :-)

Ruby on Rails em produção na Locaweb!

by AkitaOnRails on Aug.05.2008 at 07:29pm

Galera, vocês sabem que estamos há algum tempo com o Trial de Rails aqui na Locaweb. Como eu disse antes o principal é que meu objetivo não é só oferecer produtos: graças aos esforços da Phusion, isso ficou muito mais fácil agora para todos nós. O objetivo é auxiliar o mercado Rails a realmente ganhar asas.

Sexta-feira passada, colocamos o site de registro para o Rails Summit Latin America e agora estamos finalmente lançando o suporte oficial a Ruby on Rails na Locaweb!

Sim, é com Passenger + Ruby Enterprise Edition, temos mais de 430 RubyGems pré-instaladas, se existir mais que são importantes por favor nos digam que podemos considerar colocar, mas vocês também sabem que é possível congelar as gems localmente no seu projeto Rails. Mais do que isso: nós temos suporte a múltiplas aplicações Rails na mesma hospedagem !!

Para entender como colocar suas aplicações Rails na hospedagem da Locaweb, veja este post que acabei de publicar com as instruções!

Não existe empresa de hosting mais comprometida com Ruby on Rails do que nós, isso eu garanto. E, claro, meu e-mail continua aberto para quaisquer dúvidas. Não deixem de entrar em contato: fabio.akita@locaweb.com.br

Largada para o Maior Evento de Rails da América Latina!

by AkitaOnRails on Aug.01.2008 at 06:41pm

Foi dada a largada rumo ao maior evento de Ruby on Rails da América Latina!

Latin Americans: Please, wait a few more days until we finish configuring our system to support international credit cards. I think that in less than a week we will have the international version ready. Thanks!

O Rails Summit Latin America reunirá alguns dos maiores nomes do Brasil e do mundo, nos dias 15 e 16 de Outubro deste ano, o dia inteiro, das 8 da manhã às 8 da noite.

O preço é de R$ 400, mas por um período limitado teremos o preço promocional de R$ 300. A expectativa é termos pelo menos 650 pessoas no evento. Um mês antes, abriremos vagas limitadas para estudantes, com preço de R$ 200. Reserve sua inscrição agora !!

O pagamento será feito inicialmente por cartão de crédito apenas, mas em menos de uma semana abriremos o suporte a boleto bancário também.

RAILS SUMMIT LATIN AMERICA 2008

by AkitaOnRails on Jul.13.2008 at 01:05pm

Español

Como algunos de ustedes ya sabrán, aquí en Brasil estamos organizando un gran evento llamado Rails Summit Brazil, inspirado por el RailsConf original. Locaweb, el proveedor de hosting más grande de Brasil, es la principal empresa responsable de hacer que este evento sea tan importante como el RailsConf oficial.

Pero queremos ir un paso más lejos y talvez renombrar el evento y llamarlo “Rails Summit Latin America”! Esto significaría tener traducción simultánea de inglés y portugués al español durante el evento. Tendremos algunos de los Railers más importantes en la comunidad internacional como David Hansson, Charles Nutter, Chad Fowler, Dr. Nic, Chris Wanstrath, David Chelinsky y muchos más, en 2 días completos, con 2 sesiones paralelas, incluyendo los almuerzos y los cofee breaks por R$ 300 (unos USD 190).

Diego Algorta ha colaborado creando una encuesta para intentar tener una mejor idea de cuántos railers de habla hispana vendrían al evento. Así que si eres de Argentina, Chile, Mexico, Uruguay o cualquier otro país de América Latina, por favor, ayúdanos a divulgar el evento y la encuesta. Escribe un post, escribe en tus listas de correo regionales. Esta es la oportunidad para realmente lograr tener la 3er gran conferencia tipo RailsConf en el mundo!

E una novedad: Luis Lavena aceptó la invitación para ser uno de oradores del evento también! Así que ahora tenemos una excelente representante de América Latina y también un representante de desarrolladores Ruby de Windows!

Tradução em português and English translation

Piloto: Locaweb Webcasts

by AkitaOnRails on Jul.11.2008 at 10:21pm

Atualização 26/6: Acompanhem neste link o segundo episódio do meu Webcast além dos outros que já foram gravados na Locaweb.

Hoje participei de mais uma nova iniciativa da Locaweb: Webcasts. Se não me engano toda semana eles gravarão palestras ou tutoriais sobre vários temas. Hoje gravei o primeiro episódio introdutório sobre Ruby on Rails.

Ultimamente estou numa grande correria, muitas coisas a se fazer e nessa o blog acabou ficando estagnado. Mas pretendo corrigir isso muito em breve! Enquanto isso não deixem de acompanhar também o blog da Locaweb. O pessoal lá é muito mente aberta, está por dentro do que tem de mais novo e está se movendo rápido. Para ter uma idéia nunca nos comparamos com as empresas daqui, estamos sempre acompanhando de perto o que está sendo feito lá fora. Claro que demora um pouco para tudo isso se refletir nos produtos que vocês vêem agora mas posso garantir que novidades estão para sair do forno! E não estou dizendo só de Ruby on Rails!

O webcast de hoje foi gravado e está disponível a todos neste link. Semana que vem, dia 18, continuarei com o segundo episódio. Não percam, não é sempre que vocês me verão pilotando um Windows! :-) Mas se inscrevam antes, pois quando o webcast começa a sala se fecha.

Este ainda é um projeto piloto e temos muito a melhorar. Não deixem de comentar lá suas sugestões e críticas também.

Nos vemos em breve com mais novidades!

Rails Summit Latin America
Recommend me at Working with Rails
Vote no Rails Podcast Brasil!
Leia a tradução do livro Getting Real
Peepcode Supports AkitaOnRails.com
Compre Repensando a Web com Rails