GreenSQL… WHAT!?

GreenSQL is an Open Source database firewall used to protect databases from SQL injection attacks. GreenSQL works as a proxy and has built in support for MySQL. The logic is based on evaluation of SQL commands using a risk scoring matrix as well as blocking known db administrative commands (DROP, CREATE, etc). GreenSQL is distributed under the GPL license.

Project page

SAMBA3: VFS, kernel interface to file systems

Extraindo diretamente do man:

"DESCRIPTION
     The virtual file system, VFS, is the kernel interface to file systems.
     The interface specifies the calls for the kernel to access file systems.
     It also specifies the core functionality that a file system must provide
     to the kernel.

     The focus of vfs activity is the vnode and is discussed in vnode(9).

Então, tem quase 1 ano que estou com este draft da vida para ser publicado… Vou escrever enquanto faço um servicinho nada limpo agora :P

Read the rest of this entry »

Érre o quê!? Monitoramento ativo via MSN Messenger

Eu estava ouvindo Tool - Hooker with a penis quando me ocorreram algumas idéias. Geralmente, alertas de monitoramento ou de chamados (helpdesk) chegam por e-mail, ou você tem ir em uma página web, atualizar para ver se tem algo novo, etc. Neste meio tempo, é bem simples dar atenção a alguma conversa no MSN, e principalmente se a janela for de alguma delicinha, e foi justamente pensando neste tipo de situaçao que surgiu ele (ou seria ela!?): rööker.rb, um bot para MSN, que possibilita monitoramento ativo dos serviços.

O que o rööker.rb faz:

- existe uma base com todos os clientes, contendo o quê (serviços) roda em quem (empresa);

- existe uma checagem constante dos serviços. Se algum deles cai, no mesmo momento é gerado um alarme, e através deste alarme é possível saber o quê parou em quem;

- no mesmo momento, uma mensagem no MSN é recebida, e esta mensagem traz informações sobre qual serviço parou e em qual empresa. Agora entra a intervenção, ficando a critério “deixar de lado” (pois o chamado não foi aberto pela empresa ainda), ou fazer o serviço voltar;

Na janela do chat é possível digitar comandos, por exemplo:

#c0344 httpd restart

Esta mensagem que envio diz o seguinte: deve ser reiniciado o Apache no cliente c0344. Então o “rööker” conecta via SSH no cliente e faz todo o serviço, simples assim.

Tem mais coisa a ser feita: alarmes via gTalk e twitter. Quando tudo estiver redondinho eu posto o fonte aqui. Estou testando tudo em Linux (CentOS 5.2) e OpenBSD (4.4).

OpenBSD 4.3, OpenSolaris 2008.5, sUxubuntu 8.04 and other things

The current release of OpenBSD is 4.3 (fourthree) “which was released May 1, 2008″. My desktop, an old pentium IV, gives me a higher security level when I’m outside… It, from here just called lesbian (’cause my machine love girls too), was running OpenBSD 4.2 (release) and worked fine. Since I use subversion (thanks to Razzolini) and my tree (.confs, scripts, rcs, etc) is always up-to-date, I didn’t care about its installation. I re-installed OpenBSD and got everything working again until May 1 (due to “hours fuse issues”).

I had time to download sUxbuntu 8.04 and after some time nothing happened: the motherfuckingfocker ubiquity installer crashes if I try to do a manual partitioning. Then I downloaded Kubuntu 8.04: it installs and works (points to Kubuntu’s team!!!) quite fine. I’ve decided to abandon *buntu family.

My OpenSolaris is working great and I approve (give it a try! ; ).

M$ Windows 2008 Enterprise Edition (just for eval, 60 days) is working fine too…

MySQL 1 of 3: realtime replication

Aqui, mostro como fazer a replicação de dados sem a utilizar mysqldump’s ou rsync’s da vida. Particularmente não sou muito fã do MySQL, só que achei interessante este recurso para cópia em tempo real. Colocando-se no seguinte cenário: uma aplicação que tenha grande fluxo de dados constantemente, com picos variáveis. O problema está no tipo da consulta e no tamanho da resposta, diretamente, se toda a informação passa apenas por um único gargalo. Então, o intuito deste texto (1 de 3: replication, load balance e failover) é preparar o cenário, possibilitando ter uma cópia fiel dos dados em mais de um servidor. O mestre será 10.2.3.9, e o escravo 10.2.3.10.

Read the rest of this entry »

Ubuntu - porque funciona. Por que funciona?!

O Ubuntu funciona e isto nao e’ nenhuma grande novidade… Removi duas maquinas virtuais que nao estavam em uso, e re-instalei o ubuntu (feisty amd64, que nao apresenta problemas na instalacao, depois fiz o upgrade pro gutsy via do-release-upgrade). Enfim: tudo funcionando lindamente, tudo bem bonito. E seguindo a “filosofia ubuntu”: enviadei o desktop, deixando um papel de parede maygo, icones felizes, um cursor pra la’ de saltitante e um terminalzinho com “true transparency”, ui! Faltam algumas coisas fofas, mas isso vem com o tempo, certo? Algo que me irritava era as unidades montadas aparecendo no desktop. Depois de conversar com Deus, encontrei no forum feliz do Ubuntu como esconder os icones:


gconftool-2 --type boolean --set /apps/nautilus/desktop/volumes_visible false

E nao e’ que funcionou?!

Bem, existem algumas coisas na agulha, e quero ver se coloco o quanto antes aqui:

* netsed - on-the-fly packet modifier; brincadeiras simples e infantis…

* samba3 - vfs modules; alguns truques legais, como auditoria, lixeira, etc, e como hackear o samba, adicionando debugs nos lugares certos

* fbmyip - from beyond my ip; servico simples, em ruby, que faz quase o que o no-ip.org faz, escrito em ruby (e rails)

* freedns.afraid.org - dica legal de dns dinamico, bem completo.

* mysql: replication, failover, load balance :S

Speed up VMware Machines

You can speed up your vm`s in VMware Server Console by defrag*** a virtual disk. After you got your vm running as fastest as it can, just click on VM Settings and then select Hard Disk; so, click on “Defragment” button, and wait some seconds (or minutes/hours/days… i`m just kidding).

After, the machine taked up 1min to boot. Now, it takes almost one minute, but suspend/resume time decreased from one minute to few seconds.

Please, read:

* you can’t do that if your machine is suspended, so you need to poweroff

* it won’t do any effect if you have pre-allocated the disk (works only with virtual disks, not plain or physical disks, as described here).

ps: defrag means to me the oldest procedure on win9x (scandisk, defrag, etc), when life was not too good

How-To make PostfixAdmin 2.1.0 work with PostgreSQL

PostfixAdmin is a simple (and really good!) panel to manage virtual domains and mail accounts (for postfix, duh!). You can store entire data into the rdbms system: PostgreSQL (not mysequel, ’cause it sucks hard).

When you download PostfixAdmin from SourceForge.net and try to get it up and runnig with Postgres, it won’t run. A patch for postfixadmin was made by two guys (Troels Arvin and Jorge Martín, so may thanks to them).

You just need to apply the patch


$ cd /path/where/postfixadmin/is
$ patch -p1 < ../path/where/postfixadmin-patch/is

… and be happy. ;)