Hello,
I am about to deploy an ASP .NET application (developed with LINQ-to-SQL).
I have taken following precautions:
- Database access via user with limited access, however, since application is to access the sensitive data, I can't deprive this limited access user from it
- Database server is not exposed to external network - is hiding behind DMZ and all external ports are blocked
- I have done thorough security testing of the web-application; SQL Injections, rights management, illegal data access (via post/get data tempering)
- Application is operating on SSL
Questions:
1 - I am using ASP .NET authorization API; any recommendation for avoiding session hijacking (in case someone some-how gets to know the session key). Is there are way to change the authentication cookie less prone to threats? Say like, changing it after every request? (I know I am get very conscious about this particular item)
2 - Data in the database is not encrypted. To make things ultra-secure, I am thinking about implementing transparent data encryption. Can someone share his/her experience or a link about implementing data level encryption with SQL Server 2008 along with pros-and-cons?
3 - Recommendation for storing connection string in web.config. Is using integrated security better then using encrypted database connection string?