Back-up Cast #007: Facebook + Instagram!!

Acreditem ou não, quatro anos depois, resolvi fazer mais uma experiência no mundo dos podcasts!!

Acontece que, organizando os arquivos no meu servidor, acabei encontrando as gravações de 2008 — que eu ainda estou restaurando para que fiquem novamente online — e me bateu uma vontade de saber como seria gravar alguma coisa depois de alguns anos.

O resultado? Expus uma breve opinião sobre o bilionário revém-negócio de aquisição do Instagram pelo Facebook. Nada muito longo, nada sofisticado: Gravado via iPhone com edição no Audacity.

Quem gostar, comenta. Quem não gostar, também. Quem sabe volto a usar esta forma de comunicação com mais frequência de novo?

Audio: please specify correct url

Dois passos a seguir se você for atacado por um hack eval(base64

Para minha mais completa infelicidade, encontrei esta semana indícios de que eu — e este humilde blog —continuamos a ser vítimas de ataques de .

Mas você pode estar se perguntando como se faz para descobrir que você foi vítima de um ataque de script injection.

Bom, é fato que a maneira mais desagradável possível aconteceu comigo: Tentei acessar meu site um belo dia e descobri , informando que o site é inseguro. Daí precisei tomar uma série de medidas, entre as quais estas que estão descritas aqui, para recuperar tudo. Para que isso não aconteça com você, é importante examinar seu site periodicamente, tal como quando executamos anti-vírus em nossos computadores. Dois plugins que podem ser úteis neste caso são o Exploit Scanner e o Antivirus, sendo que confesso que prefiro o primeiro, por sua riqueza de informações. Também pode ser uma boa ideia utilizar o Sucuri Site Check, que informa a situação atual do seu site sob o ponto de vista de diversos sites especializados (há um plugin para WordPress que traz esta varredura para dentro do painel de administração, também).

Bom… se você, assim como eu, se deparar com alguma evidência de ataque, ou, no mínimo, com algum sintoma suspeito, pode seguir dois passos simples. Mas aviso que será necessário se munir de toda a paciência possível e fazer aquilo que eu acredito que seja a única opção plausível em uma situação destas: Executar alguns comandos diretamente no servidor via , para acabar com alguns comportamentos inadequados.

Se você quer uma dica de ferramenta para utilizar em uma conexão telnet (ou SSH, seu substituto mais recente e mais seguro), experimente o Putty. Para continuar a escrever este texto, assumirei que você já possui o Putty, ou outra ferramenta similar para o processo, e usarei minha própria experiência aqui no site como base.

Primeiro passo: Acabe com os arquivos world-writable

Antes de qualquer coisa, dado que fazia um boooooom tempo que eu não acessava minha conta e meus arquivos hospedados, resolvi dar uma olhada para ver se alguma de minhas pastas era, digamos, world-writable — ou seja, será que alguém do mundo exterior conseguiria alterar meus arquivos? Isto seria um enorme pecado. Para descobrir isso, já conectado ao servidor, executei a seguinte instrução:

[code lang="bash"]find . -type d -perm -o=w[/code]

E, não é que, infelizmente, encontrei ? Para evitar que pessoas do mal pudessem continuar fazendo o que bem entendessem por aqui, executei mais um comando, para que as permissões dos arquivos em questão fossem alteradas, bloqueando o acesso do mundo exterior:

[code lang="bash"]find . -type d -perm -o=w -print -exec chmod 770 {} \;[/code]

Segundo passo: Detecte quais são as infecções e as elimine

Dado que já suspeitava de que haviam arquivos vitimados com script injection, resolvi que seria importante saber quais eram os infectados. Arquivos infectados com script injection possuem linhas em seu conteúdo — geralmente no topo do arquivo, no final do arquivo, ou logo após a abertura da tag <html> — que se assemelham ao seguinte:

[code lang="php"]<!--?php /**/ //eval(base64_decode("aWYoZnVuY3Rpb25fZ....[/code]

Um comando útil para listar que arquivos são os que contém o script injection é o seguinte:

[code lang="bash"]grep -lr --include=*.php "eval(base64_decode" /caminho/do/seu/servidor[/code]

Se o output deste comando for diferente de nulo, como foi no meu caso, com mais de mil arquivos listados, pode ter certeza de que há script injection na parada. Mas não há problema, você pode se livrar desses arquivos facilmente. Basta executar um pequeno script de uma linha em perl — através da própria sessão aberta via telnet:

[code lang="perl"]for f in `find . -name "*.php"`; do perl -p -i.bak -e 's/<\?php \/\*\*\/ eval\(base64_decode\(\"[^\"]+"\)\);\?>//' $f; done[/code]

O resultado deste script será a eliminação de todas as linhas, em todos os arquivos com extensão php, do trecho de código inserido através do script injection. O processo gerará arquivos de backup como resultado — vários arquivos com a extensão bak. Isso porquê, se algo der errado e você , você ainda terá os arquivos originais a seu dispor, ainda que infectados.

Se nada se quebrar durante o processo e você não tiver mais arquivos vitimados por script injection em seu site, vale citar um comando para apagar todos os arquivos .bak, recursivamente:

[code lang="bash"]find . -type f -name "*.bak" -exec rm -f {} \;[/code]

Finalmente… uma faxina!

A etapa final, como eu a fiz, consistiu de passar um bom tempo dando uma olhada nos diretórios hospedados em cada um dos meus sites. Arquivos muito antigos foram para o beleléu — acreditem ou não, o que ocorreu no meu caso foi uma vulnerabilidade causada por um plugin de galeria de fotos esquecido há anos dentro do meu servidor — e tudo aquilo que eu julgava não saber do que se tratava, também (CUIDADO). Além disso, sempre vale dizer que é imporante resetar suas senhas. Todas. Agora.

Um ataque de script injection é aquele em que alguém, de maneira mal intencionada, se aproveita de falhas de segurança ou de vulnerabilidades em ferramentas como o WordPress para introduzir em seu código-fonte mecanismos que alterem o seu funcionamento normal. Ao visitar um site atacado, você poderia, por exemplo, ser direcionado para um endereço em que um programa mal intencionado ou vírus fosse baixado para seu computador. É por isso que estes ataques tem que ser combatidos.
Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados em rede local, ou através da internet.
Arquivos com permissão de escrita fornecida para o mundo inteiro podem ser resultado de instalações ou desinstalações de plugins mal feitas, como foi o meu caso. Cuidado com o que instala ou deixa de instalar em seu website.
Sim, veja que estas dicas não possuem garantia alguma, e, muito menos, são garantia de 100% de eliminação dos problemas. No entanto, é verdade, vale à pena tentar.

Chegaram os jogos!!

A Apple começou a vender games na versão brasileira da loja iTunes Store. Embora não tenha anúncio oficial e não exista ainda uma seção de games na loja – apenas um destaque na página inicial, já é possível comprar os jogos, encontrados por meio de uma pesquisa, usando cartão de crédito brasileiro.

Fonte: G1

Essa é talvez a melhor notícia que recebi este ano!! E certamente foi a melhor notícia na opinião de muita gente por aí, também. Chega de contas em outros países, chega de precisar ficar arrumando esquemas para comprar gift cards: Enfim, podemos comprar jogos na App Store brasileira!!

20120406-012605.jpg

No meu caso, só para marcar o momento, adquiri o Angry Birds Space. Acho os jogos da série bastante repetitivos — me critiquem o quanto quiserem —, mas este tem elementos diferentes, e foi uma compra interessante.