<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://windowstecnico.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Técnico : Windows Server 2008, IIS7.5, Microsoft Server 2008 R2</title><link>http://windowstecnico.com/archive/tags/Windows+Server+2008/IIS7.5/Microsoft+Server+2008+R2/default.aspx</link><description>Etiquetas: Windows Server 2008, IIS7.5, Microsoft Server 2008 R2</description><dc:language /><generator>CommunityServer 2008.5 (Build: 30929.2835)</generator><item><title>Desarrollo de un módulo de seguridad para Microsoft Server 2008/2008 R2 e IIS7/7.5 (Parte II)</title><link>http://windowstecnico.com/archive/2010/04/20/desarrollo-de-un-m-243-dulo-de-seguridad-para-microsoft-server-2008-2008-r2-e-iis7-7-5-parte-ii.aspx</link><pubDate>Tue, 20 Apr 2010 10:09:11 GMT</pubDate><guid isPermaLink="false">f5fee4ed-c2ed-43f2-a57e-69c2e2dfbdde:2296</guid><dc:creator>Juan Antonio</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://windowstecnico.com/rsscomments.aspx?PostID=2296</wfw:commentRss><comments>http://windowstecnico.com/archive/2010/04/20/desarrollo-de-un-m-243-dulo-de-seguridad-para-microsoft-server-2008-2008-r2-e-iis7-7-5-parte-ii.aspx#comments</comments><description>&lt;p align="justify"&gt;Buenas a todos, continuando con la cadena de post sobre desarrollo de un módulo de seguridad para IIS7/7.5 hoy vamos a continuar explicando la arquitectura del sistema. &lt;/p&gt;  &lt;p align="justify"&gt;Nuestro objetivo en el ejemplo que os contamos será evitar que las inyecciones SQL que pueda utilizar un usuario malicioso para robar datos o penetrar en nuestro sistema, lleguen hasta la base de datos, protegiéndola de esta manera de dos posibles problemas, que puedan estar mal programadas las consultas a la base de datos y se pueda inyectar código SQL en la misma y protegiéndola de posibles ataques automatizados que podrían ralentizar su funcionamiento, frenando dichos ataques desde el módulo de seguridad instalado en el servidor web, el cual siempre es mas eficiente que la BBDD y soportará de mejor manera la sobrecarga del sistema &lt;/p&gt;  &lt;p align="justify"&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Para probar el módulo de seguridad vamos a simular un pequeño servicio web que desarrollaremos en ASP.NET. A continuación se muestra un resumen de las partes de las que se compondrá nuestro sistema:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;Servicio Web Excel:&lt;/b&gt; Servicio web implementado en ASP.NET que simula una hoja de Excel, en la que los usuarios registrados desde su navegador podrán almacenar y recuperar datos en una tabla que se almacenará en una base de datos.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;Metaservicio XML:&lt;/b&gt; Servicio Web que contendrá patrones de ataque que un hacker puede utilizar para vulnerar una base de datos. Este servicio debería ser actualizado regularmente para mantener la fortificación del sistema.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;Módulo de Seguridad:&lt;/b&gt; Software instalado en el servidor web que colabora en las labores de protección de la Base de Datos filtrando las peticiones maliciosas.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;b&gt;Base de datos&lt;/b&gt;: Base de datos utilizada para almacenar las tablas del Servicio Web Excel y los datos de autenticación de los usuarios en el sistema.&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;El diagrama del sistema completo se muestra en la figura 1. Se basa en la idea de controlar desde el servidor web los accesos a una base de datos realizados por los usuarios, sin que lleguen a la base de datos, para evitar poner en peligro a la misma. &lt;/p&gt;  &lt;p align="justify"&gt;Para lograr filtrar las peticiones maliciosas antes de que lleguen a la base de datos queremos desarrollar un módulo de seguridad que se instalará en el servidor web. Este módulo se encargará de filtrar todos los contenidos de las peticiones realizadas por los usuarios al servidor. &lt;/p&gt;  &lt;p align="justify"&gt;Durante la etapa de filtrado, el módulo de seguridad comparará los patrones de ataque utilizados hasta la actualidad por hackers, obteniéndolos de un Metaservicio implementado en XML, con el contenido de las peticiones web, buscando posibles ataques a la base de datos. Obviamente no se han añadido todas las posibles inyecciones que existen, labor que sería prácticamente imposible, pero si algunas importantes para desarrollar el ejemplo. La eficiencia de los resultados en la detección dependerá en gran medida no solo de tener una base de datos de inyecciones bien actualizado, sino de la pericia del algoritmo desarrollado en el módulo, que mediante expresiones formales u otras técnicas, permita variar en gran medida las inyecciones contenidas en el Metaservicio XML para detectar las SQL Injections, pero sin filtrar otras peticiones que no conllevan ningún peligro.&lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_c6EYhkUKGik/S74xkmmgf7I/AAAAAAAACw4/aHHW017L2u0/s1600-h/image%5B6%5D.png"&gt;&lt;img style="border-right-width:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;margin-left:auto;border-left-width:0px;margin-right:auto;" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_c6EYhkUKGik/S74xl4NW1hI/AAAAAAAACw8/B__jopsUMZk/image_thumb%5B4%5D.png?imgmax=800" width="630" height="447" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="center"&gt;Figura 1: Sistema de securización basado en la implementación de un módulo de seguridad&lt;/p&gt;  &lt;p align="justify"&gt;&lt;/p&gt;  &lt;p&gt; En el próximo post comenzaremos el desarrollo del sistema, programando el Metaservicio XML e instalándolo en nuestro IIS.&lt;/p&gt;  &lt;p&gt;saludos!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://windowstecnico.com/aggbug.aspx?PostID=2296" width="1" height="1"&gt;</description><category domain="http://windowstecnico.com/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category><category domain="http://windowstecnico.com/archive/tags/Internet/default.aspx">Internet</category><category domain="http://windowstecnico.com/archive/tags/Seguridad/default.aspx">Seguridad</category><category domain="http://windowstecnico.com/archive/tags/Desarrollo/default.aspx">Desarrollo</category><category domain="http://windowstecnico.com/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://windowstecnico.com/archive/tags/IIS7/default.aspx">IIS7</category><category domain="http://windowstecnico.com/archive/tags/IIS7.5/default.aspx">IIS7.5</category><category domain="http://windowstecnico.com/archive/tags/Microsoft+Server+2008+R2/default.aspx">Microsoft Server 2008 R2</category></item></channel></rss>