28.12.2013 Views

Building Secure ASP.NET Applications - People Search Directory

Building Secure ASP.NET Applications - People Search Directory

Building Secure ASP.NET Applications - People Search Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

At a Glance xxxix<br />

Chapter 12 – Data Access Security<br />

This chapter presents recommendations and guidance that will help you develop<br />

a secure data access strategy. The key issues covered by this chapter are shown in<br />

Figure 11. These include storing connection strings securely, using an appropriate<br />

identity for database access, securing data passed to and from the database, using<br />

an appropriate authentication mechanism and implementing authorization in the<br />

database.<br />

4<br />

Windows or SQL<br />

(Authentication)<br />

Client<br />

Identity<br />

Client<br />

Application<br />

(for example<br />

<strong>ASP</strong>.<strong>NET</strong>)<br />

2<br />

Data<br />

Access<br />

Identity<br />

SQL<br />

Server<br />

SQL Server<br />

1<br />

<strong>Secure</strong><br />

Connection<br />

String Storage<br />

3<br />

SSL or IPSec<br />

(Privacy/Integrity)<br />

5<br />

Database<br />

Permissions<br />

(Authorization)<br />

Figure 11<br />

Data Access security overview<br />

Read this chapter to learn how to:<br />

● Use Windows authentication from <strong>ASP</strong>.<strong>NET</strong> to your database.<br />

● <strong>Secure</strong> connection strings.<br />

● Use DPAPI from <strong>ASP</strong>.<strong>NET</strong> Web applications to store secrets such as connection<br />

strings and credentials.<br />

● Store credentials for authentication securely in a database.<br />

● Validate user input to protect against SQL injection attacks.<br />

● Mitigate the security threats associated with the use of SQL authentication.<br />

● Know which type of database roles to use.<br />

● Compare and contrast database user roles with SQL Server application roles.<br />

● <strong>Secure</strong> communication to SQL Server using IPSec and also SSL.<br />

● Create a least privilege database account.<br />

● Enable auditing in SQL Server.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!