16 способов повысить безопасность API

16 способов повысить безопасность API
1. Аутентификация 🕵️♀️ — проверяем, что это именно тот пользователь получил доступ к API.
2. Авторизация 🚦 — даем доступы после аутентификации.
3. Уменьшаем число данных 🖍 — не надо хранить все чувствительные данные в одной базе.
4. Шифруем 🔒 — пусть только те, кто знает ключ могут понять данные.
5. Осторожно выводим ошибочные сообщения ❌ — Когда выводим сообщение об ошибках, не выводим слишком много важной информации.
6. Проверяем входные данные & подчищаем ошибки 🧹 — Входные данные разрешаем только нужного нам вида.
7. Intrusion Detection Systems 👀 — В сетевом трафике проверяем подозрительную активность.
8. IP Whitelisting 📝 — Разрешить подключаться к API только с доверенных адресов.
9. Журналирование и мониторинг 🖥 — Храним детальные журналы API и даже смотрим в них постоянно.
10. Rate Limiting ⏱ — Ограничиваем число запросов от пользователей для предотвращения перегрузки.
11. Проверяйте подключаемые модули 📦 — Убедитесь что сторонний код без уязвимостей.
12. Security Headers 📋 — Проверяйте атаки на сайт, например, XSS.
13. Временные токены ⏳ — Выдача токенов только на время предотовращает несанкционированный доступ.
14. Стандарты безопасности и фреймворки 📘 — Позволяйте себе следовать стратегии по защите API.
15. Web Application Firewall 🔥 — защищает ваш сайт от атак по HTTP.
16. API версии 🔄 — отделяйте различные версии API и прозрачно работайте с ними.
Источник — персональный блог Батранкова Дениса «Реальная безопасность».


