SlideShare una empresa de Scribd logo
1 de 8
UNIVERSIDAD GERARDO BARRIOS
SAN MIGUEL
INTEGRANTES:
GERARDO STEVEN MEJIA PERDOMO
RENE ALFREDO ARGUETA ARGUETA
JOSE ALFREDO JOYA CASTRO
RAUL ENRIQUE HERNANDEZ
QUINTEROS
MANUEL ALEJANDRO RAMIREZ
CARIAS
DOCENTE:
ING. GISELA ESPINOZA
CARRERA:
ING EN SISTEMAS
CICLO:
02-2016
INTRODUCCION
Eltema de la creación de una aplicación Web segura esmuy amplio ya que requiere realizar un estudio para comprender
los puntos vulnerables de la seguridad. También es necesario familiarizarse con las posibilidades de seguridad que
ofrecen Windows, .NET Framework y ASP.NET. Finalmente, resulta vital entender cómo utilizar estas funciones de
seguridad para contrarrestar las amenazas.
Es decir, lo que nosotros necesitamos como programadores no podemos entregar una aplicación o una página web sin
seguridad, pero a que nos referimos cuando hablamos de seguridad hablamos técnicamente sobre los ataques que pueda
sufrir nuestra maquina por otros programadores conocidos como hackers o incluyendo un bug donde cualquier persona
se podría aprovechar de ese fallo del sistema como y que podríamos hacerpara evitar todo esto.
Acontinuación, mostraremos que podrimos aplicar para fortalecer esasvulnerabilidades de nuestras futuras aplicaciones
o sitios webs.
Seguridad en ASP.NET
La seguridad de los sitios Web es una cuestión de importancia fundamental, además de compleja, para los
desarrolladores de sitios Web.La protección de un sitio requiere la elaboración cuidadosa de un plan; porconsiguiente,
los programadores y administradores de sitios Web deben comprender perfectamente las opciones para proteger los
sitios.
ASP.NET funciona junto con Microsoft .NET Framework y Servicios de Microsoft Internet Information Server (IIS)
para ayudara proporcionaraplicaciones Web seguras.Para ayudara protegerla seguridad de una aplicación ASP.NET,
se deben llevar a cabo las dos funciones principales
 Autenticación:
Ayuda a comprobar que el usuario es precisamente quien dice ser. La aplicación obtiene las
credenciales (diversas formas de identificación, como nombre y contraseña) de un usuario, y las
valida consultando a una autoridad determinada.
 Autorización:
