Saber el top de dominios que envia mas emails en un servidor (Plesk + QMail)

Siempre es útil conocer quienes son los clientes y dominios que dentro de un servidor envian más email y quienes pueden abusar los recursos. Por eso os voy a copypastear los scripts que me encontre en el blog personal de oscar montero:

Por ejemplo para saber  el top de dominios que más envia emails en un servidor (con qmail y plesk) puedes usar:

grep user  /usr/local/psa/var/log/maillog | grep LOGIN | cut -c50-140 | cut -d,
-f 2 | cut -d@ -f 2 |sort|uniq -c|sort -nk 1

Otra forma sería esta:
Continuar leyendo «Saber el top de dominios que envia mas emails en un servidor (Plesk + QMail)»

Yum bloqueado: Reconstruir la base de datos RPM

Durante una actualización de paquetes RPM con Yum, he visto que en un determinado momento Yum se habia bloqueado. Despues de matar los procesos de yum, python y demas, he visto que no arreglaria nada por esa via, por lo cual he decidido reconstruir la base de datos RPM.

PASO 1: Copia de seguridad de la base de datos actual

tar cvzf /root/backup-rpm.tar.gz2 /var/lib/rpm

PASO 2: Borrar la DB actual

rm -f /var/lib/rpm/__db*

PASO3: Reconstruir la DB

rpm –rebuilddb

PASO 4: Instalamos el paquete yum-utils, el cual contiene package-cleanup

# yum install yum-utils

PASO 5: Comprobamos si hay algun paquete medio instalado

# package-clean -d

PASO 6: Borramos los metadatos y la cache

# yum clean all

Bloquear una IP atacante con null route

En alguna ocasion podemos encontrarnos con algun tipo de ataque de una determinada IP o red (rezando para que no sean multiples) hacia nuestra red/sistema.

En Linux (y BSD/Solaris/Unix Flavours) podemos mandar los paquetes de una determinada IP o red a ninguna parte (blackhole route o null route) añadiendo una entrada en nuestra tabla de rutas.

USANDO EL COMANDO ROUTE PARA NULL ROUTE

route add 192.168.1.5 gw 127.0.0.1 lo

En este comando especificariamos que la IP atacante es 192.168.1.5 y queremos enviar los paquetes que nos envie a la interfaz de loopback.

Verificar que se ha “null routeado” la IP en nuestra tabla de rutas

route -n

O bien usando Netstat

netstat -nr

Tambien podemos hacer un reject:

route add -host 192.168.1.5 reject

Mandar a Null route una red entera

Imaginaros que queremos filtrar el sistema autónomo completo de McColo (si algún ISP anunciara sus prefijos, claro).

route add -net 208.66.192.0/24 gw 127.0.0.1 lo

Borrar entradas de la tabla de rutas

Probablemente haya un tiempo en el que ya no nos interese bloquear a determinada IP o bloque. Para borrar una entrada haremos lo siguiente:

route delete 192.168.1.5

Saber que locale están instalados en el servidor con PHP

Si intentamos mostrar una fecha en PHP es posible que nos encontremos que salga con el formato:

July 31, 2007

Para que se muestre correctamente debemos usar el “locale” correcto que haga que se muestre la fecha en el formato adecuado. Los locales más habituales son del estilo de éstos:

es_ES
es_ES.ISO_8859-1

Para establecer un locale se usa la siguiente función:

@setlocale(LC_TIME, 'es_ES');

El problema es que hay que hay que poner el nombre exacto del locale ya que de otra forma no funcionará. Aquí tenéis un sencillo script en PHP que te ayudará a saber qué locales están instalados en tu servidor:

<?php
echo "<hr><br>'Locale' disponibles:<br>";
echo '<pre>';
system('locale -a');
echo '‘;
?>

Si quieres que se muestren sólo los españoles:

<?php
echo "<hr><br>'Locale' disponibles:<br>";
echo '<pre>';
system('locale -a | grep -i es');
echo '‘;
?>