Уф! С чего начать ... Зависит от того, насколько «безопасным» он вам нужен. Т.е. разница между личным блогом и крупным проектом для крупной компании / правительственного департамента. и т.д ...
В произвольном порядке
- Защитите свои файлы конфигурации, зашифровав их.
- Убедитесь, что ваша база данных находится за какой-то демилитаризованной зоной, а не на общедоступном IP-адресе
- Попросите охранную компанию провести капитальный ремонт вашего сайта для выявления потенциальных уязвимостей (межсайтовый скриптинг / внедрение Sql)
- Использовать SSL
- Заблокируйте все порты на сервере, кроме 80 HTTP и 443 HTTPS, за исключением случаев, когда это абсолютно необходимо
- Убедитесь, что ваш удаленный рабочий стол / VNC-соединения с коробкой безопасны
- Если вы храните пароли в БД, хэшируйте их, а не храните простой текст
- Опубликуйте свой код и не оставляйте исходный код на сервере
- Создайте свой код на основе известных стандартов, то есть не пишите свои собственные алгоритмы шифрования
- Если доступны безопасные соединения между Site-> DB или Site-MSMQ, используйте их
У Microsoft есть хорошая статья о защите приложений ASP.NET, которую я выкопаю.
Редактировать
И как только что отправил Сайед в своем ответе, (+1 к нему)
Создание безопасных приложений ASP.NET: аутентификация, авторизация и безопасная связь