Está disponible el SP3 del SQL Server 2008:
http://blogs.technet.com/b/dataplatforminsider/archive/2011/10/06/sql-server-2008-sp3-is-now-available.aspx
viernes, 7 de octubre de 2011
SQL Server 2008 SP3!
Etiquetas:
Service Pack,
SP3,
SQL 2008,
SQL 2008 SP3
martes, 4 de octubre de 2011
Setea el check_policy para los logins que no lo tengan
Esta vez voy a hacer un post bien simple pero útil. Hay dos opciones muy interesantes al crear logins que son el check_policy y el check_expiration. La primera nos permite controlar que las contraseñas ingresadas por los usuarios cumplan con los requisitos de seguridad de complejidad de contraseña mientras que la segunda habilita que las contraseñas expiran una vez vencido cierto tiempo. Es importante notar (error muy común) que el check_policy se evalúa AL MOMENTO de setear la contraseña. Esto quiere decir que si creo un usuario, le pongo como contraseña '1' y luego habilito el check_poclicy, dicho usuario va a poder conectarse sin problema. Pero sin en cambio creo el usuario, habilito el check_policy y luego pongo como contraseña '1' no me dejará definirla por no cumplir los requisitos de seguridad. En el primer caso la contraseña '1' le permitirá loguearse pero al momento de querer cambiarla no podrá poner como contraseña '2' sino que ahi si deberá cumplir las reglas definidas.
Una vez terminada la introducción y dejando los conceptos en claro vamos a los bifes. La idea es hacer una consulta que me liste todos los usuarios que no cumplen esta buena práctica y poder cambiar su estado. El script que armé es el siguiente:
Una vez terminada la introducción y dejando los conceptos en claro vamos a los bifes. La idea es hacer una consulta que me liste todos los usuarios que no cumplen esta buena práctica y poder cambiar su estado. El script que armé es el siguiente:
-- ============================================= -- Author: Andrés Aiello -- Create date: 02/05/2011 -- Setea el check_policy para los logins que no lo tengan -- ============================================= DECLARE @SQLQuery varchar(1000) DECLARE @LoginName varchar(255) DECLARE cLogins CURSOR FORWARD_ONLY FOR SELECT name --,is_policy_checked,'ALTER LOGIN [' + name + '] WITH CHECK_POLICY=ON' Query FROM sys.sql_logins WHERE is_policy_checked = 0 /* Ignoro los logins que considere que por algun motivo no deben ser tenidos en cuenta */ AND NOT name IN ('xxxxxxxxxxx') ORDER BY NAME OPEN cLogins FETCH NEXT FROM cLogins INTO @LoginName WHILE @@FETCH_STATUS = 0 BEGIN SET @SQLQuery = 'ALTER LOGIN [' + @LoginName + '] WITH CHECK_POLICY=ON' PRINT @SQLQuery FETCH NEXT FROM cLogins INTO @LoginName END CLOSE cLogins DEALLOCATE cLogins
Este script como pueden ver no ejecuta el código sino que lo saca por la salida. Esto se debe a que una buena idea sería previo a hacer los cambios documentarlos salvando el script y luego ejecutarlo.
En este ejemplo fue para el check_policy, pero si quisieran hacer lo mismo para el expiration es igual solamente que el campo a filtrar es is_expiration_checked.
Andrés
En este ejemplo fue para el check_policy, pero si quisieran hacer lo mismo para el expiration es igual solamente que el campo a filtrar es is_expiration_checked.
Andrés
Etiquetas:
Auditoria,
check policy,
expiration,
expiration password,
is_expiration_checked,
is_policy_checked,
SQL 2008
Controlar CMDShell en SQL
Todos saben que no es deseable tener el CMDShell activado en los servidores, pero hay veces que uno llega a un server y ya se encuentra activado y ahí surge la pregunta de que hacer. La primer medida es cambiar las credenciales para que se ejecute con permisos mínimos, pero no hablaremos de eso ahora. Junto con esto es importante identificar donde se utiliza visto que los permisos dependerán de las llamadas que haga. Como no podemos recorrer base por base viendo si se utiliza, les dejo una consulta que hice para este fin
EXEC sp_MSForeachdb 'SELECT ''?'' DBName, text FROM [?].SYS.SYSCOMMENTS WHERE text LIKE ''%XP_CMDSHELL%'''
Esta consulta retorna todos los lugares donde se utiliza el cmdshell. Hay algunas referencias del sistema que las deberán ignorar.
Saludos!
nota: recordar que la función sp_MSForeachdb es una función no documentada
nota: recordar que la función sp_MSForeachdb es una función no documentada
Suscribirse a:
Entradas (Atom)