Limita los derechos de acceso mediante la concesión o negación de permisos específicos a una
identidad autenticada.
Arquitectura de seguridad de ASP.NET
Como se muestra en la ilustración, todos los clientes Web se comunican con las aplicaciones ASP.NET a través de
Microsoft Internet Information Services (IIS). IIS autentica la solicitud si fuera necesario y, a continuación, busca el
recurso solicitado (como una aplicación ASP.NET). Si el cliente está autorizado, el recurso estará disponible.
Cuando se está ejecutando una aplicación ASP.NET, puede utilizar las características de seguridad de ASP.NET
integradas. Además, una aplicación ASP.NET puede utilizar las características de seguridad de .NET Framework.
Modelo de amenazas
Una fase importante en el proceso de programación de aplicaciones más seguras consiste en sercapaz de anticipar
las amenazas que se puede sufrir. En las secciones siguientes se describen brevemente estas amenazas y cómo
afectan a las aplicaciones Web.
Suplantación
Suplantar (spoof) es utilizar los datos de identificación de otro usuario o proceso de forma no autorizada. En su
versión más simple, la suplantación consistiría en introducir las credenciales de un usuario diferente. Un usuario
malintencionado podría también cambiar el contenido de una cookie para fingir que es otra persona o que la cookie
proviene de un servidor diferente.
En general, es posible contribuir a evitar la suplantación mediante una autenticación estricta. Siempre que alguien
solicita acceso a información privada, es preciso asegurarse de que es quien dice ser.
Manipulación
Manipular significa cambiar o eliminar un recurso sin autorización. El ejemplo típico consiste en desfigurar una
página Web, para lo cual, el usuario malintencionado logra acceso al sitio y cambia algunos archivos. Un modo
indirecto de manipulación son los ataques mediante secuencias de comandos. Un usuario malintencionado consigue
que se ejecute código (secuencia de comandos) enmascarándolo como la entrada de datos de un usuario en una
página o como un vínculo.
Una defensa fundamental contra la manipulación consiste en usar la seguridad de Windows para bloquear los
archivos, directorios y otros recursos de Windows
Repudio
Una amenaza de repudio implica llevar a cabo una transacción de manera que no haya pruebas fehacientes de los
actores principales de la transacción.En una aplicación Web, esto puede significar que se está suplantando a un
usuario inocente usando sus credenciales.Contribuir a la protección contra el repudio es posible, de nuevo,
aplicando una autenticación estricta.
Revelación de información
Revelación de información significa simplemente robar o desvelar información que se supone que es confidencial.
Un ejemplo típico es el robo de contraseñas,pero la revelación de información también incluye el acceso a cualquier
archivo o recurso del servidor.
La mejor protección contra la revelación de información es no tener información que revelar. Por ejemplo, si se
evita el almacenamiento de contraseñas,ningún usuario malintencionado podrá robarlas.
Denegación de servicio
Un ataque de denegación de servicio consiste en hacer deliberadamente que una aplicación esté menos disponible de
lo que debería. Un ejemplo típico es sobrecargar una aplicación Web de forma que no pueda servir a los usuarios
normales. Como alternativa, los usuarios malintencionados pueden intentar simplemente bloquear el servidor.
Concesión de privilegio
Un ataque de concesión de privilegio consiste en usarmedios malintencionados para obtenermás permisos de los
asignados normalmente. Por ejemplo, en un ataque de concesión de privilegio que tenga éxito, un usuario
malintencionado consigue obtenerprivilegios administrativos para el servidor Web,lo que le proporciona acceso a
todos los datos del servidor, así como el control de las funciones de éste.
Flujo de datos de seguridad en ASP.NET
Existen varias maneras de diseñar la seguridad en las aplicaciones ASP.NET. En este tema se describe el flujo de
datos de seguridad en dos escenarios comunes: la suplantación y la autenticación de formularios mediante cookies.
Escenario 1: suplantación
El escenario de suplantación se basa en la autenticación de Servicios de Microsoft Internet Information Server (IIS)
y en la seguridad de acceso a archivos de Microsoft Windows para minimizar la programación de la seguridad en la
propia aplicación ASP.NET. El flujo de datos se muestra en la ilustración siguiente.
Suplantación
En esta ilustración se muestra la siguiente secuencia de eventos:
1. Una solicitud de un cliente de red llega a IIS.
2. IIS autentica al cliente utilizando la seguridad básica, implícita o integrada de Windows (NTLM o
Kerberos).
3. Si se autentica al cliente, IIS pasa la solicitud autenticada a ASP.NET.
4. La aplicación ASP.NET suplanta al cliente que realiza la solicitud utilizando el símbolo (token) de acceso
pasado desde IIS, y se basa en los permisos de archivo NTFS para conceder acceso a los recursos.La
aplicación ASP.NET sólo necesita comprobar que la suplantación está establecida en true en el archivo de
configuración de ASP.NET; no se requiere ningún código de seguridad de ASP.NET.
Si la suplantación no está habilitada, la aplicación se ejecuta con la identidad de proceso de ASP.NET. En
Microsoft Windows 2000 Server y Windows XP Professional, la identidad predeterminada es una cuenta
local denominada ASPNET que se crea automáticamente al instalar ASP.NET. En Microsoft Windows
Server 2003, la identidad predeterminada es la del grupo de aplicaciones correspondiente a la aplicación IIS
(de manera predeterminada, la cuenta Servicio de red).
5. Si se concede el acceso,la aplicación ASP.NET devuelve el recurso solicitado a través de IIS.
Escenario 2 – Autenticación de formularios
En el escenario de autenticación de formularios, una aplicación obtiene las credenciales, como el nombre y la
contraseña,directamente del usuario y determina por sí misma su autenticidad. La aplicación no utiliza la
autenticación de IIS, pero la configuración de la autenticación de IIS puede afectar a la autenticación de formularios.
Como norma, cuando se utiliza la autenticación de formularios, se habilita el acces o anónimo en IIS. Por otra parte,
si los usuarios no pasan la autenticación de IIS, no pueden ponerse en contacto con la aplicación para proporcionar
un nombre de usuario y una contraseña para la autenticación de formularios.
El flujo de datos de este escenario se muestra en la ilustración siguiente.
En esta ilustración se muestra la siguiente secuencia de eventos:
1. Un usuario genera una solicitud de un recurso protegido.
2. IIS recibe la solicitud y, dado que el acceso anónimo de IIS está habilitado, IIS no realiza ninguna
autenticación del usuario y la solicitud se pasa a la aplicación ASP.NET.
3. Dado que el modo de autenticación de ASP.NET se ha establecido en formularios, la aplicación ASP.NET
examina la solicitud para obtenerun vale de autenticación de formularios (una cookie concreta). Si no hay
ningún vale de autenticación asociado a la solicitud, ASP.NET redirige la solicitud a la página de inicio de
sesión especificada en el archivo de configuración de la aplicación.
4. En la página de inicio de sesión,el usuario escribe las credenciales requeridas, normalmente un nombre y
una contraseña.El código de aplicación comprueba las credenciales para confirmar su autenticidad.Si se
autentican las credenciales, el código de aplicación asocia a la respuesta un vale de autenticación que
representa las credenciales del usuario. (No se incluye la contraseña.)Si se produce un error en la
autenticación, la respuesta se devuelve con un mensaje de acceso denegado o se vuelve a mostrar el
formulario de inicio de sesión.
El vale de autenticación emitido se incluirá en las solicitudes que se realicen a la aplicación ASP.NET con
posterioridad. ASP.NET examina la validez del vale mediante una comprobación de la autenticación de
mensajes (MAC).
5. Si se autentica al usuario, ASP.NET comprueba la autorización y puede conceder acceso al recurso
solicitado inicialmente, redirigir la solicitud a alguna otra página o redirigirla a un módulo de autorización
personalizado, donde se comprueba si las credenciales están autorizadas a tener acceso al recurso
protegido. Si se produce un error de autorización, ASP.NET redirige al usuario a la página de inicio de
sesión.
Si se autoriza al usuario, se concede el acceso al recurso protegido la aplicación puede requerir una prueba
adicional de las credenciales antes de autorizar el acceso al recurso protegido, dependiendo del diseño de la
aplicación.
Ejemplo
Almacenar credenciales en el archivo Webconfig
En este método toda la información del usuario se almacena en la parte <credentials> del archivo web.config que se
encuentra en el directorio raíz de la aplicación. Almacenar credenciales en el archivo Web.config es adecuado y
conveniente sólo para autenticación simple. No es adecuado si se permite a los usuarios crear y mantener sus propias
cuentas.En estos casos se debe almacenar el nombre de usuario y contraseña en una base de datos o un archivo
XML.
Se debe configurar el archivo de configuración Web.config de la siguiente manera y debe estar en el directorio raíz
de la aplicación (el directorio en el que reside default.aspx).
<configuration>
<system.web>
<authentication mode="Forms">
<forms name=".ASPXFormAuth" loginUrl="login.aspx" protection="All" timeout="15" path ="/">
<credentials passwordFormat="Clear">
<user name="Susam" password="Admin"/>
<user name="Michelle" password="User"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
Si el usuario no está autenticado,se redirige al archivo login.aspx. Dicha página debe lucir como se muestra en la
Figura 1. El código de login.aspx es el siguiente.
private void Button1_Click(object sender, System.EventArgs e){
if (FormsAuthentication.Authenticate(Userid.Text, Passid.
Text)){
FormsAuthentication.RedirectFromLoginPage(Userid.Text,false);
}
else{
Passid.Text = "";
Label3.Text = "Usuario o contraseña incorrecto!";
}
}
Aquí, FormsAuthentication.Authenticate(Userid.Text, Passid.Text) devuelve un valor booleano true si las
credenciales son válidas y false si las credenciales no son válidas. Si devuelve true, se crea una cookie de
autenticación, se añade a la respuesta de salida, y se redirige la solicitud a la página solicitada inicialmente mediante
FormsAuthentication.RedirectFromLoginPage(Userid.Text,false). En este método el segundo parámetro
especifica si la autenticación debe ser una cookie de sesión (false) o una "cookie" (true).
El archivo default.aspxes el solicitado originalmente. En dicha página simplemente mostraremos un mensaje de
bienvenida, como se muestra en la Figura 2. Al emplear FormsAuthentication.SignOut(), s e
puede fácilmente eliminar o invalidar las cookies de autenticación.El código de default.aspx es el siguiente:
private void Page_Load(object sender,System.EventArgs e){
Label1.Text = "Le damos la bienvenida " + User.Identity.Name;
}
private void SignOut_Click(object sender,System.EventArgs e){
FormsAuthentication.SignOut();
Response.Redirect("login.aspx");
}

