Archivo de la categoría: Seguridad

Seguridad

Ejecutar aplicacion de escritorio como Administrador

microsoft-logo Una de las cosas que he necesitado hacer, y que nunca lo recuerdo, es tener la posibilidad de ejecutar directamente una aplicación como administrador.

Esta claro, que siempre tienes la posibilidad de, utilizando el botón derecho del ratón, seccionar la opción de “Ejecutar como administrador” (como se aprecia en la siguiente imagen)

RunAs

Pero existe veces en los que quieres que tu aplicación, solo permita ejecutarse con permisos de Administrador de la maquina, lo que permite realizar ciertas acciones que de otra forma no podrías. En este caso lo que hay que hacer es añadir un archivo de manifiesto o (app.manifest), donde se especifican múltiples metadatos de la aplicación, entre los que destaca, la seguridad.

Para añadir un archivo app.manifest a nuestra aplicacion, solo tienes que:

  • Aañadir desde Visual Studio, un nuevo archivo del tipo “Archivo de manifiesto de aplicación” como podemos apreciar:

app-manifest

  • Una vez añadido, editamos el archivo y donde aparece:
 

lo modificamos para que sea:

 

 

  • Por ultimo, solo nos queda acceder a las propiedades del proyecto, y dentro de Aplicación, seleccionar el archivo de manifiesto que hemos añadido:

app-manifest_2

Así la próxima vez que ejecutes la aplicación, solicitará credenciales de Administrador.

Referencia: Assembly Manifest

 

Service Pack 1 para Office 2013 y SharePoint 2013

sharepoint2013Hoy día 25 de Frebrero, Microsoft ha anunciado la salida del Service Pack 1 para Office 2013 y SharePoint 2013.

Esta nueva versión del Service Pack 1, proporciona correcciones para mejorar: la estabilidad general, funcionalidad y seguridad en Office, SharePoint Server y productos relacionados. Entre las mejoras en la funcionalidad, destaca:

  • Correcciones de compatibilidad para Windows 8.1 e Internet Explorer 11.
  • Mejor soporte para hardware moderno, como dispositivos de alto DPI y la precisión la precisión del touchpad.
  • Nuevas capacidades para Apps de Office y APIs para desarrolladores :).
  • Power Map para Excel, una herramienta de visualización 3D para la cartografía, la exploración y la interacción con los datos geográficos y temporales en Excel (ya está disponible para clientes de Office 365 con  suscripción ProPlus).
  • Mejoras en la tecnología de virtualización Click-to-Run que instala y actualiza aplicaciones de Office 365 de escritorio.
  • SkyDrive Pro es ahora OneDrive for Business (únicamente ha habido un cambio de nombre del producto).

Para mas información, puedes visitar los siguientes KBs para más información sobre las actualizaciones del  Service Pack 1 de los siguientes productos:

Update KB Article
Office 2013 SP1. Covers these applications:

  • Access
  • Excel
  • InfoPath
  • Lync
  • OneDrive for Business
  • OneNote
  • Outlook
  • PowerPoint
  • Publisher
  • Word

 

2817430
Project 2013 SP1 2817433
Visio 2013 SP1 2817443
SharePoint Designer 2013 SP1 2817441
SharePoint Server 2013 SP1 2817429
Project Server 2013 SP1 2817434
Office Web Apps Server 2013 SP1 2817431
All other desktop products and language packs 2850036
All other server products and language packs 2850035

 

IMPORTANTE: Siempre es bueno probar cualquier Service Pack en un entorno no productivo, para detectar y corregir posibles problemas, y así evitar males mayores.

Para mas información: http://support.microsoft.com/kb/2817429

 

ViewFormPagesLockdown para aumentar la seguridad en SharePoint 2010

sharepoint2010 Ayudando a un amigo, vimos que en portales públicos en los que se utiliza SharePoint 2010, puedes tener una mala configuración que a nivel de seguridad, puede ser problemático.

Cuando creas un portal publico (usando las características de Publicación) basado en SharePoint, has de configurar el acceso de usuarios, como anónimo, por lo que por defecto permite que cualquier usuario acceda a los siguientes recursos:

  • /_layouts/viewlsts.aspx
  • /Lists/[ListName]/AlItems.aspx

Esto es un problema de seguridad, ya que estas dando una información muy importante a usuarios anónimos, que podrían usar en tu contra… pero no hay problema ya que SharePoint trae una característica oculta a nivel de Site, llamada ViewFormPagesLockdown, que deshabilita el acceso a estos recursos de forma anónima.

