Error 610 al intentar activar Deep Security Virtual Appliance

Hoy estaba desplegando un nuevo host de ESXi y al intentar activarle su correspondiente DSVA (Deep Security Virtual Appliance) me estaba arrojando el siguiente error:

610 (Unable to update host configuration.)

En los logs de Deep Security no vi nada y en los de vShield tampoco. Buscando en la web me encontré con algo parecido pero aplicado al antivirus de Kaspersky, así que supuse que el problema estaba en el vShield ya que el antivirus estaba funcionando perfectamente en el resto del los hosts.

Al final, un reinicio rápido del appliance de vShield me resolvió el problema.

Buscar por nombre de virus en logs de OfficeScan

Por alguna razón que desconozco, la pregunta “¿Cuántas de mis máquinas detectaron este malware?” es imposible de responder a través de la consola de OfficeScan.

Sin embargo, hay una solución muy sencilla. Simplemente abrimos el SQL Server Management Studio (SSMS), lo apuntamos a la base de datos de OfficeScan y ejecutamos la siguiente consulta, cambiando MIVIRUS por el nombre del malware según aparece en la consola:


select
info.COMP_NAME
,log.*
from
TBL_VIRUS_LOG log
inner join TBL_CLIENT_INFO info on log.UID = info.UID
where
log.VIRUSNAME like 'MIVIRUS'
order by
info.COMP_NAME

Eventos con origen “bowser” en el registro de eventos de Windows

Si alguna vez estas revisando el registro de eventos de Windows y vez entradas con el origen bowser no te asustes, ni es un virus, ni es un typo de los desarrolladores de windows, ni nada raro.

Simplemente es algo que quedó en el código de Windows desde los días de NT 3.1. Bowser es “la parte del modo kernel del servicio Computer browser”.

La historia completa está aquí

TIL 🙂

Exportar y eliminar OU vacías en Active Directory

Tenemos una implementación de FIM (Forefront Identity Manager) que siempre está haciendo cosas raras.

La última de estas es que debido a un cambio en el ERP fueron creadas cientos de OU vacias en el Active Directory 🙂

Maravilloso…

Afortunadamente, con PowerShell y ActiveRoles fue muy fácil saber cuáles fueron estas OU. Aquí os dejo el script:


$OUS = Get-QADObject -Type organizationalunit -SizeLimit 0

$output = @()

foreach($OU in $OUS) {
$Children = Get-QADObject -SearchRoot $OU -LdapFilter “(!(objectClass=organizationalUnit))” -SizeLimit 1 -WarningAction SilentlyContinue | Measure-Object
$outputObj = “” | select OU,CanonicalName,HasChildren,Level
$outputObj.OU = $OU.Name
$outputObj.CanonicalName = $OU.CanonicalName

if ($Children.Count -ne 0) {
$outputObj.HasChildren = “Yes”
}
else {
$outputObj.HasChildren = “No”
}

$outputObj.Level = $OU.CanonicalName.Split(“/”).Count
$output += $outputObj
}

$output | export-csv -notypeinformation -encoding utf8 -delimiter “;” EmptyOUs.csv

Este nos va a exportar un CSV que luego podemos abrir en Excel. En este se muestra la OU, el nombre canónico de la OU, si tiene hijos que no sean otras OU vacías y el nivel de la OU (siendo la raíz del dominio el nivel 0).

Una vez que tenegamos identificadas las OU vacías, podemos exportar el listado de los nombres canónicos de las OU a borrar y borrarlas con el siguiente comando:

LA SIGUIENTE LINEA ES PELIGROSA, ASEGURATE DE TENER UN BACKUP DEL AD ACTUALIZADO ANTES DE EJECUTARLA

get-content -encoding utf8 MiLista.txt | Remove-QADObject -DeleteTree -Force -Confirm:$false

OfficeScan 11 se queda a medio instalar

Hoy tuve un problema un poco extraño. Instalé el agente de OfficeScan en un equipo y la instalación finalizó correctamente. Sin embargo, al reiniciar el equipo no aparecian los iconos del OfficeScan en ninguna parte y al intentar desinstalarlo me aparecía el siguiente error:

“Unable to get uninstallation information (GUID). Uninstallation aborted”

En la web de Trend Micro se explica la razón del mensaje pero no se ofrece una solución.

Al final la solución era simplemente ejecutar el instalador del agente otra vez.

Si todos los problemas se solucionaran así de fácil…

Crontab para eliminar índices viejos de Elasticsearch

Estamos probando un pequeño entorno de ELK en el laboratorio y no tenemos mucho espacio en el servidor, por lo que necesitamos borrar los índices viejos de Elasticsearch frecuentmente.

Buscando en Google vi lo que está usando la gente es Curator, hecho tambien por Elasticsearch.

Instalarlo es muy fácil y las instrucciones están en el mismo enlace de arriba. Sin embargo, siguiendo los ejemplos de la web tuve problemas a la hora de programar la tarea periódica en cron porque el simbolo de porcentaje en crontab tiene un significado especial.

Así que hoy os comparto la entrada de crontab que estoy utilizando para eliminar los índices viejos todos los días a las 00:00 horas.

0 0 * * * /bin/curator --host 127.0.0.1 --logfile /var/log/curator delete indices --prefix logstash --older-than 30 --time-unit days --timestring `echo '%Y.%m.%d'`

Agente de transporte para cambiar remitente en Exchange 2010/2013

Estas cosas que les gustan a los jefes…

Nuestro CAU está manejado por un tercero, con su propio sistema de ticketing, su propia gente y su propio dominio de correo. El problema es que a los jefes no les gusta que aparezca la dirección de un tercero cuando nos llegan las notificaciones de acciones sobre tickets o cuando nos escriben del CAU.

Esto se puede solucionar facilmente si tienes un servidor Edge en tu entorno de Exchange. Si no tienes un servidor de Edge tienes que implementar tu propio agente de transporte e instalarlo en un Hub o adquirir una solución de terceros.

Como somos tacaños, no vamos a comprar nada solo para cambiar la dirección de origen de un solo remitente 🙂

Para esto simplemente necesitamos un compilador de .NET y unas cuantas lineas de código. El cómo hacer esto está claramente documentado en MSDN, por lo que no voy a repetir lo mismo. Simplemente voy a compartir la solución completa que usamos en nuestro caso.

¿Qué tiene de diferente esta solución? Que tiene logging incorporado teniendo en cuenta que a la hora de escribir al fichero de logs puede haber problemas de concurrencia. Me estaba sucediendo que entraban varios mensajes al mismo tiempo del mismo remitente y a unos les cambiaba el sender y a otros no. Resultó ser que varios hilos del agente de transporte estaban intentando escribir al fichero de logs al mismo tiempo 😀

El código está documentado, sin embargo aquí explico un poco lo que hace este agente:

  • Crea el directorio de logs si no existe
  • Crea un log por cada día
  • Crea una entrada de log por cada mensaje, detallando las operaciones que se hacen. Esto es para hacer mas fácil la resolución de problemas
  • Cambia los campos Sender, From y Reply-To de todos los mensajes de un remitente en particular

Pienso que es bastante fácil de modificar y ajustarlo a las necesidades de cualquiera. En caso de cualquier duda simplemente dejad el comentario abajo.

Podéis descargar el código desde aquí.

Referencia