Register   
Login
   

Subscribe Today:


Some useful links

BenkoBLOG by Tags


MSDN Blogs


Other Blogs


Podcasts & Shows


Conferences


Regional User Groups


  

You are visitor 408066
    

Practical Security for Intranet Applications

Acorns under the pillow??

Just because your application lives & breathes safely on this side of the firewall, safe from intruders, doesn't mean you should sleep easy. Sensitive information still needs to be kept from prying eyes, disgruntled employees, and anyone who has less than noble intentions. In this webcast we covered the types of threats as well as the remedies to lock down information to keep it safe.

Some links to useful information about the topics we covered include the following:

Encryption

The .NET Framework supports the following encryption algorithms in the System.Security.Cryptography namespace:

  • Symmetric. Using same key to encrypt and decrypt. Keep your keys in a SAFE place!

    • Data Encryption Standard (DES). A widely used data encryption standard that uses a 40-bit or 56-bit key (5 or 7 bytes) to encrypt and decrypt data

    • Triple Data Encryption Standard (TripleDES). TripleDES is a variant of DES that encrypts and decrypts three times using at least 2 different keys

    • Rijndael. Rijndael is an advanced encryption standard that uses variable length encryption keys to encrypt blocks. Rijndael is the most commonly used symmetric algorithm

    • RC2. A variable key-size encryption algorithm designed to be faster than DES and TripleDES

  • Asymmetric. Uses a Public/Private key pair for encrypting and decrypting

    • Digital Signature Algorithm (DSA). DSA is an asymmetric encryption algorithm used as part of the Digital Signature Standard (DSS). It is used only for digital signatures.

    • RSA. RSA is used for both encrypting messages and making digital signatures. It is the most commonly used asymmetric encryption and authentication algorithm. RSA stands for the initials of the guys who created it: Rivest, Shamir and Adelman

Intranet Security Best Practices

Even IntraNet application should follow some of the basic best practices, especially since the threats faced by the applications are internal. This means that you need to think about the code as well as every other asset of the application. Here are some of them:

  • Use Code Behind. If code is mixed in with the html, and those files are exploited, then the attacker will be able to use the information to their advantage. When an application is put on a production server, even if it is internal it is better to deploy as assemblies...

  • Obfuscate. This is the process of making the assembled code less readable and simply raises the bar

  • Encrypt sensitive data where it is stored. Anyone with Access or MS Query can read data from a table that doesn't have permissions set on it, especially if there are legacy accounts that don't change their passwords very often, yet are granted dbo privileges.

  • Limit access to your data. Grant access where appropriate, granting read to those how need it.

  • Use Stored Procedures. Five good reasons:

    • Better Performance. The execution plan is precompiled, the database engine doesn't have to recompile each time

    • Security. Because the stored procedure checks input parameters for type you're protected from SQL Injection attack

    • Manageability. Stored Procedures live in the database instead of in the applications. Instead of relying on multiple developers to follow business rules they can be implemented where the data lives

    • DBA Integration. Developers generally think in procedural ways of accomplishing things. By leveraging your local DBA you're getting someone who thinks & works with Set Calculus regularly and you're more likely (hopefully) to get better code

    • You look like a hero. Because you followed best practices when someone else comes along to support your application they'll be glad you did...

  • DO NOT ALLOW APPLICATIONS TO REQUIRE THE SA ACCOUNT. Because as soon as the SA account is used you are limited in the ability to manage it's password.

  • Use Trusted Connections. This way you don't have to store the User ID & Password in the Web.Config file (which may or may not be secure)

  • Set proper Access on the File System. Use the ACL (Access Control List) to limit who has rights to directories containing application files. If the "Everyone" group has read rights to the directory, they can open the Web.Config file to look for passwords...See your TechNet guy for help

Other Security Resources. Stay informed about security...

     
 
Site Menu 
 * Practical Security for Intranet Solutions
 ·  Security Best Practices
 ·  ASP.NET 2.0
 ·  Web Services
 ·  Debug & Trace ASP.NET
 ·  WinForms
 ·  Practical Security for Intranet Solutions
          
*
Copyright (c) 2010 BenkoTIPS   Terms Of Use   Privacy Statement