Чи розробляєте ви безсерверну програму? Замислювалися ви коли-небудь про її безпеку? Чи впевнені ви, що ваша програма захищена?
Безсерверні додатки стають все більш популярними, а це означає, що вони також стають більш вразливими до загроз безпеці. Існує багато потенційних проблем, які можуть виникнути та зробити вашу програму вразливою для онлайн-атак. Розглянемо деякі з основних ризиків, яких слід остерігатися:
- Атаки типу “відмова в обслуговуванні” (DoS)
- Маніпулювання бізнес-логікою
- Зловживання обчислювальними ресурсами
- Проблеми із введенням даних
- Ненадійна автентифікація
- Небезпечне зберігання даних
- Вразлива інтеграція з API та сторонніми інструментами
Безпека безсерверних програм вимагає іншого підходу, ніж традиційні. Основний акцент робиться на безпеці функцій, тому вам потрібна спеціальна платформа для комплексного захисту. Також потрібні інші методи моніторингу та налагодження.
Рекомендую ознайомитися з цим посібником від PureSec, який розглядає 12 найважливіших загроз для безсерверних додатків.
А зараз розглянемо декілька варіантів рішень для безпеки:
PureSec
PureSec пропонує комплексні рішення для забезпечення безпеки AWS Lambda, Google Cloud Functions, IBM Cloud Functions та Azure Functions. Ця платформа добре інтегрується з багатьма популярними інструментами та платформами, зокрема:
- Gitlab
- Splunk
- Apex
- Jenkins
- AWS Cloudformation
- Serverless Framework
Безсерверний брандмауер PureSec виявляє та блокує атаки на рівні функцій, подій та даних, не знижуючи продуктивність. Його механізм виявлення може перевіряти тип тригера подій, як-от бази даних NoSQL, API, хмарні сховища, системи обміну повідомленнями Pub/Sub тощо.
Їхня бібліотека FunctionShield дозволяє розробникам впроваджувати механізми безпеки для вирішення поширених проблем. Її можна використовувати з Node.js, Python та Java.
Серед переваг використання FunctionShield можна виділити:
- Запобігання витоку даних шляхом моніторингу вихідного мережевого трафіку від функцій.
- Захист від витоку вихідного коду обробника.
- Контроль виконання дочірніх процесів.
- Можливість вибору між режимами сповіщення (для реєстрації подій безпеки) та блокування (для зупинки виконання у разі порушення політики).
Він додає менше ніж 1 мілісекунду затримки до загального часу виконання.
Snyk
Snyk – це популярне рішення з відкритим вихідним кодом, яке використовується для моніторингу, пошуку та виправлення вразливостей, виявлених у залежностях програм. Нещодавно вони додали інтеграцію з AWS Lambda та Azure Functions, що дозволяє перевіряти вразливості розгорнутої програми.
У разі виявлення вразливості ви можете налаштувати отримання повідомлень електронною поштою або через Slack.
Ви можете вибрати частоту проведення тестування.
Aqua
Aqua пропонує комплексне рішення для захисту як безсерверних контейнерів, так і функцій.
Платформа сканує образи контейнерів та функції на наявність відомих та невідомих вразливостей у бібліотеках, конфігураціях та дозволах. Aqua можна інтегрувати в CI/CD pipeline.
Twistlock
Забезпечте безпеку вашої програми на кожному етапі її життєвого циклу з Twistlock.
Twistlock сканує та захищає всі функції вашого облікового запису в реальному часі для забезпечення безпеки вашої програми від загроз. Основні особливості:
- Підтримує Python, .Net, Java та Node.js
- Хмарний брандмауер для постійного моніторингу та запобігання загрозам
- Шаблони для відповідності HIPPA та PCI
- Інтеграція з TeamCity, Jenkins
- Керування вразливостями
Twistlock використовує машинне навчання для забезпечення автоматичного захисту під час виконання та створення політик безпеки.
Висновок
Забезпечення безпеки програмного забезпечення є критично важливим, незалежно від того, чи використовується безсерверна архітектура, чи традиційна. Хороша новина полягає в тому, що багато з цих рішень пропонують БЕЗКОШТОВНУ пробну версію, тож ви можете перевірити, яке з них підходить саме для вашої програми. Якщо ви новачок і хочете отримати практичний досвід роботи з AWS Lambda та безсерверним фреймворком, зверніть увагу на цей чудовий онлайн-курс.
Сподобалася стаття? Поділіться нею зі світом!