Más contenido relacionado

La actualidad más candente

Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPMoises Silva
 
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)Qué es eso de OAuth y como se implementa en Symfony2 (y otros)
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)Miguel Ángel Sánchez Chordi
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Fernando Redondo Ramírez
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Webguest80e1be
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)marcwan
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5SemanticWebBuilder
 
Vulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webVulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webRealTIC
 
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008Principales vulnerabilidades en Aplicaciones Web - Rediris 2008
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008Christian Martorella
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 

La actualidad más candente (15)

Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHP
 
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)Qué es eso de OAuth y como se implementa en Symfony2 (y otros)
Qué es eso de OAuth y como se implementa en Symfony2 (y otros)
 
Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3Springio2012 taller-seguridad-web-springsecurity-3
Springio2012 taller-seguridad-web-springsecurity-3
 
InSpring security
InSpring securityInSpring security
InSpring security
 
Seguridad en Aplicaciones Web
Seguridad en Aplicaciones WebSeguridad en Aplicaciones Web
Seguridad en Aplicaciones Web
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)OAuth 2.0 (Spanish)
OAuth 2.0 (Spanish)
 
Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5Los 10 principales riesgos en aplicaciones web #CPMX5
Los 10 principales riesgos en aplicaciones web #CPMX5
 
Confianza cero
Confianza ceroConfianza cero
Confianza cero
 
Vulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webVulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones web
 
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008Principales vulnerabilidades en Aplicaciones Web - Rediris 2008
Principales vulnerabilidades en Aplicaciones Web - Rediris 2008
 
Ataques a-bases-de-datos
Ataques a-bases-de-datosAtaques a-bases-de-datos
Ataques a-bases-de-datos
 
REST - deSymfony2012
REST - deSymfony2012REST - deSymfony2012
REST - deSymfony2012
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 

Destacado (8)

Graficas estadisticas 7
Graficas estadisticas 7Graficas estadisticas 7
Graficas estadisticas 7
 
Practica 10
Practica 10Practica 10
Practica 10
 
Freire pedagogiadeloprimido
Freire pedagogiadeloprimidoFreire pedagogiadeloprimido
Freire pedagogiadeloprimido
 
DameryJennifer-licenses
DameryJennifer-licensesDameryJennifer-licenses
DameryJennifer-licenses
 
Guia kevin
Guia kevinGuia kevin
Guia kevin
 
Procesonminadeempleados7 161005155638
Procesonminadeempleados7 161005155638Procesonminadeempleados7 161005155638
Procesonminadeempleados7 161005155638
 
Manual Sistemas constructivos
Manual Sistemas constructivosManual Sistemas constructivos
Manual Sistemas constructivos
 
