18.6. Резюме
При разработке и администрировании приложения очень важно обдумывать вопросы возможного несанкционированного использования вашего (или используемого вами) кода, аппаратного и программного обеспечения.
Можно дать следующие рекомендации, о которых следует помнить в первую очередь при разработке веб-приложений:
-
Проверяйте все данные, приходящие от пользователя (ограничивайте длину, разрешенные символы, запретите использовать в тексте сообщений HTML-теги, подключающие внешние ресурсы или скрипты, проверяйте на наличие скриптов и вирусов загружаемые на сервер документы и картинки и т. д.).
-
При использовании парольной аутентификации используйте средства противодействия автоматизации («captcha»).
-
При необходимости, используйте методы криптографической защиты (криптографические сетевые протоколы).
-
При поддержке сессий, генерируйте случайные достаточно длинные идентификаторы сессии и в течение сессии их обновляйте, установите таймауты сессий.
-
Не передавайте клиенту информацию, кроме необходимой (никаких системных комментариев, системных сообщений об ошибках, информации об используемом программном обеспечении, никаких данных сессии, кроме идентификатора и т. д.).
-
Используйте самое свежее стабильное программное обеспечение, в т. ч. антивирусное программное обеспечение.
-
Пользуйтесь профессиональными сканерами уязвимостей (XSpider, Nikto и др.).
-
Организуйте тщательный мониторинг работы системы, ведите подробные журналы.
- Раздел 16. Многоуровневые и многослойные приложения. Шаблон проектирования Модель-Представление-Контроллер
- 16.1. Многоуровневые приложения
- 16.2. Многослойные приложения
- 16.3. Шаблон проектирования Модель-Представление-Контроллер
- 16.4. Реализация шаблона Модель-Представление-Контроллер в веб-приложениях
- Раздел 17. Базы данных в веб-приложениях
- 17.1. Основные понятия баз данных
- 17.2. Системы управления базами данных
- 17.3. Язык запросов sql
- Транзакции
- 17.4. Доступ к базам данных из Java
- Пример: база данных студентов
- Поддержка транзакций
- 17.5. Объектно-реляционная проекция
- Лекция 18. Безопасность Интернет-приложений
- 18.1. Аутентификация и авторизация
- 18.2. Понятие безопасности Интернет-приложений
- 18.3. Классы атак сетевого уровня Сниффинг пакетов
- Подмена ip-адреса
- Отказ в обслуживании
- Сетевая разведка
- 18.4. Криптографические технологии
- 18.5. Уязвимости уровня приложений
- Уязвимости системы аутентификации
- Уязвимости системы авторизации
- Атаки на стороне клиента
- Выполнение кода на сервере
- Разглашение информации
- Злоупотребление функциональными возможностями
- Наиболее распространенные уязвимости
- 18.6. Резюме