Para activar esta funcionalidad, hay que utilizar un par de comandos de PowerShell:

1) Obtenemos el GUID de la característica ViewFormPagesLockdown, la cual como he comentado esta oculta con el siguiente comando:

Get-SPFeature | where { $_.DisplayName -eq "ViewFormPagesLockdown"}

ViewFormPagesLockdown

2) Una vez tenemos el GUID o identificador, lo que hacemos es activarlo:

Enable-SPFeature -url http://sharepoint -identity 7c637b23-06c4-4724-9a9a-7c175762c5c4 -confirm:$false

Tras este cambio, los usuarios tendrán que autenticarse, para acceder a estos recursos.

IMPORTANTE: Puedes tener problemas si dentro de esta colección de sitio, tienes subsitios de tipo Blog, en los que los usuarios pueden realizar comentarios sobre post o similares… para solucionar este tipo de problema, en el blog de sharepointblues.com te explican como se puede solucionar.

Listado de permisos de usuarios de un sitio en SharePoint 2010

powershellUna de las ultimas cosas que me han solicitado es recuperar todos los usuarios y sus permisos de una colección de sitio o subsitio en SharePoint 2010

La forma mas rápida que se me ocurrió es la de crear un script de PowerShell para ello. Como creo que os podría ser de utilidad, lo comparto con todos vosotros:

