Más de 180 mil websites afectados por ataque de SQL Injection

Si, otro ataque masivo por SQL Injection dando vueltas por el mundo… Ya ha afectado a más de 180 mil sitios en ASP .NET. El artículo de referencia tiene información bastante decente acerca del ataque. Sin embargo, no da muchas luces de cómo protegernos de un ataque por SQL Injection.

    «No hay manera sencilla de arreglar la vulnerabilidad en la base de datos atacada, excepto ‘endurecer’ la base de datos aplicando las actualizaciones y que los requerimientos de seguridad sean consistentes. Monitorear la base de datos buscando actividad inusual también es importante».

Actualizar (o parchar) SQL Server NO PREVENDRÁ un ataque por SQL Injection, para nada. SQL Server no es el vector de ataque para SQL Injection, la aplicación web lo es. Para cuando el ataque llegue a la base de datos SQL Server (o cualquier base de datos) será muy tarde.

En realidad es bastante fácil protegerse de un ataque por SQL Injection. Solo dejen de usar código SQL generado dinámicamente y usen consultas parametrizadas en su lugar. Eso es todo, ese es el GRAN secreto. Si, se entiende que escribir código .NET como consultas parametrizadas es más difícil que hacerlo solo usando concatenación, pero que ataquen el sitio y coloquen malware en los equipos de los clientes porque quisimos ahorrarnos un poco de tiempo… no sé si será buena excusa.

Como este articulo está basado en el Blog de Denny Cherry (con su autorización), y él tiene un libro llamado «Securing SQL Server». Es lógico que al menos promocione su libro. En el libro (que yo compré para mi Kindle), explica cómo usar consultas parametrizadas. No es tan difícil y hay varios ejemplos de cómo hacerlo. No se necesita usar procedimientos almacenados para usar consultas parametrizadas. Se puede hacer usando SQL dinámico, funciona básicamente igual.

En caso que aún no se convenzan… las consultas parametrizadas son la UNICA FORMA de estar 100% seguros de estar protegidos contra ataques por SQL Injection.

Saludos,

Notas desde el Keynote de SQL PASS Día 2

Este artículo es una traducción del Blog de Denny Cherry. A quien agradezco la autorización para traducir su contenido al español.

Bienvenidos al Keynote del día 2 del SQL PASS Summit. Hoy fue otro día de anuncios a cargo de Quentin Clark, quien es Corporate VP a cargo del SQL Server database Engine.

Quentin comenzó hablando de como SQL Server 2012 mejorará la manera en que SQL Server provee los 9s suficientes de up time, mediante la introducción de Always On. StreamInsight incluye la opción de Alta Disponibilidad lo que permitirá mantener corriendo los procesos de StreamInsight todo el tiempo.

La primera demo del Keynote de hoy fue sobre mi característica favorita de SQL Server 2012: Always On. En la demo se mostró un clúster de 3 nodos que tenía alojadas las aplicaciones de producción, con el clúster en 2 data centers. Durante la demo, el presentador realizó el setup rápida y fácilmente. Luego de configurar un nodo secundario de solo lectura, el Availability Group apareció como de solo lectura en la configuración de enrutamiento de Always On y los servicios de Reporting Services se configuraron para que automáticamente haga enrutamiento al secundario de solo lectura y así mantener la carga de trabajo de los reportes fuera del servidor SQL se producción. (Escribiré más sobre Always On más adelante).

En la segunda parte del Keynote, Quentin habló acerca de los índices ColumnStore y como esta característica permitirá correr reportes y data analysis mucho, mucho más rápido. Quentin también habló acerca de cómo PowerPivot se mejoró, específicamente cuando se implementa con SharePoint, lo que permite que los usuarios generen sus propios reportes dentro de la plataforma SharePoint (lo cual es genial… A menos que no tengas o no puedas pagar por SharePoint).

