jueves, 4 de diciembre de 2014

Actualización dansguardiancm GUI ncurses version

Después de mas de un año del lanzamiento de la versión escrita en c++ y ncurses de la GUI de dansguardian llamada danguardiancm e terminado de reescribir la aplicación con un poco  mas de técnica y tratando de cuidar algunos aspectos de programación y otros detalles.

Algunos aspectos que se mejoraron fueron los siguientes:
- Se elimino la dependencia innecesaria de qmake.
- Programación basada en objetos.
- Compilación vía cmake
- Soporte de desinstalación a través de "make uninstall"
- Separación de ficheros de configuración de los binarios

Por el momento no se agregaron funcionalidades aparte de las que ya se tenían, pero se agrego el soporte de las clases lo cual hará mucho mas rápido el desarrollo de nuevas funcionalidades.

por el momento no me queda mas que dejar el link y quien se anime a probarlo aquí esta el link del proyecto.

https://sourceforge.net/projects/dansguardiancmn/

miércoles, 9 de julio de 2014

zabbix template 3com 4200G 48 ports

Esta ves me a tocado crear un template para un switch 3com 4200G de 48 puertos, en este caso el template lo he creado sin la pantalla de uso de los puertos puesto que zabbix a tenido la idea genial de no vincular las pantallas de los templates a la pestaña "pantallas", por lo tanto sin mas, aqui el template.

https://sourceforge.net/projects/zt3crom4200g48port/

Como siempre las dudas y recomendaciones son bien recibidas.

PD: Al fin decidí agregar la plantilla dentro del template, a fin de cuentas es bastante útil.

martes, 17 de junio de 2014

Template lxc para scientific linux

Probando las "nuevas" tecnologías dentro de las que destacan los contenedores en linux, me decidí a probarlo, encontrando templates para debian, fedora y oracle linux? :S. Probé los contenedores debian y fedora y trabajan muy bien.


Pero al momento de crear un contenedor de tipo centos entro mi primera duda, no fue difícil una pequeña búsqueda en google y di con el template para centos, teniendo como primera pega que al momento de estar dentro del contenedor no se puede ver el espacio en el disco.

Desde ese momento me nació la duda si pasaría también el scientific linux u oracle linux; la primera que descarté fue oracle linux la cual arrastra el mismo problema, pero a la hora de instalar un scientific linux comenzaron mis problemas; lo primero que encontré fue un template viejo no funcional y con mucho trabajo por hacer.

https://github.com/johanek/toft/blob/master/scripts/lxc-templates/lxc-scientific-6

así que me decidí a echar mano de bash y entender un poco el proceso de la creación de los contenedores y como resultado aquí lo tenemos, un template para scientific linux que soporta limites dentro de los parámetros y sin arrastrar los problemas al ver el espacio en disco.

https://sourceforge.net/projects/lxctsl/

Espero que sea de utilidad para alguien y si se encuentran errores los informen.

lunes, 3 de marzo de 2014

verificar RBL/listas negras mediante scritp en bash

Como todo mundo ya conoce y a vivido en carne propia el molesto spam y el día de hoy tuve otro encuentro cercano con un cliente listado en RBL's, decidí comenzar en la búsqueda de como automatizar la verificación de determinados servidores en las listas negras mas populares.

Me encontré con este script que si bien es de mi utilidad no llenaba todos los requisitos que necesitaba, así que le hice ciertas modificaciones para que se adaptará a mis necesidades.

