Seguridad en Aplicaciones.Net

Recientemente he tenido que realizar una serie de rutinas para encriptar y desencriptar datos en una aplicación web y buscando por internet he visto una serie de recursos y enlaces interantes en ingles y castellano que dejo aquí para compartir:

Seguridad de aplicaciones Web ASP.NET

Impersonation in ASP.NET

El concepto de  “impersonación o suplantación” es  la acción de ejecutar una aplicación ASP.NET  con el usuario que nosotros indicamos desde nuestra aplicación web y no dejando que sea el servidor IIS quien asigne siempre el mismo usuario (el definido en el fichero machine.config).

Esto nos garantiza que cada aplicación se ejecuta con los permisos de usuario que realmente le corresponden y evitamos riesgos al dar solo los privilegios necesarios a cada aplicacion.

 

Cadenas de Conexion y Bases de Datos

Ofuscación

Code obfuscation is a technology, which makes .NET application binaries harder to decompile. If you want to protect your .NET application from reverse engineering, you may consider obfuscation. Different aspects of code obfuscation are covered in the following online articles:

Encriptar y Desencriptar Datos

  • How to Encrypt and Decrypt Data Using a Symmetric Key
    Illustrates how to (a) generate a persistent (i.e. non-random) symmetric key and (b) use this key to encrypt and decrypt data. This sample is intended to help novice users get a grasp on encryption and decryption. It uses Rijndael (AES) algorithm, but you can easily adjust it to use Triple-DES or any other symmetric key algorithm supported by .NET.
  • How to Encrypt Data With Salt
    Explains how to use salt when encrypting the same plain text value with the same symmetric (Rijndael) key to generate different cipher text. This approach eliminates the need to use different initialization vectors or keys for the purpose of avoiding dictionary attacks.
  • How to Create an Encryption Library
    This MSDN example can help you build a reusable encryption library for different symmetric key algorithms. It is more robust than the previous example, but may not be as straight forward.
  • How to Store an Encrypted Connection String in the Registry
    This MSDN example can be used to encrypt and store sensitive data in the Windows® registry. It explains how to build a GUI application, which can be used to encrypt data in the registry, and retrieve these data from an ASP.NET application.
  • How to Use DPAPI to Encrypt and Decrypt Data
    Demonstrates how to encrypt and decrypt data using the Data Protection API (DPAPI).

Algoritmos Hashing

  • How to Hash Data with Salt
    Illustrates how to (a) hash a text string with a random salt value using MD5, SHA-1, SHA-256, SHA-384, and SHA-512 hashing algorithms and (b) verify a hash against a plain text value. If you just want to use MD5 or SHA1 hashing algorithm, you can simply call the HashPasswordForStoringInConfigFile method of the FormsAuthentication class, which belongs to the System.Web.Security namespace.
  • How to Use Forms Authentication with SQL Server
    This MSDN example can help you implement authentication mechanism using password hashes stored in a database.

Generador de Contraseñas Aleatorias en C# y VB.Net

  • How to Generate a Random Password
    Shows how to generate a random password, which consists of a combination of 7-bit ASCII alpha-numeric characters and special symbols, but does not contain ambiguous characters (such as [1,I,l]).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s