May 14, 2017

#WannaCry… de hecho, tú mismo quisiste llorar.

Entonces, el pánico del momento es derivado de un protocolo que se empezó a utilizar en mayor escala allá en 1990… y muchos administradores a pesar de la obsolescencia del mismo y la múltiple documentación de sus carencias lo continúan utilizando o bien permitiendo en sus ambientes. Esto sumado a equipos sin actualizaciones. ¿No les suena esto como a negligencia?
Cuántas veces he escuchado un sinfín de escusas respecto a las actualizaciones, cuántas veces se encuentran cosas hechas en la forma "fácil" como por ejemplo deshabilitar el firewall de Windows, claro es más rápido que configurarlos apropiadamente.
¡¿Cuántos gerentes de TI piensan que vivir en la obsolescencia es igual a maximizar el ROI?!
Esto es un tema de no acabar, los banderines de seguridad se muestran y luego son ignorados, una y otra vez... he aquí un artículo de otra vulnerabilidad hace unos meses https://blogs.technet.microsoft.com/filecab/2016/09/16/stop-using-smb1/ esta también relacionada a SMB v1.
Ahora, quizás con ese temor latente imagino ya han descargado y distribuido los archivos del MS17-010… o ¿van también a ignorarlo?
Seamos responsables con nuestros ambientes, con nuestros clientes.
Es una llave de registro la que desactiva este protocolo, que en muchos casos inclusive es innecesario.


Hasta pronto.

June 20, 2015

Políticas para terceros.

Bueno esto es algo que un buen amigo me pidió y la verdad se lo debía hace ya tiempo… a veces las 24 horas del día no alcanzan.
Los siguiente parámetros funcionan para deshabilitar las actualizaciones de varios productos de terceros que la verdad aunque sabemos las actualizaciones son parte de cualquier producto a veces es también necesario deshabilitarlas con productos como estos por temas de compatibilidad y similares. En lo personal muchas veces he escuchado la frase “mi producto X no funciona con la nueva versión de Java”.
Ok entonces tenemos una serie de llaves de registro para deshabilitar Java (32 y 64 bits) y luego Acrobat Reader versiones 10 y 11 respectivamente
Todas las llaves son tipo DWORD con el valor 0.

Hive                      HKEY_LOCAL_MACHINE
Key path              SOFTWARE\JavaSoft\Java Update\Policy
Value name         EnableJavaUpdate

Hive                      HKEY_LOCAL_MACHINE
Key path              SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy
Value name         EnableJavaUpdate

Hive                      HKEY_LOCAL_MACHINE
Key path              SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown
Value name         bUpdater

Hive                      HKEY_LOCAL_MACHINE
Key path              SOFTWARE\Policies\Adobe\Acrobat Reader\11.0\FeatureLockDown
Value name         bUpdater

Estas las vamos a distribuir tomando ventaja de las GPP https://technet.microsoft.com/en-us/library/cc731892(v=ws.10).aspx
Una gran ventaja de estas es que podemos utilizar el Item Level Targeting http://www.windowsnetworking.com/articles-tutorials/common/Group-Policy-Preferences-Understanding-Implementing-Item-Level-Targeting.html para así discriminar las diferentes arquitecturas (y mucho más).
Ahora para el Flash Player debemos hacer algo ligeramente diferente, crear un archivo que contiene el parámetro para deshabilitar las actualizaciones y enviarlo a los equipos.
Afortunadamente esto es relativamente sencillo por medio también de GPPs, el único punto con que debemos ser cuidadosos en con la codificación del archivo pues debe ser UTF-8 y llamarse mms.cfg.
El contenido de este es una simple línea “AutoUpdateDisable=1”.


Como podemos ver lo he salvado en el SYSVOL para que así todas las maquinas del dominio tengan acceso a este.

Navegue en el editor de políticas a “Computer Configuration \ Preferences \ Windows Settings \ Files” y agregue los parámetros necesarios indicando la ruta fuente del archivo y la ruta destino que debe ser “C:\Windows\System32\Macromed\Flash\mms.cfg



Despliegue la política y listo.
Que tengan un excelente fin de semana!
~daemonR00t

June 18, 2015

Migrando DHCPs

Por algunas razón en el cosmos últimamente he tenido que migrar unos cuantos DHCPs hacia Windows 2012 R2… quizás por el final de soporte de Windows Server 2003 en menos de un mes?! Créanme… eso nos tiene corriendo a muchos.
Desde 2003 hacia 2012 este proceso se debe de hacer con el viejo y fiel netsh… oh sí! Aunque en 2012 te dice que ya va de salidita aún tiene su utilidad.
netsh
dhcp server \\tuServidor2003
export C:\exports\miDhcpDb all
Como imaginaran con algo muy similar se hace el importado en el servidor 2012 donde previamente instalamos la función de DHCP.
netsh
dhcp server \\tuServidor2012
import C:\exports\miDhcpDb all

En el caso de Windows Server 2008 en adelante este proceso se pude hacer con Powershell. Desde el mismo equipo 2012 simplemente ejecuta los cmdlets para exportar e importar el DHCP.
Export-DhcpServer https://technet.microsoft.com/en-us/library/jj590659(v=wps.630).aspx
Import-DhcpServer https://technet.microsoft.com/en-us/library/jj553823.aspx

Otra de las cosas que se encuentra uno mucho en la calle es el DHCP junto con tu DC, lo cual sabemos no es lo mejor pero sucede y muy a menudo. Si lo vas a hacer protégete asignando una cuenta de servicio al DHCP. Este articulo https://support.microsoft.com/en-us/kb/255134 aunque un poco viejito aun aplica.

Otro punto interesante es el balance de carga, pues desde luego tienes mínimo dos controladores y por ende dos DHCPs en tu ambiente, ¿verdad???
Acá tenemos dos equipos SERVER A y SERVER B.
Ambos tienen el mismo ámbito configurado (176.22.0.0/24) solo que en uno de ellos el rango de IPs disponibles es mucho mayor que en el otro, buscando así cierto nivel de tolerancia y balanceo y a su vez designando un equipo como primario para un rango específico. Inclusive se podrían alternar y que un servidor sea primario para algunos rangos y secundario para otros, o bien segregar los rangos de forma equitativa entre ellos.




En este ejemplo se observa lo siguiente:
Mismo rango de reservas en ambos equipos, misma puerta de enlace y otro parámetros que no varían pues es un mismo rango.
SERVER A = asignación de IPs entre la 176.22.0.21 y la 176.22.0.165
SERVER A = DNS primario SERVER A, DNS secundario SERVER B
SERVER B = asignación de IPs entre la 176.22.0.166 y la 176.22.0.253
SERVER B = DNS primario SERVER B, DNS secundario SERVER A

Bueno, espero este les ayude un poco en sus tareas de migración y también a tener un servicio de DHCP más saludable.
¡Hasta pronto!

~daemonR00t

September 19, 2014

Lync Server, arreglando el MS14-055