#!/usr/bin/env bash
DEBUG="$1"
LOG="`mktemp`"
SRV="correo.prueba.org.co mail.example.com.co"
# RBL list from http://www.anti-abuse.org/multi-rbl-check/
RBL="bl.spamcop.net
cbl.abuseat.org
b.barracudacentral.org
dnsbl.sorbs.net
http.dnsbl.sorbs.net
dul.dnsbl.sorbs.net
misc.dnsbl.sorbs.net
smtp.dnsbl.sorbs.net
socks.dnsbl.sorbs.net
spam.dnsbl.sorbs.net
web.dnsbl.sorbs.net
zombie.dnsbl.sorbs.net
dnsbl-1.uceprotect.net
pbl.spamhaus.org
sbl.spamhaus.org
xbl.spamhaus.org
zen.spamhaus.org
bl.spamcannibal.org
psbl.surriel.com
ubl.unsubscore.com
dnsbl.njabl.org
combined.njabl.org
rbl.spamlab.com
dnsbl.ahbl.org
ircbl.ahbl.org
dyna.spamrats.com
noptr.spamrats.com
spam.spamrats.com
cbl.anti-spam.org.cn
cdl.anti-spam.org.cn
dnsbl.inps.de
drone.abuse.ch
httpbl.abuse.ch
dul.ru
korea.services.net
short.rbl.jp
virus.rbl.jp
spamrbl.imp.ch
wormrbl.imp.ch
virbl.bit.nl
rbl.suresupport.com
dsn.rfc-ignorant.org
ips.backscatterer.org
spamguard.leadmon.net
opm.tornevall.org
netblock.pedantic.org
multi.surbl.org
ix.dnsbl.manitu.net
tor.dan.me.uk
rbl.efnetrbl.org
relays.mail-abuse.org
blackholes.mail-abuse.org
rbl-plus.mail-abuse.org
dnsbl.dronebl.org
access.redhawk.org
db.wpbl.info
rbl.interserver.net
query.senderbase.org
bogons.cymru.com
csi.cloudmark.com"
for server in $SRV
do

  lip=$(dig +short $server)
  for ip in $lip
  do
    rip=$(echo $ip|awk -F"." '{for(i=NF;i>0;i--) printf i!=1?$i".":"%s",$i}')
    echo $server $rip
    for rbl in $RBL
    do
      if [ ! -z "$DEBUG" ]
      then
    echo "testing $server ($ip) against $rbl"
      fi
      result=$(dig +short $rip.$rbl)

      if [ ! -z "$result" ]
      then
    echo "$server ($ip) esta en $rbl con codigo $result" >> $LOG
    echo "$server ($ip) devolvió el siguiente mensaje $(dig +short -t txt $rip.$rbl)" >> $LOG
    echo "" >> $LOG
      fi
      if [[ ! -z "$DEBUG" && -z "$result" ]]
      then
    echo "\`->negative"
      fi
    done
  done
done

if [ ! -z "$(cat $LOG)" ] ; then
    cat $LOG | mail -s "Spam en uno de nuestros clientes" admin@example.com.co
fi

rm $LOG


Las modificaciones mas relevantes fueron el hecho de que en caso que un nombre de los servidores a verificar tuviese mas de una ip estas también fuesen verificadas y el envío de la notificación a través de correo electrónico en caso de que encuentre algún servidor listado.

Eso es todo por el momento, agradezco los comentarios y mejoras que se le puedan hacer al script.

lunes, 30 de diciembre de 2013

Dansguardian Console Manager ncurses Version (Beta)

Después de estar tocando cosas aquí y allá con mi primera versión de dansguardiancm y ver lo incomodo que resultaba trabajar con él, decidí crear otra versión un poco mas seria y un poco mas elaborada, esta ves escrita en C++ apoyandome en las librerias ncurses, la nueva versión es mucho mas amigable y mucho mas facil de expandir sus funcionalidades ya que se cuidaron bastantes aspectos es la programación estructurada (si, si ya se que debo hacerlo en POO pero eso será para futuras versiones) que no es lo mejor pero por algo se empieza (recuerden no soy desarrollador) asi que al igual que en la versión anterior lo cargue a sourceforge allí encontraran la wiki y demas puntos a considerar.

Sobra decir que espero sus comentarios a fines de hacer mejor la herramienta y claro desempolvar c++ ya que hacía años que no hacía algo minimamente serio :)

Dansguardiancm ncurses version

viernes, 6 de septiembre de 2013

Agregar alias y enmascarar dominio en Zimbra

Esta ves les comento la situación que se presento  con un cliente el cual decidió cambiar su dominio de .com a .net, como ya sabrán cambiar el dominio principal en zimbra no es cosa que sea facil por no decir que imposible a cambio de intentar una tarea suicida lo que optamos fue por crear un alias y enmascarar el correo de salida como lo haría cualquier buen samaritano, para el ejemplo vamos a utilizar los dominios "dominioexistente.com" y "dominioalias.net".