La siguiente demo fue para un conjunto de características llamadas Data Quality Services (DQS) y Master Data Services (MDS). DQS es una característica bastante atractiva que permite limpiar problemas de datos, como lat/lon incorrectas basadas en una dirección usando datos desde SQL Azure data marketplace. Durante la demo había un par de tiendas ubicadas en el medio del agua alrededor de Seattle. Usando DQS la ubicación de las tiendas fue corregida rápidamente desde el medio del agua a la ubicación correcta en Seattle.

Quentin habló después acerca del programa Fast Track, que permite a los vendors de hardware vender sistemas pre-empaquetados y pre-configurados con SQL Server, lo cual puede hacer más fácil para los clientes adquirir servidores de SQL Server. Otro programa que Microsoft tiene es el de las soluciones de tipo Appliance, donde pueden obtener un servidor desde un vendor, configurarlo y tenerlo andando en un par de horas; listo para realizar la carga de datos.

Microsoft mostró el HP Enterprise Database Consolidation Appliance. Este sistema es básicamente un Appliance para nube privada, en un rack de servidores con 192 núcleos, 400 discos (que soportan hasta 60 mil IOs de SQL Server) y 2 TB de RAM. Se puede comprar como medio rack o full rack appliance. Yo lo entiendo como un Appliance que tiene un clúster Windows Hyper-V donde se pueden configurar Máquinas Virtuales rápida y fácilmente. Donde el sistema realmente te salva es en la capacidad de implementarlo de una sola vez sápida y fácilmente sin tener que probar manualmente cada uno de los componentes, porque HP ya lo habrá hecho y certifica que el hardware funciona correctamente antes de despacharlo. Desde el punto de vista del soporte, tenemos un solo número de teléfono al cual llamar en caso de problemas de software y hardware.

El siguiente anuncio de hoy fue el driver ODBC para plataformas Linux para que así las aplicaciones de plataformas no Microsoft que se conecten a bases de datos SQL Server no tengan que sufrir cambios. Quentin también anunció que Change Data Capture ahora tiene soporte en SSIS y en Oracle (No estoy seguro de que significa o como funciona).

A continuación, se mostró Semantic Search. Esta característica se usa junto a la nueva característica de File Table, que permite cargar archivos a una base de datos a través del sistema de archivos. Luego, Semantic Search se puede utilizar para leer los archivos y no solo realizar búsqueda de esos valores, sino que puede entender los datos dentro de los archivos y así encontrar archivos basado en búsquedas específicas. Así se pueden encontrar documentos relacionados a lo que se encontró no solo usando términos específicos de búsqueda sino que el documento original para realizar búsquedas.

Otro cambio de nombre de esta semana fue para Project Juneau, ahora se llama SQL Server Data Tools.

Desde ahora, se puede hacer clic derecho en una base de datos y migrarla a SQL Azure. Esto se hace creando un DACPAC (v2.0) y haciendo push hacia Azure, con solo unos clics. Otra característica de Azure que ahora está soportada es la capacidad de realizar respaldos de bases de datos locales o en Azure hacia file storage en Azure, creando un bacpac que luego se copia al file storage en Azure. Hasta ahora, no hemos visto una forma de hacer esto mediante T-SQL. Esta tecnología se puede usar también para respaldar las bases de datos Azure al file storage Azure y luego usar SSMS para conectarse a ese storage y restaurar la base de datos a una instancia local para desarrollo y testeo.

SQL Azure ahora soporta federación del lado de las bases de datos de la plataforma Azure para así realizar escalamiento de la plataforma de bases de datos rápida y fácilmente a través del management portal sin cambios a las aplicaciones. A final de año SQL Azure soportara bases de datos de hasta 150 GB así como el uso de diferentes collation.

Desde hoy está disponible el CTP de SQL Azure Reporting y SQL Azure Data Sync. El CTP de Reporting permite ejecutar reportes de SSRS desde la nube SQL Azure. El CTP de Data Sync (que es el CTP final) permite sincronizar fácilmente datos entre una instancia local y una de Azure o desde una instancia Azure a una instancia SQL en otro proveedor en la nube.