Bueno pues lamentablemente el las cosas salieron mal con el MS14-055 (https://support.microsoft.com/kb/2990928) y algunos servidores por ahí no pueden arrancar servicios como Lync Server Audio/Video Authentication y el Lync Server Audio/Video Edge.

Esto sucede en Windows Server 2008R2 con Lync Server 2010. Por ahí se muestran EventIDs 7024, 50007 y/o 12331.

Ahora para solucionarlo basta reinstalar las actualizaciones, esto con la versión del Abril pues la de Setiembre dado los inconvenientes ha sido temporalmente retirada.

lync04

El punto es que al ejecutar el LyncServerupdateInstaller este mostrara que no ningún componente requiere actualización, tampoco existe la opción de reinstalarlos. Lo que debemos hacer es descomprimir los instaladores que este contiene y así proceder con la reinstalación de forma individual.

Simplemente invoque el instalador desde la consola de comando con el parámetro /ExtractAll

lync00

Esto creara una carpeta llamada Extracted en la ruta actual, su contenido es los diferentes instaladores que necesitamos.

lync01a

Proceda y ejecute los archivos OcsCore.msp y Server.msp.

lync02

A continuación reinicie los servicios de Lync Server.

lync03

Luego relájese y cómase un sabroso postre lleno de azúcar para alegrar su día :P

Saludos mi gente!

chilenaMod

1 GPO + muchos gpLink

Sabemos que las mejores prácticas y sugerencias del fabricante no siempre son acatadas, hoy por ejemplo miraba un ambiente donde hay N bloqueos de herencias de políticas en una estructura ligeramente compleja de OUs.

Surgió la necesidad de aplicar un GPO nuevo, el cual debía ubicarse justamente en los mismos lugares que otro ya existente.

Pensando que (en forma simplificada) los GPOs en AD simplemente tienen punteros que utilizan el atributo GPLink (http://msdn.microsoft.com/en-us/library/cc219956.aspx) pensé esto sería sencillo, hacer un barrido de los objetos que contuviesen los valores adecuados en dicho atributo y utilizarlo como insumo para el siguiente comando que agregaría el nuevo GPO al atributo, más por la naturaleza del atributo no me fue tan fácil.

gpo00

Luego de varios intentos tuve que recurrir a PowerShell, lo cual no es mi fuerte pero si el de unos amigos :) En fin, la siguiente orden busca los OUs donde el GPO1 está aplicado y ese insumo lo utiliza para ligar el GPO2.

(Get-ADObject -LDAPFilter “(gplink=*{GPO1 | Select-Object Name -ExpandProperty DistinguishedName) | ForEach-Object {New-GPLink -GUID GPO2 -Target $_}

Explicado es algo como, busque el objeto de AD, donde el GPLink contiene GPO1 | almacene su distinguishedName | ahora por cada uno de estos enlazo la nueva política.

(Get-ADObject -LDAPFilter “(gplink=*{6AC1786C-*)” | Select-Object Name -ExpandProperty DistinguishedName) | ForEach-Object {New-GPLink -GUID AE154AC3-B643-4E10-950E-26404961A2A5 -Target $_}

Nótese que acá estoy identificando los objetos por el GUID. Este lo obtiene fácilmente desde el GPMC en la etiqueta Details de cada GPO involucrada tal como muestra la siguiente imagen.

gpo01

Hasta pronto!

Problemas con el Visor de Sucesos.

Normalmente el Visor de Sucesos (Event Viewer) es un componente muy noble que no nos causa problemas, curiosamente hace unos días encontré ciertos casos donde este presentaba inconvenientes a nivel funcional y/u operativo.

evetView00

Algunas de las bitácoras no estaban disponibles, en otros casos el servicio (EventLog) no se podía manipular o bien ni tan siquiera iniciaba.
Luego de filosofar un poco me percate que faltaba una entrada en la lista de control de accesos de la carpeta C:\Windows\System32\WinEvt.

evetView01

Al agregar dicha entrada y reiniciar el equipo todo volverá a su normalidad. Ese ACE se puede agregar por medio de la interfaz gráfica, únicamente asegúrese de seleccionar el equipo en la opción “Locations” y escriba el nombre de la entidad “NT Service\EventLog” brindándole permisos FULL.

evetView02

Otra forma de hacerlo es mediante la consola de comandos [icacls C:\Windows\System32\winevt /grant “NT Service\EventLog”:(F)]

evetView03

Saludos!

March 19, 2014

Analizador de Internet Headers

Mediante los internet headers de un correo se logra obtener información sobre la ruta que siguió este así como el tiempo que le tomo dar el paso de un servidor u organización a otra.
Estos se pueden mirar fácilmente desde OWA, Outlook más en algunas ocasiones la poca familiaridad con las cabeceras hace que los administradores no las utilicen apropiadamente.
Para solventar esto los amigos de MXToolBox an creado un formidable analizador web gratuito le cual puedes encontrar acá http://mxtoolbox.com/EmailHeaders.aspx
El resultado se obtiene en segundos y de una forma muy detallada.

mailHeaderA

421 Transmission channel timeout.
Connection to host lost ;-)

Owa para iPhone

Estaba yo jugando con el flamante Exchange 2013 SP1 lo cual me llevo a descubrir Owa para iPhone (si, las manzanitas también derecho de disfrutar de una plataforma de correo corporativo robusta).
Realmente me pareció algo excelente, la experiencia es nítida y totalmente funcional. No tengan temor, pues aunque la página de descarga habla de que este app es para aquellos que tienen su cuenta en Office365 usted también puede disfrutarlo al tener su Exchange 2013 on-premises.
La configuración es algo sumamente sencillo, gracias a temas como al famoso AutoDiscover, no obstante encontré problemas con algunas cuentas, el app simplemente parpadeaba al inicio y no terminaba de cargar, o bien lo hacía por un instante y luego se reiniciaba. Desde luego acá el primer pensamiento es “algo en el dispositivo” pero no fue asi.
Mirando las bitácoras encontré esto:
EventID 1035
Description: Exchange ActiveSync doesn’t have sufficient permissions to create the “CN=Danny Castillo,CN=userAccounts,DC=daemonroot,DC=com” container under Active Directory user “Active Directory operation failed on cri-wdc-01.daemonroot.com. This error is not retriable. Additional information: Access is denied.
Active directory response: 00000005: SecErr: DSID-03152492, problem 4003 (INSUFF_ACCESS_RIGHTS)…
Recordemos que los dispositivos móviles que están ligados a tu buzón se representan por medio de un objeto tipo msExchActiveSyncDevice, el cual yace debajo de nuestra cuenta de usuario en un tipo de contenedor llamado msExchangeActiveSyncDevices. En este caso el usuario en cuestión tiene derechos elevados en el directorio, por lo cual el adminSDHolder le reguarda
Basta con hacer un reset al ACL del objeto usuario para que así Exchange pueda crear los objetos requeridos y listo!

easDevice

Para más información refiérase a esta antiguo post http://telnet25.blogspot.com/2009/12/el-mito-del-adminsdholder.html
Y si gusta comparar los diferentes dispositivos móviles y sus prestaciones refiérase a
http://en.wikipedia.org/wiki/Comparison_of_Exchange_ActiveSync_clients
Hasta pronto!

March 12, 2014

Convertir grupos universales a mail enabled.

Si usted, al igual que este servidor ha pasado parte de su valioso tiempo buscando como habilitar un grupo universal existente para que este reciba correo pues le comparto la simple solución.
Gracias al orden que mantenemos en nuestro AD todos los objetos tipo group se encuentran en un mismo OU, lo cual facilita mucho el trabajo, entonces lo que haremos es efectuar una búsqueda en dicho contenedor y habilitar los grupos mediante el cmdlet apropiado.

tlcGroups

Get-Group -OrganizationalUnit nombreOU | Enable-DistributionGroup
Listo, así de fácil y rápido es el Power del Shell ;-)

January 17, 2014

Cacería de brujas… problemas de rendimiento.

Es relativamente regular que afrontamos temas de “el sistema esta lento” y pues debemos dedicarnos a la cacería de brujas para determinar porque ese componente de nuestro ambiente no da un rendimiento óptimo.

Sinceramente esto no es tan simple pues la mezcla de componentes agrega complejidad a nuestra ecuación, además existen tareas previas a la implementación de un servicio que muchas veces no son ejecutadas.

Veamos algunos puntos que considero le pueden ayudar:

Análisis de capacidad.

Previo a cualquier implementación o cambio es altamente sugerido evaluar la capacidad actual de los sistemas y su rendimiento, tanto en la actualidad como en la proyección estimada.

Además se deben contemplar temas como proyectos (tanto actuales como futuros), así como crecimiento promedio de la institución y otros. Esto debe cotejarse con planes similares de otras áreas para que dicho estudio sea más asertivo.

Así con estos datos se podrá pronosticar de una mejor manera las necesidades de los sistemas para poder satisfacer a los clientes.

Desde luego junto a esto se debe desarrollar la documentación apropiada de los cambios, evaluación de riesgo, procesos de reversión, criterios de satisfacción y demás.

Configuración para un rendimiento óptimo.

Según la función que vaya a ejecutar el equipo es altamente sugerido realizar ciertos ajustes explícitos para así obtener el máximo rendimiento, Microsoft ha publicado una serie de artículos para este fin, los cuales contemplan diferentes escenarios o funciones según la versión de sistema operativo que se esté utilizando.

· Performance Tuning Guidelines for Windows Server 2012R2

· Performance Tuning Guidelines for Windows Server 2012

· Performance Tuning Guidelines for Windows Server 2008R2

· Performance Tuning Guidelines for Windows Server 2003

Adicionalmente se sugiere consultar la documentación del producto así como aquella del vendedor del hardware.

Puntos como por ejemplo deshabilitar RSS y TCP Chimney pueden tener un gran impacto en el rendimiento general.

Virtualización?

Wow esto a veces se presenta como la cura de todos los males, pero estamos conscientes de las recomendaciones y limitaciones de la virtualización?

Algo así de simple como que usted deberá asignar entre un 110% y 125% de los recursos que antes tenía a un equipo virtual para obtener un rendimiento similar al que obtenía cuando era basado en metal.

A continuación tres artículos que le aseguro serán muy útiles.

6 Best Practices for Physical Servers Hosting Hyper-V Roles

http://technet.microsoft.com/en-us/magazine/dd744830.aspx

Hyper-V: Deployment Best Practices

http://social.technet.microsoft.com/wiki/contents/articles/215.hyper-v-deployment-best-practices.aspx

Planning for Hyper-V

http://technet.microsoft.com/en-us/library/dd283088(v=WS.10).aspx

Mejoras al MaxConcurrentApi

Esto se refiera a un parámetro que aumenta la cantidad de hilos para autenticación que maneja el equipo, con lo cual se mejora la experiencia de usuario final. No es algo estrictamente relacionado a rendimiento pero si a cómo se maneja el proceso de autenticación, sin el cual no tenemos acceso a nuestros preciados datos.

http://blogs.technet.com/b/ad/archive/2008/09/23/ntlm-and-maxconcurrentapi-concerns.aspx

http://support.microsoft.com/kb/326040

Optimización de los perfiles de poder

Como parte de las iniciativas de “Green IT” y otras similares que buscan ahorrar en temas de consumo energético, el perfil de poder por defecto es el “Balanceado”.

Dicho conjunto de parámetros busca un consumo responsable de energía pero limita por ejemplo la utilización del procesador (down clocking), lo cual no permite obtener el rendimiento máximo de este.

Es por esto que se sugiere utilizar el perfil de poder de “Alto Rendimiento”.

Para asegurar una configuración homogénea es sugerido aplicar estos parámetros por medio de una política grupal o GPO.

clip_image002

Más información sobre este tema puede encontrarse en el siguiente enlace http://support.microsoft.com/kb/2207548

Configuración SMB v2.0

Server Message Block (SMB) es el protocolo por defecto para compartir archivos en equipos Windows. Su última versión la 2.0 fue dimensionada para satisfacer las necesidades de los archivos de servidores actuales y futuros, esta versión permite enviar múltiples comandos en un mismo paquete (reduciendo así la cantidad de paquetes enviados entre cliente-servidor), tamaños de buffer mucho mayores, más conexiones concurrentes al igual que una cantidad mayor de recursos compartidos, soporte de Symbolic Links y Durable Handles entre otros.

Ahora bien existen casos donde por ejemplo la coexistencia de múltiples versiones de sistemas operativos, así como diferentes capacidades de tarjetas de red y otros que ameritan SMB v2.0 sea deshabilitado.

Esto se puede lograr con un rápido cambio en el Windows Registry, específicamente en la llave HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\SMB2

clip_image004

De hecho los mismos documentos de “Performance tuning” sugieren no habilitar otros servicios y/o prestaciones de SMB a menos que sean estrictamente necesarios/sugeridos tal como SMB signing, cache de lado de clientes, minifiltros, compresión NTFS, encriptado NTFS y otros.

Para mayor información refiérase a la sección “Tuning Parameters for SMB File Servers” de dicho documento.

Adicionalmente tareas de copiado de archivos pueden ser también optimizadas por ejemplo con los parámetros /Q y /K de xcopy, el primero ayuda a reducir la carga al procesador al reducir la información que se muestra en la consola y el segundo reduce el tráfico en la red.

http://technet.microsoft.com/en-us/library/bb491035.aspx

Otro ejemplo útil es la utilización del parámetro /MT en robocopy el cual mejora los tiempos de transferencia de archivos al utilizar múltiples threads.

http://technet.microsoft.com/en-us/library/cc733145(v=WS.10).aspx

Aplicación de actualizaciones.

Parte del procedimiento de mantenimiento de los equipos es la instalación de las actualizaciones en un tiempo apropiado.

Microsoft publica las actualizaciones el segundo Martes de cada mes, adicionalmente existen excepciones donde una actualización es publicada fuera de este periodo por su alta prioridad.

Deben también contemplarse las actualizaciones de productos de terceros así como del fabricante de hardware.

Este es un tema tabú, pero ya luego escribiré un poco sobre todo el largo proceso que Microsoft ejecuta previo a la publicación de las actualizaciones.

Recuerde también que la carencia de estas puede llevarle inclusive a un punto de no obtener soporte por parte del fabricante.

En el caso de máquinas virtuales también contemplarse las actualizaciones de las herramientas y controladores propios de estos llamados Integration Services.

En la siguiente imagen se muestra como obtener el número de versión del Integration Services de un equipo o bien visite el siguiente enlace para conocer otro método.

clip_image006

http://technet.microsoft.com/en-us/library/ee207413(v=WS.10).aspx

Otro recurso valioso es el sitio Microsoft Update Catalog donde usted puede obtener información de las actualizaciones y también descargarlas individualmente.

Configuración del antivirus.

No, instalar un antivirus y dar media vuelta no basta.

Dichos productos pueden tener un gran impacto en el rendimiento y operación de sus equipos, para más información visite:

http://support.microsoft.com/kb/822158

Veamos por ejemplo algunas de las recomendaciones para los equipos que ejecutan Hyper-V:

· Default virtual machine configuration directory (C:\ProgramData\Microsoft\Windows\Hyper-V)

· Custom virtual machine configuration directories

· Default virtual hard disk drive directory (C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks)

· Custom virtual hard disk drive directories

· Custom replication data directories, if you are using Hyper-V Replica

· Snapshot directories

· Vmms.exe (Note: This file may have to be configured as a process exclusion within the antivirus software.)

· Vmwp.exe (Note: This file may have to be configured as a process exclusion within the antivirus software.)

Almacenaje

Esto del almacenaje corporativo no es lo mío, simplemente paso molestando a los señores que lo administran solicitando más espacio (lo cual creo todos hacemos) pero veamos un par de cosas...

Según las mejores prácticas es altamente recomendado implementar discos que funcionen a 10,000RPM para así obtener un alto rendimiento de estos.

También creo van a querer recordar que si hacen un análisis de rendimiento y este muestra un cuello de botella en las colas de disco, pero los tiempos de respuesta de escritura/lectura están bien es sugerido mirar a los HBAs o fabrics, si por el contrario no hay colas en los discos, pero los tiempos de lectura/escritura están por arriba de los 15 (preocupante) o 25 (muy preocupante) milisegundos entonces esto sugiera revisar el almacenamiento en sí.

Quizás su aplicativo/servidor necesita discos dedicados versus un volumen X, también hay casos donde un pass-thru disk puede ser la solución, esto cuando tenemos virtualización presente.

Como dije esto no es lo mío pero acá encontraran bastante información http://mcpmag.com/articles/2011/05/12/how-to-speak-san-ish.aspx

Y la red?

Ya sea físico o virtual, tener tarjetas de red dedicadas nos puede ayudar muchísimo por ejemplo escenarios donde necesitas replicar información, dedícale una tarjeta!

Y si hablamos de Hyper-V pues aún más, no creo que vayas a obtener un rendimiento óptimo si en una misma tarjeta de red están tu Exchange y ese aplicativo clave al que N usuarios de la compañía se conecta.

Ahora, que hay entre los servidores? E visto casos donde un equipo de ruteo no está configurado apropiadamente y este causa un cuello de botella. No les va a agradar, pero igual contacta a los compañeros de redes y verifica esto.

Modificar VMQ (Hyper-V)

Parte de las prestaciones del sistema operativo en conjunto con las tarjetas de red permiten la optimización del control del tráfico en estas, dicha prestación debe manipularse explícitamente en la o las tarjetas donde es requerido, esto es llamado Virtual Machine Queue.

http://technet.microsoft.com/en-us/library/gg162704(v=ws.10).aspx

https://social.technet.microsoft.com/wiki/contents/articles/13066.hyper-v-vmq-should-be-enabled-on-vmq-capable-physical-network-adapters-bound-to-an-external-virtual-switch.aspx

Bueno, ahora creo que la próxima vez que alguien le cuestione sobre el rendimiento de algún componente del ambiente usted se divertirá un buen rato mientras analiza los N ingredientes de esta dulce receta.

Hasta pronto!

~danny (aka daemonR00t)

June 13, 2013

Consultando LDAP.

LDAP (si, el corazón de Active Directory) fue hecho para que lo consultemos, pero ¿no les pasa que a veces como que no hacemos las mejores preguntas? Sí, claro tal como cuando hablamos y no nos expresamos de la mejor manera así puede suceder cuando “hablamos” con el directorio.
El primer punto a definir es la base, el punto de partida a partir de donde estoy consultando, este puede ser desde la raíz del dominio, o bien en el contenedor de Sites de la partición de Configuration o porque no desde un Organization Unit explícito. Inclusive si no estamos seguros de la localización del objeto en el bosque pues podríamos consultar al Global Catalog directamente, esto con las restricciones pertinentes (para agregar más atributos al PAS véase http://support.microsoft.com/kb/248717 ).
Lo anterior va ligado también al tema del ámbito de nuestra búsqueda, por ejemplo si buscamos un único objeto es sugerido usar la opción de Base. Ahora si buscamos múltiples objetos que se encuentra en un mismo contenedor se recomienda utilizar el ámbito  de One-Level, mientras que si no tenemos certeza del almacenamiento de los objetos de nuestra búsqueda es recomendado utilizar la opción de Subtree; esta la podemos ver como una búsqueda recursiva.
Ahora existen atributos que se agregan a un índice, el cual disminuye los tiempos de repuesta y costo de las consultas al directorio, desde luego no todo está indexado, aun así si usted lo requiere puede agregar más atributos al índice siguiente la documentación de este articulo http://technet.microsoft.com/en-us/library/aa995762(v=EXCHG.65).aspx
Un claro ejemplo de lo anterior son los atributos objectCategory y el objectClass, en este caso el segundo no está indexado, así que se sugiere evitar utilizarlo en la medida de lo posible.
Otra buena práctica es también limitar el resultado, es mucho mejor obtener únicamente aquellos atributos que realmente necesitamos versus todos los atributos del objeto/clase en cuestión.
También con cierta regularidad encuentro ambientes donde las políticas de LDAP son alteradas, cambiando así comportamientos como la paginación, es mejor que el aplicativo sea programado de una forma inteligente que utilice paginación versus poner en riesgo la estabilidad del servicio. Para mayor información refiérase a http://support.microsoft.com/kb/315071 .Nótese también que a partir de Windows Server 2008 se introducen limites fijos para ciertos parámetros http://support.microsoft.com/kb/2009267
Existen más recomendaciones, por ejemplo para la aplicación apropiada de operadores o bien las búsquedas con ARN y más, sugiero si este tema es de su interese visitar http://msdn.microsoft.com/en-us/library/ms808539.aspx Estas recomendaciones aplican tanto para consultas por ADSI, PowerShell u otros métodos.
Ahora Windows Server también nos provee herramientas para la verificación y localización de consultas no optimas, a continuación algunos trucos para esto, simples cambios en el registro de los Controladores de Dominio que generaran las bitácoras apropiadas.
HKEY_LOCAL_MACHINE\SYSTEM\Current Control Set\Services\NTDS\Diagnostics\ 9 Internal Processing
Al asignar un valor de 4 a esta llave de registro se registrara la utilización de los índices.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics\15 Field Engineering
Asignar valor de 4 para generar entradas en la bitácora sobre las consultas costosas o ineficientes generadas durante el último ciclo de recolección (ejecución del Garbage Collector + mantenimiento en línea de la base de datos (cada 12 horas por defecto) o bien un valor de 5 para generar bitácoras por cada una de estas consultas.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Expensive Search Results Threshold
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\Inefficient Search Results Threshold
Los elementos anteriores categorizaran las consultas según corresponda, sus valores por defecto son 10000 y 1000 respectivamente. Donde una consulta que visite o toque más de 10000 objetos es considerada costosa y una consulta se cataloga como ineficiente si esta visita más de un-mil objetos y de estos retorna menos de un 10% de estos.
ldpQuery
Recuerde, pregunte lo que necesita, reduzca el ámbito de esta pregunta de una forma inteligente y por último filtre el resultado según su necesidad.
Que bien se siente blogguear de Nuevo!

GPPs, una excelente herramienta.

Con Windows 2008 se introdujeron las “Group Policy Preferences”, estas nos brindan una rica experiencia al poder manipular parámetros que antes no estaban disponibles o bien que eran un poco rígidos por así decirlo.
Desde luego existen diferencias entre las políticas regulares que ya conocemos y estas. Como por ejemplo el hecho de que los parámetros de configuración no son forzados, es decir la política te aplica pero aun luego de esto puedes manipular el/los parámetros en cuestión versus una política regular donde las opciones no son manipulables.
Aun así un punto interesante es que al remover un GPP los parámetros originales no se reestablecerán por sí mismos. Otro punto a destacar es que no debemos preocuparnos si por ejemplo el aplicativo al que le estamos buscando aplicar la política o no es capaz de interpretar la política, esto pues las GPP proveen al administrador una interfaz muy amigable para poder hacer modificaciones al registro de Windows, tal como se detalla en la siguiente imagen:
gpp00
Otra diferencia es el punto que podemos configurar un GPP para que aplique una única vez, como sabemos las políticas son refrescadas cada 90 minutos de forma automática, este comportamiento por defecto es compartido pero existen casos donde puede que se necesite aplicar cierta configuración una única vez y también permitir al usuario final manipular esta.
Algo que en lo personal me encanta es el “ítem level targetting”, una prestación que me permite filtrar de una manera muy detallada y minuciosa, por ejemplo basado en la cantidad de RAM, versión del OS y más.
Además, por medio de esto yo en una misma política podría aplicar múltiples filtros, algo que normalmente ameritaría múltiples políticas.
Para utilizar esta opción de filtrado deberá navegar a la etiqueta de “Common” y ahí habilitar la opción de “Item Level Targetting”.
gpp01
Lamentablemente he observado que los GPPs por alguna razón son subutilizados, les insto a tomar unos minutos y valorar esta excelente opción para sus ambientes. Para
mayor información refiérase a http://www.microsoft.com/en-us/download/details.aspx?id=24449
Hasta pronto!

Exchange 2010 SP3

data
Bueno y ya está el Service Pack 3 para Exchange Server 2010 disponible para su descarga http://www.microsoft.com/en-us/download/details.aspx?id=36768
Este además los fixes acumulativos provee compatibilidad con Exchange 2013, Windows 2012 e inclusive con el Internet Explorer 10.
Y hablando de Exchange 2013 les comento que está buenísimo! Se ha simplificado la infraestructura, ahora solo hay servidores tipo Mailbox y Client Access. Sí, todo lo que es transporte es ahora simplemente un servicio, además nuestro fiel y viejo amigo MAPI (Messaging API RPC) está ahora en desuso… si vamos hacia RPS sobre HTTPS.
También ahora podemos despreocuparnos del tema aquel de los URL internos y externos, que alegría me trae eso… al igual lo que se refiere a métodos de autenticación y certificados se simplifico.
Y si aun así necesitas más razones para moverte al nuevo Exchange, te invito a leer un poco sobre “Managed Availability” http://blogs.technet.com/b/exchange/archive/2012/09/21/lessons-from-the-datacenter-managed-availability.aspx
.

Libros gratis :)

¿Y que tal un ebook para aprender sobre esa tecnología o producto que tanto te llama la atención?
Pues ahora es ¡cuando! http://blogs.msdn.com/b/mssmallbiz/archive/2012/07/27/large-collection-of-free-microsoft-ebooks-for-you-including-sharepoint-visual-studio-windows-phone-windows-8-office-365-office-2010-sql-server-2012-azure-and-more.aspx

El nuevo Exchange

Aun recuerdo mi cambio del mundo de Lotus Notes a Exchange 2000, de hecho desde acá veo los libros de los MOCs que aun conservo en mi librero y wow… ya viene el nuevo Exchange, como pasa el tiempo de rápido cuando uno se divierte.
http://blogs.technet.com/b/exchange/archive/2012/07/23/the-new-exchange.aspx

OABValidate

Como parte de las múltiples tareas que ejecuta el MSExchageSA esta la generación/actualización de las libretas de direcciones. Esto por defecto se hace diariamente a eso de las 0500 horas, el proceso OABGen es el encargado.
Si gustas ver mas información eleva el detalle del generado de bitácoras (Set-EventLogLevel -Identity "MSExchangeSA\OAL Generator" -Level Medium).
Existen casos en los que entradas corruptas en el directorio causan que estos procesos fallen, por ejemplo usuarios con direcciones SMTP invalidas, o bien caracteres inválidos o punteros incorrectos como un homeMDB que apunta a un servidor que ya no existe.
Realmente señalar y arreglar aquellos objetos que están causando estos inconvenientes puede ser una tarea agotadora y que consume muchísimo tiempo, pero con la herramienta OABValidate esto se disminuye a tan solo minutos.
Esta básicamente emula el comportamiento del OABGen y genera un archivo con las entradas corruptas, bingo!
Para mayor información http://blogs.msdn.com/b/dgoldman/archive/2005/03/31/overview-of-the-oabgen-process.aspx
Para bajar el utilitario http://oabvalidate.codeplex.com/releases/view/72281
Hasta muy pronto!

Consejos de WSUS

Buenas amigos,
Acá documento un poco esos despistes u omisiones comunes que tenemos con los servidores de WSUS y los procesos de parcheo, esto basado en el día a día de lo que uno se encuentra en la calle.
Recordemos que el único “punto negativo” es que WSUS no hace push de los binarios, mas con un script que por ejemplo mi amigo Jimcesse hizo, esto se puede solucionar.
Primero es optimo que el equipo mismo del WSUS este este actualizado apropiadamente, esto pues las actualizaciones propias de él incluyen entre otros los nuevos productos/categorías que este puede distribuir.
Seria muy positivo configurar los servidores para que estos nos envíen notificaciones por correo electrónico cuando se descargan nuevas actualizaciones, esto nos avisaría oportunamente sobre nuevos binarios. Dicho reporte puede ser enviado en Español o en muchos otros idiomas de preferencia.
Acá les muestro un ejemplo de este reporte.
Subject: WSUS: New Update(s) Alert From SYS-WSUS001
New Update Alert
The following 17 new updates have been synchronized to BDC-ADMGT001 since Wednesday, May 23, 2012 9:05 AM (GMT).
Critical and Security Updates
Security Update for Microsoft .NET Framework 2.0 SP2 on Windows Server 2003 for Itanium-based Systems (KB2656352)
A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.
Security Update for Microsoft .NET Framework 2.0 SP2 on Windows Server 2003 and Windows XP for x64-based Systems (KB2656352)
A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.
Ahora bien, sobre la división de los grupos; es optimo crear los grupos basados en sistema operativo, arquitectura y función que el servidor desempeña, esto desde luego sin abusar de estos.
Por ejemplo:
WinServ 2003 / i386 / web (versión del sistema operativo / arquitectura / función)
WinServ 2008 / i386 / web
WinServ 2008 R2 / x64 /web
*El Service Pack acá no lo estamos tomando en cuenta pues como sabemos las mejores practicas sugieren tener la ultima versión de este instalado, de lo contrario si ese día ando yo con mi gafete de MSFT pues será lo primero que le indique.
Por orden y respeto a otros compañeros sugiero crear alguna estructura de nombres en la medida de lo posible intuitiva y explicita, algo como
wsus-ws2k3-i386-web
wsus-ws2k8-i386-web
wsus-ws2k8r2-x64-web
Esta se puede aplicar tanto para los grupos del WSUS mismo y los grupos de seguridad para el filtrado de políticas.
Cambiando un poco el tema pero sobre la línea del manejo de actualizaciones y parches les comento también un poco sobre la resolución de problemas en el cliente final.
Todas las actividades relacionadas al agente de actualizaciones de Windows se registran en el archivo windowsupdate.log, que por defecto se ubica en C:\Windows.
Este archivo afortunadamente es fácil de leer, el muestra información detallada cuando arranca el agente, con que servidor sincroniza, que actualizaciones se encontraron y mas.
Sugiero lo leas desde la consola con el comando type, este recorrerá el archivo y te muestra las ultimas líneas, que contienen la información mas reciente.
En el siguiente ejemplo puede ver como leer el archivo local, o bien para un equipo remoto. Desde luego con los permisos respectivos.
C:\>type \\equipoRemoto\C$\Windows\WindowsUpdate.log
2012-05-31      15:00:08:544    6580    1bf4    Misc    ===========  Logging initialized (build: 7.8.8250.0, tz: -0600)  ===========
2012-05-31      15:00:08:544    6580    1bf4    Misc      = Process: C:\Windows\system32\cscript.exe
2012-05-31      15:00:08:544    6580    1bf4    Misc      = Module: C:\Windows\System32\wuapi.dll
2012-05-31      15:00:08:544    6580    1bf4    COMAPI  ———–  COMAPI: IUpdateServiceManager::AddService2  ———–
2012-05-31      15:00:08:546    6580    1bf4    COMAPI    – Service ID = {7971f918-a847-4430-9279-4a52d1efe18d}
2012-05-31      15:00:08:596    6580    1bf4    COMAPI    – Allow pending registration = Yes; Allow online registration = Yes; Register service with AU = Yes
2012-05-31      15:00:08:661    6580    1bf4    COMAPI    – Authorization cab path =
2012-05-31      15:00:08:775    6580    1bf4    COMAPI    – Added service, URL = https://winbeta.update.microsoft.com/v6/

C:\>type C:\Windows\WindowsUpdate.logm
2012-05-31      14:22:13:746    1240    f14     Agent     * Added update {79B7AB58-733A-468C-A69A-97FC302409CD}.2 to search result
2012-05-31      14:22:13:746    1240    f14     Agent     * Added update {1582FC6C-C2B8-426A-90D0-3890B205B654}.2 to search result
2012-05-31      14:22:13:747    1240    f14     Agent     * Added update {815FBB17-398D-4549-A679-F2F0492BF4D5}.2 to search result
2012-05-31      14:22:13:747    1240    f14     Agent     * Found 8 updates and 20 categories in search; evaluated appl. rules of 42 out of 59 deployed entities
Por ejemplo en los ejemplos anteriores fácilmente podemos determinar de donde se están obteniendo las actualizaciones y la cantidad encontradas.
Para mayor información visite http://support.microsoft.com/kb/902093 .
Ahora bien, el agente de actualizaciones corre con el ejecutable wuauclt.exe. Algunos de los parámetros que les pueden ser útiles.
wuauclt /detectnow (Causa que se detecten y apliquen las actualizaciones que estén aprobadas).
wuauclt /reportnow (Causa que el cliente reporte al WSUS su estado/necesidad de actualizaciones).
wuauclt /resetauthorization (Hace un tipo de reset entre el cliente y el servidor al que este le reporta).
Algo muy útil para ejecutar procesos en equipos remotos es el utilitario PsExec, sugiero lo  mires http://technet.microsoft.com/es-es/sysinternals/bb897553
Son muy pocos los casos en los que he encontrado problemas del agente en si, lo mas que he tenido con clientes que por otros problemas no reportan en u largo tiempo entonces ejecuto un “wuauclt /resetauthorization /detectnow”, lo cual como les comente recrea la relación entre el cliente y el servidor WSUS y además en este caso iniciaría el proceso de instalación y reporte posterior (de haber paquetes ya autorizados) o bien una versión muy viejita de este.
Recordemos que las actualizaciones son publicadas el segundo martes de cada mes aunque también existen aquellas criticas que simplemente no pueden esperar y por ultimo que un WSUS puede servirle a múltiples dominios e inclusive equipos fuera del contexto de seguridad del dominio, siempre y cuando las redes nos permitan una comunicación efectiva.
Suerte amigos y recuerden de mantener sus sistema actualizados.

Versión de esquema 52.

Para esos curiosos, esto es lo que trae la versión del esquema 52 (Windows Server 8 Consumer Preview).
ldapDisplayName: msDS-MembersOfResourcePropertyList
adminDescription: For a resource property list object, this multi-valued link attribute points to one or more resource property objects.
ldapDisplayName: msDS-MembersOfResourcePropertyListBL
adminDescription: Backlink for ms-DS-Members-Of-Resource-Property-List. For a resource property object, this attribute references the resource property list object that it is a member of.
ldapDisplayName: msDS-ClaimValueType
adminDescription: For a claim type object, specifies the value type of the claims issued.
ldapDisplayName: msDS-ClaimPossibleValues
adminDescription: For a claim type or resource property object, this attribute describes the values suggested to a user when the he/she use the claim type or resource property in applications.
ldapDisplayName: msDS-ClaimAttributeSource
adminDescription: For a claim type object, this attribute points to the attribute that will be used as the source for the claim type.
ldapDisplayName: msDS-ClaimTypeAppliesToClass
adminDescription: For a claim type object, this linked attribute points to the AD security principal classes that for which claims should be issued. (For example, a link to the user class).
ldapDisplayName: msDS-ClaimSharesPossibleValuesWith
adminDescription: For a resource property object, this attribute indicates that the suggested values of the claims issued are defined on the object that this linked attribute points to. Overrides ms-DS-Claim-Possible-Values on itself, if populated.
ldapDisplayName: msDS-ClaimSharesPossibleValuesWithBL
adminDescription: For a claim type object, this attribute indicates that the possible values described in ms-DS-Claim-Possible-Values are being referenced by other claim type objects.
ldapDisplayName: msDS-IsUsedAsResourceSecurityAttribute
adminDescription: For a resource property, this attribute indicates whether it is being used as a secure attribute.
ldapDisplayName: msSPP-KMSIds
adminDescription: KMS IDs enabled by the Activation Object
ldapDisplayName: msSPP-CSVLKPid
adminDescription: ID of CSVLK product-key used to create the Activation Object
ldapDisplayName: msSPP-CSVLKSkuId
adminDescription: SKU ID of CSVLK product-key used to create the Activation Object
ldapDisplayName: msSPP-PhoneLicense
adminDescription: License used during phone activation of the Active Directory forest
ldapDisplayName: msSPP-ConfigLicense
adminDescription: Product-key configuration license used during online/phone activation of the Active Directory forest
ldapDisplayName: msSPP-OnlineLicense
adminDescription: License used during online activation of the Active Directory forest
ldapDisplayName: msSPP-ConfirmationId
adminDescription: Confirmation ID (CID) used for phone activation of the Active Directory forest
ldapDisplayName: msSPP-InstallationId
adminDescription: Installation ID (IID) used for phone activation of the Active Directory forest
ldapDisplayName: msSPP-IssuanceLicense
adminDescription: Issuance license used during online/phone activation of the Active Directory forest
ldapDisplayName: msSPP-CSVLKPartialProductKey
adminDescription: Last 5 characters of CSVLK product-key used to create the Activation Object
ldapDisplayName: msTPM-SrkPubThumbprint
adminDescription: This attribute contains the thumbprint of the SrkPub corresponding to a particular TPM. This helps to index the TPM devices in the directory.
ldapDisplayName: msTPM-OwnerInformationTemp
adminDescription: This attribute contains temporary owner information for a particular TPM.
ldapDisplayName: msTPM-TpmInformationForComputer
adminDescription: This attribute links a Computer object to a TPM object.
ldapDisplayName: msTPM-TpmInformationForComputerBL
adminDescription: This attribute links a TPM object to the Computer objects associated with it.
ldapDisplayName: msDS-ClaimTypes
adminDescription: A container of this class can contain claim type objects.
ldapDisplayName: msDS-ResourcePropertyList
adminDescription: An object of this class contains a list of resource properties.
ldapDisplayName: msDS-ResourceProperties
adminDescription: A container of this class can contain resource properties.
ldapDisplayName: msDS-ClaimTypePropertyBase
adminDescription: An abstract class that defines the base class for claim type or resource property classes.
ldapDisplayName: msDS-ResourceProperty
adminDescription: An instance of this class holds the definition of a property on resources.
ldapDisplayName: msDS-ClaimType
adminDescription: An instance of this class holds the definition of a claim type that can be defined on security principals.
ldapDisplayName: msSPP-ActivationObjectsContainer
adminDescription: Container for Activation Objects used by Active Directory based activation
ldapDisplayName: msSPP-ActivationObject
adminDescription: Activation Object used in Active Directory based activation
ldapDisplayName: msTPM-InformationObjectsContainer
adminDescription: Container for TPM objects.
ldapDisplayName: msTPM-InformationObject
adminDescription: This class contains recovery information for a Trusted Platform Module (TPM) device.
ldapDisplayName: msDNS-IsSigned
adminDescription: An attribute used to define whether or not the DNS zone is signed.
ldapDisplayName: msDNS-NSEC3OptOut
adminDescription: An attribute used to define whether or not the DNS zone should be signed using NSEC opt-out.
ldapDisplayName: msDNS-SigningKeys
adminDescription: An attribute that contains the set of encrypted DNSSEC signing keys used by the DNS server to sign the DNS zone.
ldapDisplayName: msDNS-SignWithNSEC3
adminDescription: An attribute used to define whether or not the DNS zone is signed with NSEC3.
ldapDisplayName: msDNS-NSEC3UserSalt
adminDescription: An attribute that defines a user-specified NSEC3 salt string to use when signing the DNS zone. If empty, random salt will be used.
ldapDisplayName: msDNS-DNSKEYRecords
adminDescription: An attribute that contains the DNSKEY record set for the root of the DNS zone and the root key signing key signature records.
ldapDisplayName: msDNS-DSRecordSetTTL
adminDescription: An attribute that defines the time-to-live (TTL) value assigned to DS records when signing the DNS zone.
ldapDisplayName: msDNS-KeymasterZones
adminDescription: A list of Active Directory-integrated zones for which the DNS server is the keymaster.
ldapDisplayName: msDNS-NSEC3Iterations
adminDescription: An attribute that defines how many NSEC3 hash iterations to perform when signing the DNS zone.
ldapDisplayName: msDNS-PropagationTime
adminDescription: An attribute used to define in seconds the expected time required to propagate zone changes through Active Directory.
ldapDisplayName: msDNS-NSEC3CurrentSalt
adminDescription: An attribute that defines the current NSEC3 salt string being used to sign the DNS zone.
ldapDisplayName: msDNS-RFC5011KeyRollovers
adminDescription: An attribute that defines whether or not the DNS zone should be maintained using key rollover procedures defined in RFC 5011.
ldapDisplayName: msDNS-NSEC3HashAlgorithm
adminDescription: An attribute that defines the NSEC3 hash algorithm to use when signing the DNS zone.
ldapDisplayName: msDNS-DSRecordAlgorithms
adminDescription: An attribute used to define the algorithms used when writing the dsset file during zone signing.
ldapDisplayName: msDNS-DNSKEYRecordSetTTL
adminDescription: An attribute that defines the time-to-live (TTL) value assigned to DNSKEY records when signing the DNS zone.
ldapDisplayName: msDNS-MaintainTrustAnchor
adminDescription: An attribute used to define the type of trust anchor to automatically publish in the forest-wide trust anchor store when the DNS zone is signed.
ldapDisplayName: msDNS-NSEC3RandomSaltLength
adminDescription: An attribute that defines the length in bytes of the random salt used when signing the DNS zone.
ldapDisplayName: msDNS-SigningKeyDescriptors
adminDescription: An attribute that contains the set of DNSSEC Signing Key Descriptors (SKDs) used by the DNS server to generate keys and sign the DNS zone.
ldapDisplayName: msDNS-SignatureInceptionOffset
adminDescription: An attribute that defines in seconds how far in the past DNSSEC signature validity periods should begin when signing the DNS zone.
ldapDisplayName: msDNS-ParentHasSecureDelegation
adminDescription: An attribute used to define whether the parental delegation to the DNS zone is secure.
ldapDisplayName: msDNS-SecureDelegationPollingPeriod
adminDescription: An attribute that defines in seconds the time between polling attempts for child zone key rollovers.
ldapDisplayName: msAuthz-MemberRulesInCentralAccessPolicy
adminDescription: For a central access policy, this attribute identifies the central access rules that comprise the policy.
ldapDisplayName: msAuthz-MemberRulesInCentralAccessPolicyBL
adminDescription: Backlink for ms-Authz-Member-Rules-In-Central-Access-Policy. For a central access rule object, this attribute references one or more central access policies that point to it.
ldapDisplayName: msDS-ClaimSource
adminDescription: For a claim type, this attribute indicates the source of the claim type. For example, the source can be certificate.
ldapDisplayName: msAuthz-ProposedSecurityPolicy
adminDescription: For a Central Access Policy Entry, defines the proposed security policy of the objects the CAPE is applied to.
ldapDisplayName: msDS-ClaimSourceType
adminDescription: For a security principal claim type, lists the type of store the issued claim is sourced from
ldapDisplayName: msAuthz-EffectiveSecurityPolicy
adminDescription: For a central access rule, this attribute defines the permission that is applying to the target resources on the central access rule.
ldapDisplayName: msDS-ClaimIsSingleValued
adminDescription: For a claim type object, this attribute identifies if the claim type or resource property can only contain single value.
ldapDisplayName: msAuthz-LastEffectiveSecurityPolicy
adminDescription: For a Central Access Policy Entry, defines the security policy that was last applied to the objects the CAPE is applied to.
ldapDisplayName: msAuthz-ResourceCondition
adminDescription: For a central access rule, this attribute is an expression that identifies the scope of the target resource to which the policy applies.
ldapDisplayName: msDS-ClaimIsValueSpaceRestricted
adminDescription: For a claim type, this attribute identifies whether a user can input values other than those described in the msDS-ClaimPossibleValues in applications.
ldapDisplayName: msAuthz-CentralAccessPolicyID
adminDescription: For a Central Access Policy, this attribute defines a GUID that can be used to identify the set of policies when applied to a resource.
ldapDisplayName: msDS-GenerationId
adminDescription: For virtual machine snapshot resuming detection. This attribute represents the VM Generation ID.
replace: adminDescription
adminDescription: For a claim type object, indicates that the possible values of the claims issued are defined on the object this linked attribute points to; overrides msDS-ClaimPossibleValues, msDS-ClaimValueType, and msDS-ClaimIsValueSpaceRestricted, if populated.
ldapDisplayName: msDNS-ServerSettings
adminDescription: A container for storing DNS server settings.
ldapDisplayName: msAuthz-CentralAccessPolicies
adminDescription: A container of this class can contain Central Access Policy objects.
ldapDisplayName: msAuthz-CentralAccessRules
adminDescription: A container of this class can contain Central Access Policy Entry objects.
ldapDisplayName: msAuthz-CentralAccessRule
adminDescription: A class that defines Central Access Rules used to construct a central access policy.
ldapDisplayName: msAuthz-CentralAccessPolicy
adminDescription: A class that defines Central Access Policy objects.
ldapDisplayName: msDS-AllowedToActOnBehalfOfOtherIdentity
adminDescription: This attribute is used for access checks to determine if a requestor has permission to act on the behalf of other identities to services running as this account.
ldapDisplayName: msKds-Version
adminDescription: Version number of this root key.
ldapDisplayName: msKds-DomainID
adminDescription: Distinguished name of the Domain Controller which generated this root key.
ldapDisplayName: msKds-KDFParam
adminDescription: Parameters for the key derivation algorithm.
ldapDisplayName: msKds-CreateTime
adminDescription: The time when this root key was created.
ldapDisplayName: msKds-RootKeyData
adminDescription: Root key.
ldapDisplayName: msDS-PrimaryComputer
adminDescription: For a user or group object, identifies the primary computers.
ldapDisplayName: msKds-UseStartTime
adminDescription: The time after which this root key may be used.
ldapDisplayName: msImaging-HashAlgorithm
adminDescription: Contains the name of the hash algorithm used to create the Thumbprint Hash for the Scan Repository/Secure Print Device.
ldapDisplayName: msKds-KDFAlgorithmID
adminDescription: The algorithm name of the key derivation function used to compute keys.
ldapDisplayName: msImaging-ThumbprintHash
adminDescription: Contains a hash of the security certificate for the Scan Repository/Secure Print Device.
ldapDisplayName: msKds-PublicKeyLength
adminDescription: The length of the secret agreement public key.
ldapDisplayName: msKds-PrivateKeyLength
adminDescription: The length of the secret agreement private key.
ldapDisplayName: msDS-IsPrimaryComputerFor
adminDescription: Backlink atribute for msDS-IsPrimaryComputer.
ldapDisplayName: msKds-SecretAgreementParam
adminDescription: The parameters for the secret agreement algorithm.
ldapDisplayName: msKds-SecretAgreementAlgorithmID
adminDescription: The name of the secret agreement algorithm to be used with public keys.
ldapDisplayName: msDS-ValueTypeReference
adminDescription: This attribute is used to link a resource property object to its value type.
ldapDisplayName: msDS-ValueTypeReferenceBL
adminDescription: This is the back link for ms-DS-Value-Type-Reference. It links a value type object back to resource properties.
ldapDisplayName: msDS-IsPossibleValuesPresent
adminDescription: This attribute identifies if ms-DS-Claim-Possible-Values on linked resource property must have value or must not have value.
ldapDisplayName: msKds-ProvRootKey
adminDescription: Root keys for the Group Key Distribution Service.
ldapDisplayName: msKds-ProvServerConfiguration
adminDescription: Configuration for the Group Key Distribution Service.
ldapDisplayName: msDS-ValueType
adminDescription: An value type object holds value type information for a resource property.
ldapDisplayName: msDS-TransformationRules
adminDescription: Specifies the Transformation Rules for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-AppliesToResourceTypes
adminDescription: For a resource property, this attribute indicates what resource types this resource property applies to.
ldapDisplayName: msDS-TransformationRulesCompiled
adminDescription: Blob containing compiled transformation rules.
ldapDisplayName: msDS-EgressClaimsTransformationPolicy
adminDescription: This is a link to a Claims Transformation Policy Object for the egress claims (claims leaving this forest) to the Trusted Domain. This is applicable only for an incoming or bidirectional Cross-Forest Trust. When this link is not present, all claims are allowed to egress as-is.
ldapDisplayName: msDS-IngressClaimsTransformationPolicy
adminDescription: This is a link to a Claims Transformation Policy Object for the ingress claims (claims entering this forest) from the Trusted Domain. This is applicable only for an outgoing or bidirectional Cross-Forest Trust. If this link is absent, all the ingress claims are dropped.
ldapDisplayName: msDS-TDOEgressBL
adminDescription: Backlink to TDO Egress rules link on object.
ldapDisplayName: msDS-TDOIngressBL
adminDescription: Backlink to TDO Ingress rules link on object.
ldapDisplayName: msDS-ManagedPassword
adminDescription: This attribute is the managed password data for a group MSA.
ldapDisplayName: msDS-ManagedPasswordId
adminDescription: This attribute is the identifier for the current managed password data for a group MSA.
ldapDisplayName: msDS-GroupMSAMembership
adminDescription: This attribute is used for access checks to determine if a requestor has permission to retrieve the password for a group MSA.
ldapDisplayName: msDS-GeoCoordinatesAltitude
adminDescription: ms-DS-GeoCoordinates-Altitude
ldapDisplayName: msDS-GeoCoordinatesLatitude
adminDescription: ms-DS-GeoCoordinates-Latitude
ldapDisplayName: msDS-GeoCoordinatesLongitude
adminDescription: ms-DS-GeoCoordinates-Longitude
ldapDisplayName: msDS-ManagedPasswordInterval
adminDescription: This attribute is used to retrieve the number of days before a managed password is automatically changed for a group MSA.
ldapDisplayName: msDS-ManagedPasswordPreviousId
adminDescription: This attribute is the identifier for the previous managed password data for a group MSA.
ldapDisplayName: msDS-ClaimsTransformationPolicies
adminDescription: An object of this class holds the one set of Claims Transformation Policy for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-ClaimsTransformationPolicyType
adminDescription: An object of this class holds the one set of Claims Transformation Policy for Cross-Forest Claims Transformation.
ldapDisplayName: msDS-GroupManagedServiceAccount
adminDescription: The group managed service account class is used to create an account which can be shared by different computers to run Windows services.
ldapDisplayName: msDS-RIDPoolAllocationEnabled
adminDescription: This attribute indicates whether RID pool allocation is enabled or not.
ldapDisplayName: netbootDUID
adminDescription: This attribute is used to store DHCPv6 DUID device ID.
lDAPDisplayName: msDS-cloudExtensionAttribute1
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute2
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute3
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute4
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute5
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute6
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute7
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute8
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute9
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute10
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute11
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute12
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute13
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute14
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute15
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute16
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute17
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute18
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute19
adminDescription: An attribute used to house an arbitrary cloud-relevant string
lDAPDisplayName: msDS-cloudExtensionAttribute20
adminDescription: An attribute used to house an arbitrary cloud-relevant string
ldapDisplayName: msDS-CloudExtensions
adminDescription: A collection of attributes used to house arbitrary cloud-relevant strings

Interesante como se ven cosas relacionadas a la nube…

Sobre las bitácoras de Exchange.

Sabias que referente a las bitácoras de envío/recepción de correo en Microsoft Exchange Server existen limites de retención basados en la fecha de creación así como tamaño máximo de los archivos y de la carpeta que los contiene?
Es una omisión muy común el únicamente configurar tu servidor para que mantenga las bitácoras por un tiempo determinado, obviando los otros dos puntos anteriores.
Claro, todo va a funcionar perfecto hasta que nuestro jefe nos pida rastrear aquel correo de vida a muerte y kabum…
Estos parámetros los podemos manejar con el siguiente cmdlet:
Set-TransportServer -Identity SYS-EXHT-01 -SendProtocolLogMaxDirectorySize 1073741824 -ReceiveProtocolLogMaxDirectorySize 5368709120 -ReceiveProtocolLogMaxFileSize 26214400
En este ejemplo estamos estableciendo los limites de los archivos y las carpetas que los contienen.
Desde luego estos parámetros van a variar en cada ambiente, los parámetros apropiados solo usted los podrá determinar.
Recordemos que los valores deben ingresarse en bytes.
Y como cualquier cambio referente al servicio de transporte este deberá reiniciarse para que estos tomen efecto.
Además, si lo que se desea es mantener registros de aquellos mensajes enviados por algún aplicativo a través de un conector entonces deberá habilitarse el registro a nivel de SMTP.
Hasta pronto y gracias por su tiempo.

Delegación para desbloqueo de cuentas y cambio de contraseñas.

Este pequeño artículo trata explícitamente sobre como delegar un OU o bien un dominio para que un grupo determinado pueda restablecer contraseñas y desbloquear cuentas de usuario
1- Seleccione el OU a delegar, clic derecho “Delegar Control”
clip_image001
2- Agregue el o los grupos que desea delegar. Recuerden que las mejores practicas indican brindar permisos a grupos y no entes individuales.
clip_image002
3- Esta asistente ya tiene ciertas delegaciones predefinidas que les pueden ser útiles, como ven en este ejemplo estoy utilizando la opción de restablecer contraseñas e indicar si estas deben cambiarse en el próximo inicio de sesion.
clip_image003
4- A continuación podrá confirmar su operación antes de ejecutar los cambios.
clip_image004
5- De nuevo navegue a las propiedades del OU que esta delegando, recuerde que las opciones de vista avanzada deben estar habilitadas para poder ver todas las etiquetas correspondientes.
6- Diríjase a las opciones “Avanzadas”.
clip_image005
7- Presione agregar, esto pues debemos delegar permisos sobre un atributo mas.
8- Ahora seleccione la etiqueta de “Propiedades”.
9- En la sección de “Aplica A” selecciones los objetos tipo usuario descendientes.
clip_image006
10- Seleccione la opción de “Permitir” lo siguiente “Leer lockoutTime” y “Escribir lockoutTime”.
11- Si gustan que por ejemplo también se pueda manipular si la contraseña expira o no, si el usuario puede o no cambiarla entonces aplique estos mismos permisos al atributo “userAccountControl
Excelente, esto es todo lo que necesitamos para este escenario.
Hasta pronto.

Truco rápido de DNSCMD.

Hace unos días encontré un caso donde necesitaba agregar un nuevo servidor de nombres a una lista de zonas DNS, por lo que pensé que lo podía hacer con mi amigo DNSCMD.
Realmente me tomo mas tiempo del que creí pues no lograba lo que necesitaba hasta que luego de leer mucha documentación me di cuenta que necesitaba una @ en mi comando.
for /f %a in (zoneList.txt) do dnscmd /recordadd %a @ NS serverName.sysadmin-cr.com /f
El comando anterior leerá una lista de zonas (que también obtuve con este comando) y agregara a serverName.sysadmin-cr.com como un Name Server para esta zona.
Que fácil, no?! Winking smile

July 17, 2012

http://sysadmin-cr.com


Ya visitaste nuestro nuevo sitio? Ahora sumado a todo lo de Active Directory y Exchange también tenemos temas de MOSS, TMG y mucho mas scripting, hasta OpenSource! Los esperamos.

http://sysadmin-cr.com/

June 05, 2012

Nuevo sitio! http://sysadmin-cr.com

Por mucho tiempo me dedique o al menos intente en mi antiguo trabajo a ayudar a otros, responder preguntas posteadas en foros internos, documentar formas de solucionar problemas en general, compartir información. Luego me di cuenta cuan difícil es a veces encontrar información en Español, por lo cual un día me decidí a tener mi propio blog y pues desde ahí tratar de contribuir con la comunidad de informáticos.
No es fácil, pues el lenguaje coloquial local y otros hacen que escribir unas cuantas líneas sea todo un reto, si es que realmente quieres llegar a una audiencia amplia… pero creo por la cantidad y localización de los visitantes en mi blog pues que de alguna u otra forma lo he logrado o bien los motores de búsqueda me han favorecido y de forma equivoca han enviado cibernautas hasta mi.
Bueno, ya hace un tiempo junto con un grupo de buenos amigos nos decidimos por crear un grupo de informáticos, con conocimientos, experiencias y enfoques muy variados, hoy tengo el gusto de fusionar mi blog con el de ellos para así tener la información centralizada.
Agradezco a todos aquellos que tomaron algo de su valioso tiempo para leer mis artículos y realmente espero les hayan sido de provecho. Espero poder contar con ustedes en mi nuevo hogar cibernético en http://sysadmin-cr.com/
Ahí encontraran contenido mixto, pues nuestras áreas de enfoque son las mismas, aunque al final, todos vivimos la cultura geek.
Gracias y hasta pronto!

April 03, 2012

Registros SPF.

Algunas veces en la lucha continua contra el spam caemos en otros problemas, como los de los registros SPF.
A grandes rasgos lo que hace el registro SPF es establecer quien envía correos desde un determinado domino. No nos compliquemos, la forma mas simple y eficaz de crearlos es http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/
Recuerda que aunque tengas varios servidores que envían correo, solo necesitas un registro.
Este registro puede ser validado en http://www.kitterman.com/spf/validate.html
Hasta pronto mis estimados.

March 22, 2012

AD Recycle Bin UI


Y bien continuando con la tendencia que hemos visto en Windows Server 8 Beta pues les comento que también para el AD Recycle Bin se a creado una interfaz grafica.
Desde el mismo Active Directory Administrative Center se puede navegar al contenedor de objetos borrados.
Algo que me gusta mucho es que en la vista por defecto puedes mirar los objetos basados en su ultimo contenedor padre.


En las opciones de recuperación podemos también establecer un nuevo contenedor padre, excelente eso!


Bueno, adelante, a explorar Server 8 amigos!