Ahora vamos a proceder con los pasos:

1) Realizar los ajustes acordes necesarios en el DNS, ajustes tales como registros MX, PTR (este es con su isp) y registros spf

2) Asegurarse de realizar un backup, nunca esta demás hacerlo y te puede sacar de un apuro en caso que los dedos te traicionen al momento de teclear algún comando.

3) Ahora como usuario zimbra ejecutamos el siguiente comando: "zmprov createAliasDomain dominioalias.net dominioexistente.com zimbraMailCatchAllForwardingAddress @dominioexistente.com" en este punto ya tenemos creado el alias es decir que todos los emails que lleguen a dominioalias.net serán redirigidos a  dominioexistente.com.

4) Una ves creado el alias ahora debemos enmascarar el correo saliente, es decir que todos los correos salientes no se envíen con @dominioexistente.com si no dominioalias.net esto lo hacemos con el siguiente comando: "zmprov md dominioexistente.com zimbraMailCatchAllAddress @dominioexistente.com zimbraMailCatchAllCanonicalAddress @dominioalias.net".

5) Hacer pruebas de envío y recepción de correo

En caso que se quiera eliminar el enmascaramiento sencillamente se ejecuta el mismo comando con el que se agrego pero anteponiendo el menos a la opción del enmascaramiento, esto de la siguiente forma: "zmprov md dominioexistente.com zimbraMailCatchAllAddress @dominioexistente.com -zimbraMailCatchAllCanonicalAddress @dominioalias.net"

Esto sería todo en esta ocasión, espero que sea de ayuda a alguien y como siempre las criticas o preguntas son bienvenidas.

martes, 13 de agosto de 2013

fedora 18 - mouse bloqueado al inicio / mouse blocked when start

Bueno esta ves el detalle esta con el mouse y fedora 18 (fedora 19 con hw ati vaya que se lleva mal), el inconveniente se esta presentando a la hora del arranque, el sistema inicia correctamente pero despues de uno o dos minutos el touchpad comienza a fallar y se bloquea por unos minutos hasta que vuelve a reaccionar, esto claramente es un dolor de cabeza que no e  podido solucionar y no se si culpar a los drivers propietarios de ati (seguramente que si) o como tal un bug del f18.

El tema se me ocurrió "y que pasa si a nivel de kernel desconecto el mouse y lo vuelvo a conectar" a pues vaya trabajo para hacer esto, pues aquí esta lo que hice para poder desbloquear el mouse en caso de que se quede bloqueado.

echo -n "serio1" | tee /sys/bus/serio/drivers/psmouse/unbind

ojo que serio1 debe existir dentro del directorio /sys/bus/serio/drivers/psmouse/ de lo contrario no va a funcionar, aquí la muestra de como luce el directorio.

ls -la /sys/bus/serio/drivers/psmouse/
total 0
drwxr-xr-x. 2 root root    0 ago 13 09:00 .
drwxr-xr-x. 4 root root    0 ago 13 09:00 ..
--w-------. 1 root root 4096 ago 13 09:11 bind
-rw-r--r--. 1 root root 4096 ago 13 09:10 bind_mode
-r--r--r--. 1 root root 4096 ago 13 09:10 description
lrwxrwxrwx. 1 root root    0 ago 13 09:10 module -> ../../../../module/psmouse
lrwxrwxrwx. 1 root root    0 ago 13 10:55 serio1 -> ../../../../devices/platform/i8042/serio1
--w-------. 1 root root 4096 ago 13 09:00 uevent
--w-------. 1 root root 4096 ago 13 09:35 unbind


si solo ejecutamos el comando ya mencionado el kernel se encargara de reactivarlo y listo el mouse volverá a estar funcional.

En caso que se desactive el tapclik y el vertscroll pueden utilizar los siguientes comandos desde el usuario de trabajo.

synclient TapButton1=1
synclient VertEdgeScroll=1

Bueno eso es todo por el momento hasta el momento en que encuentre cual es la raiz del problema.

Hasta la próxima.