Espero que estén tan emocionados como yo lo estoy, algunas de estas características se ven muy, muy entretenidas.

Notas desde el Keynote de SQL PASS

Este artículo es una traducción del Blog de Denny Cherry. A quien agradezco la autorización para traducir su contenido al español.

Hoy fue el primer día del SQL Server PASS Summit. Hubo algunos anuncios que posiblemente no vieron en el stream y que debieran saber.

Durante la parte de PASS del Keynote supimos de la gran cantidad de entrenamiento que SQL PASS entrega a la comunidad. PASS lleva cerca de 430.000 horas de entrenamiento entregadas a sus miembros. Ese número subirá exponencialmente durante los próximos 3 días gracias a las sesiones en el PASS Summit.

Durante el Keynote, había gran expectativa acera del libro «SQL MVP Deep Dives» que fue oficialmente lanzado en el PASS Summit. Este libro, en caso que no lo sepan fue escrito por 55 SQL Server MVP y todas las ganancias irán a Operation Smile.

El primer anuncio, y posiblemente el más importante, fue el nombre oficial de SQL Server «Denali». Será SQL Server 2012 y se lanzará el primer semestre de 2012. Este anuncio, así como el resto del Keynote, fueron hechos por Ted Kummert Senior VP de la Plataforma de Negocios de SQL Server en Microsoft.

Ted habló bastante sobre la nube Azure, lo cual es un gran cambio de las instalaciones «on premise» que Microsoft ha ofrecido por los últimos 20 años. La razón de esto es que muchos clientes ya están llevando sus datos a Azure. Pero no se preocupen, esto no significa que se acabaron las instalaciones «on site». Microsoft está trabajando arduo en nuevas características que vendrán en las próximas versiones de SQL Server, el producto que conocemos y amamos. Azure simplemente nos da una opción adicional aparte de construir y ejecutar sistemas «on site», así podemos ser más flexibles y además no preocuparnos acerca del Hardware y actualizaciones; de eso se encargan en la nube.

Si han usado «Project Crescent», su nombre oficial es «Power View» (Me pidieron que dejara claro que HAY un espacio en el nombre). Además, dieron algunas pistas de que otras herramientas para BI se verán en SQL Azure el 2012. De qué tipo serán, es otra pregunta; pero serán interesantes de ver.

Ted también habló específicamente de grandes volúmenes de datos y algunas direcciones hacia donde la gente se mueve con estos volúmenes de datos. Las empresas hoy no «botan» sus datos, y algunas veces esos datos son no-estructurados y esa es la mejor forma de usarlos. Microsoft apuntará a este mercado con la plataforma de cómputo distribuido, esto significa que Microsoft soportará Hadoop como parte de su plataforma de datos. Esto significa que podremos ejecutar Hadoop en Windows y en Azure.

Desde la semana pasada, tenemos disponible el conector Apache Hadoop para SQL Server y para la plataforma PDW. Versiones futuras incluirán la distribución de Hadoop que mencioné más arriba así como el driver ODBC y el add-in para Excel para hacer más fácil a los usuarios obtener datos desde Hadoop hacia sus plataformas de negocio. Creo que es un avance importante porque permite el almacenamiento de datos en plataformas distintas a las que están acostumbrados en sus plataformas de bases de datos tradicionales. Microsoft tendrá una versión CTP de su plataforma Hadoop en SQL Azure antes del fin del 2011.

Microsoft anunció «Data Explorer» el cual permite a los usuarios hacer Self Service BI sin darse cuenta de que lo están haciendo. Esto permite que los usuarios vean y lean fácilmente los datos, y más importante aún tomar los datos y transformarlos en información que pueden usar para manejar la empresa más rápida y fácilmente. No los voy a aburrir con información sobre la demostración, porque apestaba. Con eso perdieron bastante de la audiencia en un par de minutos.

No olviden revisar mañana con más anuncios desde Microsoft en el Keynote de mañana.