Herramientas
HerramientasHerramientas
Herramientas
 

Similar a Asp seguridad

Seguridad app web
Seguridad app webSeguridad app web
Seguridad app webPatriciaU
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuarioCarlos Soriano
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Webacksec
 
Seguridad web
Seguridad webSeguridad web
Seguridad webcamposer
 
Clase 6 Practica.pptx
Clase 6 Practica.pptxClase 6 Practica.pptx
Clase 6 Practica.pptxFelipeLoaiza7
 
01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptxssusercb51cd
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4tantascosasquenose
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones webJose Mato
 
14. Seguridad En Aplicaciones Web Asp.Net
14.  Seguridad En Aplicaciones Web Asp.Net14.  Seguridad En Aplicaciones Web Asp.Net
14. Seguridad En Aplicaciones Web Asp.Netguest3cf6ff
 
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...Internet Security Auditors
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De DatosWilliam Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datosguestb40a1b0
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfJose Manuel Ortega Candel
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xusGeneXus
 

Similar a Asp seguridad (20)

Seguridad app web
Seguridad app webSeguridad app web
Seguridad app web
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Seguridad en la web no confíes en el usuario
Seguridad en la web   no confíes en el usuarioSeguridad en la web   no confíes en el usuario
Seguridad en la web no confíes en el usuario
 
Los 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo WebLos 7 pecados del Desarrollo Web
Los 7 pecados del Desarrollo Web
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Clase 6 Practica.pptx
Clase 6 Practica.pptxClase 6 Practica.pptx
Clase 6 Practica.pptx
 
01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx
 
Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4Curso basicoseguridadweb slideshare4
Curso basicoseguridadweb slideshare4
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
14. Seguridad En Aplicaciones Web Asp.Net
14.  Seguridad En Aplicaciones Web Asp.Net14.  Seguridad En Aplicaciones Web Asp.Net
14. Seguridad En Aplicaciones Web Asp.Net
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
seguridad web
seguridad webseguridad web
seguridad web
 
seguridad web
seguridad webseguridad web
seguridad web
 
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus0150 como desarrollar_aplicaciones_seguras_con_gene_xus
0150 como desarrollar_aplicaciones_seguras_con_gene_xus
 

Último

tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docxmarthaarroyo16
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...jhoecabanillas12
 

Último (17)

tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
17 PRACTICAS - MODALIDAAD FAMILIAAR.docx
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...CAPACITACION_higiene_industrial (1).ppt...
CAPACITACION_higiene_industrial (1).ppt...
 