function Get-UsersPermissions([string]$portalurl, [String[]]$excludewebs, [string]$onesite) 
{ 
    [void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 
    $farm = [Microsoft.SharePoint.Administration.SPFarm]::Local 
	#añade la barra si no existe
    if (-not $portalurl.EndsWith("/")) { $portalurl = $portalurl + "/" } 
	#recorre todos los servicios de la granaja
    foreach ($spService in $farm.Services) 
	{ 
        if (!($spService -is [Microsoft.SharePoint.Administration.SPWebService])) { continue; } 
        foreach ($webApp in $spService.WebApplications) 
		{ 
            if ($webApp -is [Microsoft.SharePoint.Administration.SPAdministrationWebApplication]) { continue; } 
			$webAppUrl = $webApp.GetResponseUri('Default').AbsoluteUri 
			if ($webAppUrl.ToUpper() -eq $portalurl.ToUpper())
			{ 
				#recorre las colecciones que existen en la aplicacion web
				foreach ($site in $webApp.Sites) 
				{ 
					#si existe algun parametro 
					if (($onesite -ne $null) -and ($onesite -ne "")) 
					{ 
						#verifica si se ha incluido el parametro Web
						if ($site.Url.ToUpper() -ne $onesite.ToUpper()) { continue; } 
					} 
					#recorre los sitios que existen en la coleccion
					foreach ($web in $site.AllWebs) 
					{ 
						if ($excludewebs -contains $web.Url) 
						{ 
							Write-Host "Se ha excluido el sigioente sitio: " $web.Url 
							continue 
						} 
						foreach ($user in $web.SiteUsers)
						{ 
							#excluye al usuario: sharepoint\system 
							if ($user.Loginname.StartsWith("SHAREPOINT\")) { continue; } 
							#recupera la informacion a mostrar
							$data = @{ 
										"Coleccion" = $site.Url 
										"Url sitio" = $web.Url 
										"Nombre sitio" = $web.Title 
										"Usuario" = $user.Loginname 
										"Nombre" = $user.Name 
										"Roles" = $user.Roles 
										"Grupos" = $user.Groups 
							} 
							New-Object PSObject -Property $data 
						} 
						$web.Dispose(); 
					} 
					$site.Dispose() 
				} 
			} 
		} 
	} 
}

#---------------------------------------------------------------
#Opcion 1: Listas de los usuarios y sitio del la Aplicacion Web: http://intranet, pero solo muestra los usuarios y permisos del subsitio: http://intranet/sites/test
# Get-UsersPermissions -portalurl:http://intranet/  -onesite:http://intranet/sites/test | Out-GridView
#---------------------------------------------------------------
#Opcion 2: Listas de los usuarios y sitio del la Aplicacion Web http://intranet, pero excluye los 3 sitios: /gastos, /docs y /rrhh
# Get-UsersPermissions -portalurl:http://intranet/ -excludewebs:@('http://intranet/gastos','http://intranet/docs','http://intranet/rrhh')  | Out-GridView
#---------------------------------------------------------------
#Opcion 3: Lista todas los sitios y usuarios de la Aplicacion Web: http://intranet
# Get-UsersPermissions -portalurl:http://intranet/ | Out-GridView
#---------------------------------------------------------------

Paquetes de actualizaciones de SharePoint 2010 (Cumulative Update y Services Pack)

Como SharePoint 2010 es un producto vivo, es necesario realizar un mantenimiento de este Una de las formas de identificar las diferentes versiones (niveles de parches) de SharePoint es a través de la BuildVersion del producto.

Para obtener el numero de versión, puedes seguir las indicaciones de este post: Como obtener la version de SharePoint 2010.

Aprovechando la salida este viernes pasado, del ultimo Cumulative Update del mes de Diciembre 2011, he realizado una recopilacion de todos ellos:

BuildVersion Release Objetos Afectados KB
14.0.4763.1000 RTM All components
14.0.4762.1000 RTM Farm Build Version
 
14.0.5114.5003 June 2010 CU SharePoint Foundation 2010 KB2028568
14.0.5114.5003 June 2010 CU Microsoft Shared Components KB2281364
14.0.5114.5003 June 2010 CU Microsoft SharePoint Portal KB983497
14.0.5114.5003 June 2010 CU Microsoft User Profiles KB983497
14.0.5114.5003 June 2010 CU Microsoft Search Server 2010 Core KB983497
14.0.5114.5003 June 2010 CU Microsoft Web Analytics Web Front End Components KB2204024
 
14.0.5123.5000 August 2010 CU SharePoint Foundation 2010 KB2352346
14.0.5123.5000 August 2010 CU SharePoint Server 2010 KB2352342
 
14.0.5128.5000 October 2010 CU SharePoint Foundation 2010 KB2394323
14.0.5128.5000 October 2010 CU SharePoint Server 2010 KB2394320
 
14.0.5130.5002 December 2010 CU SharePoint Foundation 2010 KB2459125
14.0.5130.5002 December 2010 CU SharePoint Server 2010 KB2459257
 
14.0.5136.5002 February 2011 CU SharePoint Foundation 2010 KB2475880
14.0.5136.5002 February 2011 CU SharePoint Server 2010 KB2475878
 
14.0.5138.5000 April 2011 CU SharePoint Foundation 2010 KB2512804
14.0.5138.5000 April 2011 CU SharePoint Server 2010 KB2512800
14.0.5138.5000 April 2011 CU Project Server 2010 KB2512801
 
14.0.6029.1000 Service Pack 1 SharePoint Server 2010 KB2460045
14.0.6029.1000 Service Pack 1 Office Web Apps KB2460073
14.0.6029.1000 Service Pack 1 Project Server 2010 KB2460047
14.0.6029.1000 Service Pack 1 SharePoint Foundation 2010 KB2460058
 
14.0.6105.5000 June 2011 CU Version 1 SharePoint Server 2010 KB2536599
14.0.6105.5000 June 2011 CU Version 1 SharePoint Foundation 2010 KB2536601
14.0.6105.5000 June 2011 CU Version 1 Project Server 2010 KB2536590
 
14.0.6106.5002 June 2011 CU Version 2 SharePoint Server 2010 KB2536599
14.0.6106.5002 June 2011 CU Version 2 SharePoint Foundation 2010 KB2536601
14.0.6106.5002 June 2011 CU Version 2 Project Server 2010 KB2536590
14.0.6105.5000 June 2011 CU Office Web Apps KB2553919
 
14.0.6109.5002 August 2011 CU SharePoint Server 2010 KB2553048
14.0.6109.5000 August 2011 CU SharePoint Foundation 2010 KB2553117
14.0.6109.5000 August 2011 CU Project Server 2010
 
14.6112.5000 October 2011 CU SharePoint Server 2010 KB2596505
14.6112.5000 October 2011 CU SharePoint Foundation 2010 KB2596508
14.6112.5000 October 2011 CU Project Server 2010 KB2596506
 
14.0.6114.5000 December 2011 CU SharePoint Server 2010 KB2597014
14.0.6114.5000 December 2011 CU SharePoint Foundation 2010 KB2597058
14.0.6114.5000 December 2011 CU Project Server 2010 KB2597015

Es recomendable visitar asiduamente la página Updates for SharePoint 2010 Products para estar al día de todas las actualizaciones publicadas por Microsoft.

 

Uso de SPBasePermissions para verificar o establecer permisos en diversos objetos de SharePoint

En este post, añado una lista de algunas de las propiedades y métodos que devuelven el enumerador  SPBasePermissions, y algunos métodos que toman como parámetro SPBasePermissions para comprobar si un usuario tiene ciertos derechos sobre un objeto en SharePoint.

Los siguientes son algunos de los componentes más comunes de SharePoint que se puede utilizar para obtener o establecer los permisos, o comprobar si son eficaces ciertos permisos para un usuario sobre el objeto:

Obtener o establecer los permisos de la base de una definición de función en un objeto SPWeb:

  • SPWeb.RoleDefinitions.BasePermissions 

Obtener los permisos del usuario actual o especificado tiene los permisos especificados sobre un objeto:

  • SPSite.EffectiveBasePermissions
  • SPSite.GetEffectiveRightsForAcl (SPReusableAcl)
  • SPWeb.EffectiveBasePermissions 
  • SPWeb.GetUserEffectivePermissions (Nombre de usuario String)
  • SPList.EffectiveBasePermissions 
  • SPList.EffectiveFolderPermissions 
  • SPList.GetUserEffectivePermissions (Nombre de usuario String)
  • SPFolder.EffectiveRawPermissions 
  • SPFile.EffectiveRawPermissions 
  • SPListItem.EffectiveBasePermissions 
  • SPListItem.GetUserEffectivePermissions (Nombre de usuario String)

Comprobar si el usuario actual o especificado tiene los permisos especificados y lanza UnauthorizedAccessException si no:

  • SPSite.CheckForPermissions (SPReusableAcl, SPBasePermissions) 
  • SPWeb.CheckPermissions (SPBasePermissions) 
  • SPList.CheckPermissions (SPBasePermissions) 
  • SPListItem.CheckPermissions (SPBasePermissions)

Devuelve verdadero/falso indicando si el usuario tiene el permisos específicos:

  • SPSite.DoesUserHavePermissions (SPReusableAcl, SPBasePermissions) 
  • SPSite.DoesUserHavePermissions (SPReusableAcl, SPBasePermissions, SPWeb) 
  • SPWeb.DoesUserHavePermissions (SPBasePermissions) 
  • SPWeb.DoesUserHavePermissions (String, SPBasePermissions) 
  • SPList.DoesUserHavePermissions (SPBasePermissions) 
  • SPList.DoesUserHavePermissions (SPUser, SPBasePermissions) 
  • SPListItem.DoesUserHavePermissions (SPBasePermissions) 
  • SPListItem.DoesUserHavePermissions (SPUser, SPBasePermissions) 

Diseño de páginas base – Permisos necesarios para acceder a una LayoutPageBase

  • LayoutsPageBase.RightsRequired 
  • LayoutsPageBase.DefaultLayoutsRights 

Recortar contenido de una página (Obtener o establecer permisos)

  • SPSecurityTrimmedControl.Permissions 

Permisos base asociados a un objeto SPPermission

  • SPPermission.BasePermissions 

Obtener los permisos base necesarios para utilizar un objeto o ConsoleAction ConsoleNode

  • ConsoleAction.UserRights 
  • ConsoleNode.UserRights 

Obtener los permisos necesarios para ver el Panel de Control de desarrolladores

  • SPDeveloperDashboardSettings.RequiredPermissions 

Obtener o establecer los permisos para una Aplicación Web

  • SPWebApplication.RightsMask 
  • SPSite.ApplicationRightsMask 

Permisos necesarios para acceder a una página móvil

  • SPMobilePage.RightsRequired 

Botón de la barra de menú

  • ToolBarMenuButton.CallbackVisibilityPermission 

Otros:

  • SPSecurableObject.GetUserEffectivePermissions (Nombre de usuario String) 
  • SPRibbon.Permissions 
  • MenuItemTemplate.Permissions 
  • SPUserCustomAction.Rights
De una forma gráfica, una manera de entender las dependencias de permisos que maneja SharePoint por defecto, es esta (pincha sobre ella para verla en grande):
Muy al hilo de esta información, creo que es de recomendada lectura el siguiente articulo de Microsoft: User permissions and permission levels (SharePoint Server 2010), donde se trata el tema de los permisos mas a fondo.

Microsoft parchea 34 problemas de seguridad en sus productos

microsoft-logoMicrosoft actualizó ayer con 34 parches los agujeros de seguridad que tenían sus diversos programas informáticos. Nunca había presentado tantos parches y tan importantes, ya que hasta ahora el récord de parches lo poseía el mes de Junio con 31 soluciones.

La mayoría de las 34 soluciones son calificadas por Microsoft como “críticas“, entre ellas las hay para Windows Vista, Windows XP, Windows 2000 incluso para Windows 7, que hasta el día 22 de octubre no sale a la venta, aunque ya han sido colocados en los ordenadores que saldrán a la venta en esas fechas.

Hay otros parches para el navegador Internet Explorer, el reproductor multimedia Media Player y el correo Outlook, entre otros.

Para actualizar estos parches tienes que acceder al sitio de: Windows Update o bien desde la opción de actualización de tu sistema operativo.

Rota la encriptación WPA

wifi_wpaEl sistema de encriptación WPA utilizado junto con el algoritmo TKIP (Temporal Key Integrity Protocol) ha logrado romperse en menos de 60 segundos, según han demostrado unos investigadores Japoneses (Toshihiro Ohigashi de la Universidad de Hiroshima y Masakatu Morii de la Universidad de Kobe). Los detalles del proceso no se han dado a conocer, habrá que esperar a la conferencia técnica que han anunciado para el 25 de Septiembre en Hiroshima, aunque si sabemos que WPA utilizando el algoritmo AES (Advanced Encryption Standard) o WPA 2 no se han visto comprometidas por este método.

La seguridad Wireless quedará seriamente tocada, pues aunque cambiar a WPA AES o WPA2 es bastante sencillo, mucha gente no sabe hacerlo o peor, ni siquiera sabe que es necesario cambiarla, solo hace falta ver la cantidad de gente que aun sigue usando WEP, rota hace mucho tiempo. Y a esto tenemos que añadir que las compañías siguen proporcionando a sus usuarios Router WiFi, preconfigurados con encriptación WEP. Es hora de cambiar la encriptación de vuestros Router, por que se avecina una oleada de ataques y muchos se creían seguros con WPA TKIP.

Windows Vista and Windows Server 2008 SP2 RTW

Microsoft publicó ayer el Service Pack 2 para Windows Vista y Windows Server 2008 (versión de 32 bits y versión de 64 bits). Es compatible con nuevos tipos y estándares en auge de hardware, incluye todas las actualizaciones que se han llevado a cabo desde SP1 y simplifica la implementación para los consumidores, los desarrolladores y los profesionales de TI. Las mejoras que incorporan este paquete acumulativo, son los siguientes:

  • Hardware: Compatibilidad con Bluetooth 2.1, grabación de Blu-ray, compatibilidad con Windows Connect Now, mejor soporte de exFAT y soporte para procesadores VIA de 64 bits.
  • Seguridad: Incluye todos los parches lanzados hasta el momento y mejoras en el código analizando las causas de los errores encontrados.
  • Rendimiento: Mejoras al volver del modo suspendido cuando no hay Wi-Fi disponible, inclusión de Windows Search 4 y mejora en el rendimiento del gadget de RSS.
  • Administración: Mayor rapidez en la instalación de .NET SP1, eliminación de ficheros del SP1 innecesarios, detección de drivers incompatibles y mejor gestión de errores y de los mensajes de error.
  • Otros: Inclusión de Hyper-V, resolución de problemas con el DRM en Windows Media Player, Windows Vista Feature Pack for Wireless y reducción del uso de recursos de los gadgets.

Para dercargar los parches:

Windows Vista SP2 yWindows Server 2008 SP2 (32 bit)

Windows Vista SP2 yWindows Server 2008 SP2 (64 bit)

Panda Cloud Antivirus (gratis)

Panda Security acaba de publicar una nueva version de antivirus. Se trata de una versión cliente llamada Panda Cloud Antivirus, que llama la atención por varios aspectos: ligero, seguro, sencillo y gratuito.

Este nuevo software se conecta en tiempo real a los servidores de PandaLabs, para proteger a los usuarios de un modo más eficaz del nuevo malware, sin afectar negativamente al rendimiento de su ordenador.

Incluye protección antivirus local y remota, anti-spyware, anti-rootkit, análisis heurístico y una caché de goodware. Sólo consume una media de 17 Mbytes de RAM, y consume hasta un 50% menos de recursos, por lo que se nota en el rendimiento del PC, a diferencia de otros antivirus del mercado.

Para descargártelo accede aquí.

pandacloud