martes, 28 de febrero de 2012

Una contribucion de la comunidad :) (Plugins OSSIM)

En esta ocasión quiero resaltar una valiosa contribución que ha tenido a bien realizar Fernando Mármol (fmarmol539 en gmail punto com).

Dicha contribución consiste en un par de scripts bellamente ejemplificados como colectores de información en bases de datos MySQL. Con estos scripts se escriben los datos de una tabla hacia un log de texto simple, el cual luego es posible procesar mediante un plugin típico, con fuente de log.

Aquí los scripts mencionados.


Script que recupera información de un servidor: base de datos en SQL

import pymssql
import pprint
db=pymssql.connect(host="10.1.84.80", user="logico", password="12345")
cursor=db.cursor()
sql1=("select   AlarmDate, AcctNum, AcctName, AlarmDescription, AlarmZones, AlarmPriority from traffic.dbo.Incoming where AlarmDate >= DATEADD(second, -15,GETDATE())and AlarmDate <= dateadd(dd,1,alarmdate) order by AlarmDate desc")
cursor.execute(sql1)
ret = cursor.fetchall()
data = ""
f=open('/var/log/alarmcenter.log', 'a')
for i in ret:
     data = data + "%s%s%s%s%s\n " % (i[0],i[1],i[2],i[3],i[4])
     f.write ("Fecha:%s Cuenta:%s Abonado:%s Zona:%s Prioridad:%s IpOrigen:10.1.84.80 BaseDatos:AlarmCenter\n" %(i[0],i[1],i[2],i[3],i[4]))
f.close()
 

Script que recupera información de un servidor: base de datos en MYSQL

import MySQLdb
import pprint
db=MySQLdb.connect(host="10.3.18.18",user="consulta",passwd="consulta",db="Consulta")
cursor=db.cursor()
sql1=("select UserName, login, FechaAcceso  from Accesos where FechaAcceso >= DATE_SUB(now(),  INTERVAL 5 MINUTE) order by 3")
cursor.execute(sql1)
ret = cursor.fetchall()
data = ""
f=open('/var/log/sigma.log', 'a')
for i in ret:
     data = data + "%s%s%s\n " % (i[0], i[1],i[2])
     f.write ("Usuario:%s Login:%s FechaAcceso:%s IpOrigen:10.3.18.18\n" %(i[0],i[1],i[2]))
f.close()

No hay comentarios: