Я собираюсь развернуть приложение ASP .NET (разработанное с использованием LINQ-to-SQL).
Я принял следующие меры предосторожности:
- Доступ к базе данных через пользователя с ограниченным доступом, однако, поскольку приложение предназначено для доступа к конфиденциальным данным, я не могу лишить этого пользователя с ограниченным доступом отэто
- Сервер базы данных не открыт внешней сети - скрывается за DMZ, а все внешние порты заблокированы
- Я провел тщательное тестирование безопасности веб-приложения;SQL-инъекции, управление правами, нелегальный доступ к данным (через пост-получение данных)
- Приложение работает по SSL
Вопросы:
1 - я используюAPI авторизации ASP .NET;любая рекомендация избегать перехвата сеанса (в случае, если кто-то каким-то образом узнает ключ сеанса).Есть ли способ изменить куки-файл аутентификации, менее подверженный угрозам?Скажи как, меняя его после каждого запроса?(Я знаю, что очень хорошо разбираюсь в этом конкретном предмете)
2 - Данные в базе данных не зашифрованы.Чтобы сделать вещи сверхбезопасными, я думаю о реализации прозрачного шифрования данных.Может кто-нибудь поделиться своим опытом или ссылкой на реализацию шифрования на уровне данных с SQL Server 2008 вместе с плюсами и минусами?
3 - Рекомендация по сохранению строки подключения в web.config.Лучше ли использовать встроенную защиту, чем зашифрованную строку подключения к базе данных?