Asp seguridad

  • 1. UNIVERSIDAD GERARDO BARRIOS SAN MIGUEL INTEGRANTES: GERARDO STEVEN MEJIA PERDOMO RENE ALFREDO ARGUETA ARGUETA JOSE ALFREDO JOYA CASTRO RAUL ENRIQUE HERNANDEZ QUINTEROS MANUEL ALEJANDRO RAMIREZ CARIAS DOCENTE: ING. GISELA ESPINOZA CARRERA: ING EN SISTEMAS CICLO: 02-2016
  • 2. INTRODUCCION Eltema de la creación de una aplicación Web segura esmuy amplio ya que requiere realizar un estudio para comprender los puntos vulnerables de la seguridad. También es necesario familiarizarse con las posibilidades de seguridad que ofrecen Windows, .NET Framework y ASP.NET. Finalmente, resulta vital entender cómo utilizar estas funciones de seguridad para contrarrestar las amenazas. Es decir, lo que nosotros necesitamos como programadores no podemos entregar una aplicación o una página web sin seguridad, pero a que nos referimos cuando hablamos de seguridad hablamos técnicamente sobre los ataques que pueda sufrir nuestra maquina por otros programadores conocidos como hackers o incluyendo un bug donde cualquier persona se podría aprovechar de ese fallo del sistema como y que podríamos hacerpara evitar todo esto. Acontinuación, mostraremos que podrimos aplicar para fortalecer esasvulnerabilidades de nuestras futuras aplicaciones o sitios webs.
  • 3. Seguridad en ASP.NET La seguridad de los sitios Web es una cuestión de importancia fundamental, además de compleja, para los desarrolladores de sitios Web.La protección de un sitio requiere la elaboración cuidadosa de un plan; porconsiguiente, los programadores y administradores de sitios Web deben comprender perfectamente las opciones para proteger los sitios. ASP.NET funciona junto con Microsoft .NET Framework y Servicios de Microsoft Internet Information Server (IIS) para ayudara proporcionaraplicaciones Web seguras.Para ayudara protegerla seguridad de una aplicación ASP.NET, se deben llevar a cabo las dos funciones principales  Autenticación: Ayuda a comprobar que el usuario es precisamente quien dice ser. La aplicación obtiene las credenciales (diversas formas de identificación, como nombre y contraseña) de un usuario, y las valida consultando a una autoridad determinada.  Autorización: Limita los derechos de acceso mediante la concesión o negación de permisos específicos a una identidad autenticada. Arquitectura de seguridad de ASP.NET Como se muestra en la ilustración, todos los clientes Web se comunican con las aplicaciones ASP.NET a través de Microsoft Internet Information Services (IIS). IIS autentica la solicitud si fuera necesario y, a continuación, busca el recurso solicitado (como una aplicación ASP.NET). Si el cliente está autorizado, el recurso estará disponible. Cuando se está ejecutando una aplicación ASP.NET, puede utilizar las características de seguridad de ASP.NET integradas. Además, una aplicación ASP.NET puede utilizar las características de seguridad de .NET Framework.
  • 4. Modelo de amenazas Una fase importante en el proceso de programación de aplicaciones más seguras consiste en sercapaz de anticipar las amenazas que se puede sufrir. En las secciones siguientes se describen brevemente estas amenazas y cómo afectan a las aplicaciones Web. Suplantación Suplantar (spoof) es utilizar los datos de identificación de otro usuario o proceso de forma no autorizada. En su versión más simple, la suplantación consistiría en introducir las credenciales de un usuario diferente. Un usuario malintencionado podría también cambiar el contenido de una cookie para fingir que es otra persona o que la cookie proviene de un servidor diferente. En general, es posible contribuir a evitar la suplantación mediante una autenticación estricta. Siempre que alguien solicita acceso a información privada, es preciso asegurarse de que es quien dice ser. Manipulación Manipular significa cambiar o eliminar un recurso sin autorización. El ejemplo típico consiste en desfigurar una página Web, para lo cual, el usuario malintencionado logra acceso al sitio y cambia algunos archivos. Un modo indirecto de manipulación son los ataques mediante secuencias de comandos. Un usuario malintencionado consigue que se ejecute código (secuencia de comandos) enmascarándolo como la entrada de datos de un usuario en una página o como un vínculo. Una defensa fundamental contra la manipulación consiste en usar la seguridad de Windows para bloquear los archivos, directorios y otros recursos de Windows Repudio Una amenaza de repudio implica llevar a cabo una transacción de manera que no haya pruebas fehacientes de los actores principales de la transacción.En una aplicación Web, esto puede significar que se está suplantando a un usuario inocente usando sus credenciales.Contribuir a la protección contra el repudio es posible, de nuevo, aplicando una autenticación estricta. Revelación de información Revelación de información significa simplemente robar o desvelar información que se supone que es confidencial. Un ejemplo típico es el robo de contraseñas,pero la revelación de información también incluye el acceso a cualquier archivo o recurso del servidor. La mejor protección contra la revelación de información es no tener información que revelar. Por ejemplo, si se evita el almacenamiento de contraseñas,ningún usuario malintencionado podrá robarlas. Denegación de servicio Un ataque de denegación de servicio consiste en hacer deliberadamente que una aplicación esté menos disponible de lo que debería. Un ejemplo típico es sobrecargar una aplicación Web de forma que no pueda servir a los usuarios normales. Como alternativa, los usuarios malintencionados pueden intentar simplemente bloquear el servidor. Concesión de privilegio Un ataque de concesión de privilegio consiste en usarmedios malintencionados para obtenermás permisos de los asignados normalmente. Por ejemplo, en un ataque de concesión de privilegio que tenga éxito, un usuario malintencionado consigue obtenerprivilegios administrativos para el servidor Web,lo que le proporciona acceso a todos los datos del servidor, así como el control de las funciones de éste.
  • 5. Flujo de datos de seguridad en ASP.NET Existen varias maneras de diseñar la seguridad en las aplicaciones ASP.NET. En este tema se describe el flujo de datos de seguridad en dos escenarios comunes: la suplantación y la autenticación de formularios mediante cookies. Escenario 1: suplantación El escenario de suplantación se basa en la autenticación de Servicios de Microsoft Internet Information Server (IIS) y en la seguridad de acceso a archivos de Microsoft Windows para minimizar la programación de la seguridad en la propia aplicación ASP.NET. El flujo de datos se muestra en la ilustración siguiente. Suplantación En esta ilustración se muestra la siguiente secuencia de eventos: 1. Una solicitud de un cliente de red llega a IIS. 2. IIS autentica al cliente utilizando la seguridad básica, implícita o integrada de Windows (NTLM o Kerberos). 3. Si se autentica al cliente, IIS pasa la solicitud autenticada a ASP.NET. 4. La aplicación ASP.NET suplanta al cliente que realiza la solicitud utilizando el símbolo (token) de acceso pasado desde IIS, y se basa en los permisos de archivo NTFS para conceder acceso a los recursos.La aplicación ASP.NET sólo necesita comprobar que la suplantación está establecida en true en el archivo de configuración de ASP.NET; no se requiere ningún código de seguridad de ASP.NET. Si la suplantación no está habilitada, la aplicación se ejecuta con la identidad de proceso de ASP.NET. En Microsoft Windows 2000 Server y Windows XP Professional, la identidad predeterminada es una cuenta
  • 6. local denominada ASPNET que se crea automáticamente al instalar ASP.NET. En Microsoft Windows Server 2003, la identidad predeterminada es la del grupo de aplicaciones correspondiente a la aplicación IIS (de manera predeterminada, la cuenta Servicio de red). 5. Si se concede el acceso,la aplicación ASP.NET devuelve el recurso solicitado a través de IIS. Escenario 2 – Autenticación de formularios En el escenario de autenticación de formularios, una aplicación obtiene las credenciales, como el nombre y la contraseña,directamente del usuario y determina por sí misma su autenticidad. La aplicación no utiliza la autenticación de IIS, pero la configuración de la autenticación de IIS puede afectar a la autenticación de formularios. Como norma, cuando se utiliza la autenticación de formularios, se habilita el acces o anónimo en IIS. Por otra parte, si los usuarios no pasan la autenticación de IIS, no pueden ponerse en contacto con la aplicación para proporcionar un nombre de usuario y una contraseña para la autenticación de formularios. El flujo de datos de este escenario se muestra en la ilustración siguiente. En esta ilustración se muestra la siguiente secuencia de eventos: 1. Un usuario genera una solicitud de un recurso protegido. 2. IIS recibe la solicitud y, dado que el acceso anónimo de IIS está habilitado, IIS no realiza ninguna autenticación del usuario y la solicitud se pasa a la aplicación ASP.NET. 3. Dado que el modo de autenticación de ASP.NET se ha establecido en formularios, la aplicación ASP.NET examina la solicitud para obtenerun vale de autenticación de formularios (una cookie concreta). Si no hay
  • 7. ningún vale de autenticación asociado a la solicitud, ASP.NET redirige la solicitud a la página de inicio de sesión especificada en el archivo de configuración de la aplicación. 4. En la página de inicio de sesión,el usuario escribe las credenciales requeridas, normalmente un nombre y una contraseña.El código de aplicación comprueba las credenciales para confirmar su autenticidad.Si se autentican las credenciales, el código de aplicación asocia a la respuesta un vale de autenticación que representa las credenciales del usuario. (No se incluye la contraseña.)Si se produce un error en la autenticación, la respuesta se devuelve con un mensaje de acceso denegado o se vuelve a mostrar el formulario de inicio de sesión. El vale de autenticación emitido se incluirá en las solicitudes que se realicen a la aplicación ASP.NET con posterioridad. ASP.NET examina la validez del vale mediante una comprobación de la autenticación de mensajes (MAC). 5. Si se autentica al usuario, ASP.NET comprueba la autorización y puede conceder acceso al recurso solicitado inicialmente, redirigir la solicitud a alguna otra página o redirigirla a un módulo de autorización personalizado, donde se comprueba si las credenciales están autorizadas a tener acceso al recurso protegido. Si se produce un error de autorización, ASP.NET redirige al usuario a la página de inicio de sesión. Si se autoriza al usuario, se concede el acceso al recurso protegido la aplicación puede requerir una prueba adicional de las credenciales antes de autorizar el acceso al recurso protegido, dependiendo del diseño de la aplicación. Ejemplo Almacenar credenciales en el archivo Webconfig En este método toda la información del usuario se almacena en la parte <credentials> del archivo web.config que se encuentra en el directorio raíz de la aplicación. Almacenar credenciales en el archivo Web.config es adecuado y conveniente sólo para autenticación simple. No es adecuado si se permite a los usuarios crear y mantener sus propias cuentas.En estos casos se debe almacenar el nombre de usuario y contraseña en una base de datos o un archivo XML. Se debe configurar el archivo de configuración Web.config de la siguiente manera y debe estar en el directorio raíz de la aplicación (el directorio en el que reside default.aspx). <configuration> <system.web> <authentication mode="Forms"> <forms name=".ASPXFormAuth" loginUrl="login.aspx" protection="All" timeout="15" path ="/"> <credentials passwordFormat="Clear"> <user name="Susam" password="Admin"/> <user name="Michelle" password="User"/> </credentials> </forms> </authentication>
  • 8. <authorization> <deny users="?" /> </authorization> </system.web> </configuration> Si el usuario no está autenticado,se redirige al archivo login.aspx. Dicha página debe lucir como se muestra en la Figura 1. El código de login.aspx es el siguiente. private void Button1_Click(object sender, System.EventArgs e){ if (FormsAuthentication.Authenticate(Userid.Text, Passid. Text)){ FormsAuthentication.RedirectFromLoginPage(Userid.Text,false); } else{ Passid.Text = ""; Label3.Text = "Usuario o contraseña incorrecto!"; } } Aquí, FormsAuthentication.Authenticate(Userid.Text, Passid.Text) devuelve un valor booleano true si las credenciales son válidas y false si las credenciales no son válidas. Si devuelve true, se crea una cookie de autenticación, se añade a la respuesta de salida, y se redirige la solicitud a la página solicitada inicialmente mediante FormsAuthentication.RedirectFromLoginPage(Userid.Text,false). En este método el segundo parámetro especifica si la autenticación debe ser una cookie de sesión (false) o una "cookie" (true). El archivo default.aspxes el solicitado originalmente. En dicha página simplemente mostraremos un mensaje de bienvenida, como se muestra en la Figura 2. Al emplear FormsAuthentication.SignOut(), s e puede fácilmente eliminar o invalidar las cookies de autenticación.El código de default.aspx es el siguiente: private void Page_Load(object sender,System.EventArgs e){ Label1.Text = "Le damos la bienvenida " + User.Identity.Name; } private void SignOut_Click(object sender,System.EventArgs e){ FormsAuthentication.SignOut(); Response.Redirect("login.aspx"); }