Depois de instalar o snort e ver o bicho pegando os espião, você se depara com uma mensagem estranha no seu log:
database: mysql_error: MySQL server has gone away SQL=BEGIN
WTF?
não, você não foi vencido por um sobrinho de alguém praticando invasão :D
acontece(e não entendo porque não corrigiram ainda) que há um bug no conector com a versão 5.1 do mysql que faz com que o mesmo não se reconecte após uma queda de conexão.
para solucionar isso é preciso alterar o fonte antes da compilação.
nos fontes do snort, na pasta "src/output-plugins/" procure pelo arquivo "spo_database.c", com seu editor preferido abra o arquivo e por volta da linha 2943, em um trecho de código do mysql:
#ifdef ENABLE_MYSQL
if(data->shared->dbtype_id == DB_MYSQL)
{
data->m_sock = mysql_init(NULL);
if(data->m_sock == NULL)
{
FatalError("database: Connection to database '%s' failed\n", data->shared->dbname);
}
if(data->port != NULL)
{
x = atoi(data->port);
}
else
{
x = 0;
}
if(mysql_real_connect(data->m_sock, data->shared->host, data->user, data->password, data->shared->dbname, x, NULL, 0) == 0)
{
if(mysql_errno(data->m_sock))
{
FatalError("database: mysql_error: %s\n", mysql_error(data->m_sock));
}
FatalError("database: Failed to logon to database '%s'\n", data->shared->dbname);
}
}
#endif
antes da última chave } coloque "data->m_sock->reconnect = 1;"
#ifdef ENABLE_MYSQL
if(data->shared->dbtype_id == DB_MYSQL)
{
data->m_sock = mysql_init(NULL);
if(data->m_sock == NULL)
{
FatalError("database: Connection to database '%s' failed\n", data->shared->dbname);
}
if(data->port != NULL)
{
x = atoi(data->port);
}
else
{
x = 0;
}
if(mysql_real_connect(data->m_sock, data->shared->host, data->user, data->password, data->shared->dbname, x, NULL, 0) == 0)
{
if(mysql_errno(data->m_sock))
{
FatalError("database: mysql_error: %s\n", mysql_error(data->m_sock));
}
FatalError("database: Failed to logon to database '%s'\n", data->shared->dbname);
}
data->m_sock->reconnect = 1;
}
#endif
Isso fará com que o maledito se reconecte evitando o erro e os logs.