Рубрики
Uncategorized

Обеспечение серверу серверов с критическими регистрациями

Мы видели время и снова, насколько архитектуру сервера могут принести пользу вашей заявке; Изящное масштабирование, … Помечено с AWS, Serverless, DevOps, CloudSkills.

Мы видели время и снова, насколько архитектуру сервера могут принести пользу вашей заявке; Изящное масштабирование, экономичность и быстрое время производства — это лишь некоторые из вещей, которые вы думаете, когда говорите о безременительном. Но как насчет безопасности без прослушивания? Что мне нужно сделать, чтобы убедиться, что мое приложение не склонна к атакам?

Одна из многих компаний, которые занимаются безвесовой безопасностью, протего, придумали аналогию, мне действительно нравится.

«Это немного похоже на езду в Uber против вашей собственной машины. Конечно, водители, вероятно, более профессиональные и, возможно, лучше подготовлены. И гибкость платы за машину только тогда, когда вам нужно, это здорово. В то же время вы не можете выбирать, какие функции безопасности автомобиль или сколько подушевников у вас будет вокруг вас ».

От разработчики перспективы безсердной архитектуры, переход на серверу — это отличный шаг, поскольку он позволяет им сосредоточиться на самом продукте. В то же время платформа, на которой выполняется код, выполняется поставщиком провинции. Что это значит для безопасности состоит в том, что сами патчи применяются вовремя каждый раз, что является одной из самых больших «вызовов» для традиционных серверов. В основном, люди, ответственные за обновления безопасности либо забывают, либо просто игнорируют указанные обновления, оставляя вас и ваши данные на большой риск.

Это не все веселье и игры!

Хотя архитектура имеет некоторые четкие преимущества по сравнению с традиционным аналогом, Serverless имеет некоторые недостатки безопасности. Я быстро пойду через несколько, но вы можете прочитать Наша статья безопасности без сервеса Основываясь на хорошо архивационных рамках AWS, если вы хотите пойти в детали.

  • Инъекция событий — решается с помощью входной проверки и предопределенной логикой слоя базы данных, такими как ORM или сохраненные процедуры.
  • Сломанная аутентификация — решается со встроенным решениям аутентификации/авторизации и избежать опасных настроек развертывания.
  • Небезопасные настройки развертывания — Решается с использованием публичных чтения ACLS и хранения зашифрованных файлов.
  • Неправильное использование разрешений и ролей — решается с «принципом наименьших привилегий».
  • Небезопасное хранение приложений Secrets — Решается с помощью AWS KMS для шифрования ваших банковских секретов.
  • Дос атаки и финансовое истощение — Решено с помощью эффективного кода, используя тайм-ауты и дросселирование.
  • Неправильное использование исключений — решается путем регистрации следов стека только в консоль или выделенные файлы журнала. Никогда не отправляйте следы стека обратно в конечный пользователь.
  • Недостаточная регистрация — решается с третьим партийными инструментами, такими как dashbird или становится хорошо разбираться в использовании облака.

Особенно последний момент, недостаточное ведение журнала может привести к огромным вопросам позже. Откуда вы знаете, что все идет хорошо, если вы не видите, что происходит?

Как лесозаготовки помогает безопасным приложением без сервеса?

Например, имеющие критические журналы помогут нам, например, понять, какие недостатки безопасности безопасности безверовея исследуются атакующие атакующие и как их исправить или создавать список блоков IP-адресов или определить скомпрометированные счета клиентов. Несмотря на то, что мы можем помочь себе без журналов в некоторых случаях, они будут покупать нам драгоценное время и предоставлять ценные идеи, которые могут сэкономить наше дело много денег — и, самое главное, нашей жесткой репутации!

Помните: мы всегда в невыгодном положении против злоумышленника. Они запланировали все и изучали наше приложение на некоторое время. Мы не получаем никакого предупреждения и ничего не знаем о том, с кем мы боремся. Каждый бит информации помогает нам выровнять игровое поле.

Ниже приведены некоторые примеры информации, которую мы могли бы классифицировать как критические для входа в приложение без сервера. Это не исчерпывающий список, но даст нам хорошее начало головы.

Призывы/события входы

При анализе или выступлении на возможное нарушение безопасности, это полезно пройти шаги злоумышленника. С самого начала мы должны регистрировать входы, полученные каждой функцией. Вы будете опираться на ведение журнала только входных данных от внешних источников, но регистрацию каждая событие вызова функции было бы полезным.

Скажем, вы получаете запрос от внешнего источника, который вызывает цепочку шагов обработки, включающую несколько внутренних функций (не публично). Несмотря на то, что у вас могут быть введенные проверки в публично открытой функции, части ввода, вероятно, пройдут к внутренним функциям. Вход может вызвать неожиданное поведение или нежелательные побочные эффекты. В этом случае было бы интересно узнать, что именно достигло внутренних функций, а результаты были, чтобы соответственно действовать в обеспечении вашего приложения.

Полезная нагрузка на ответ

Подобно вводам вызова, полезные нагрузки отклика в результате регистрации также полезны для анализа и смягчения нарушений безопасности. В худшем случае не останавливая атаку, мы, по крайней мере, хотим узнать, какая информация теперь во владении злоумышленников.

Положительный побочный эффект от реализации полезных нагрузок внутри журналов определяет возможные ошибки или неожиданное поведение в нашем применении путем сравнения ожидаемых и фактических ответов.

Уровни производительности

Если наше приложение начинает страдания от плохих характеристик в традиционной серверной инфраструктуре, пользователи могут сосредоточиться, но мы не будем удивлены страшными счетами. Стоимость, как правило, переменная в стеке без сервера: чем больше мы используем, тем больше мы платим.

Если мы планируем, что функция будет работать в среднем в течение трех секунд и начать принимать тридцать секунд, нам нужно быстро не сжигать нашими драгоценными ресурсами в течение ничего.

Знание, в каких случаях наше приложение плохо выполняет, поможет нам улучшить наш код и избежать финансовых головных болей. Что именно вы должны быть ввение в систему для этой цели, будут сильно зависеть от случая использования и контекста, но в любом случае жизненно важно иметь в виду это при планировании критических журналов приложений.

Услуги, как Dashbird Не только сделайте вентиляцию и отладку ветерза, но также следит за производительностью ваших функций. Наличие каждой информации в одном месте, безусловно, сэкономит вам время и деньги. Такая услуга может легко оплатить сам; Это действительно стоит проверить это.

Запросы на аутентификацию

Если наше приложение имеет охраняемую область, она имеет решающее значение для запросов аутентификации, особенно неудачных. Убедитесь, что вы также регистрируете все возможное, можете по запросу, например, IP-адрес.

Ищите странные запросы или узоры. Например, вы можете увидеть SPIKE в неудачных запросах и выяснить, что многие из имени пользователей или адресов электронной почты даже нет в вашей клиентской базе. Это может быть кто-то сканирование списка утечек, чтобы проверить потенциально уязвимые учетные записи в вашем приложении. Поскольку люди довольно распространены для повторного использования паролями, они, вероятно, найдут мед в нашем улей. Позаботься о своих пчелах; Вы выросли их с тяжелой работой.

Регистрация аутентификации может предупредить, что кто-то скаутирует наше приложение для слабых мест. Это позволит нам принимать активные меры для предотвращения несанкционированного доступа к учетной записи. Источники, как Я был Pwned может быть очень полезным. В нашем примере, зная имена пользователей/электронных писем в владении злоумышленника поможет определить, какие утечки списка учетных данных они сканируют. Затем мы можем поинтересовать, какие из наших клиентов имели учетные данные, просматриваемые и профилактически блокируют свои учетные записи, просить пароль сброс.

Несмотря на маленькую хлопот, наши клиенты будут любить получать профилактический предупреждающий о безопасности без сервеса. Намного лучше, чем «Мы сожалеем, но ваша учетная запись — уже была нарушена, и мы не могли сделать что-то, чтобы предотвратить это»!

Dashbird предоставляет вам количество вхождений данной ошибки со временем. И это может предупредить по электронной почте и/или провисанию. Представьте себе, что получают активное предупреждение: «34 985 ошибки аутентификации». Это не может чувствовать себя хорошо и заслуживает внимания, верно?

Индикаторы использования услуг

В сценарии платной службы, возможно, выставленной через API, это хорошо для регистрации использования услуг.

Рассмотрим, что мы тщательно планировали наши расходы и ценовые структуры, чтобы наш бизнес есть справедливый шанс на финансовый успех. Клиенты начинают делать столько ожидаемой, волшебной вещью: входя в кредитные карты и используя наше приложение! Ваше здоровье! Когда-нибудь позже мы получаем счет из нашего поставщика облака, и номер не то, что мы ожидали.

Как мы могли потратить так много, если у нас была половина его в доходах в течение того же периода? Мы допустили ошибку размеров наших расходов и цен? Может быть, кто-то нашел способ обойти нашу логику авторизации доступа и свободно ездит на наших спинах? Что именно произошло?

В такой сценарии, это было бы потрясающе иметь подробные журналы, чтобы мы могли:

  • Сузить до каких услуг вносят вклад в наши убытки;
  • Кто был на самом деле использует эти услуги, а когда?
  • Были ли эти пользователи на самом деле должны использовать эти услуги?
  • Кто-нибудь злоупотреблял службой так, как мы не ожидали?

4 Вт

На основе Рекомендации Cheat OvaSP Cheat Мы должны регистрироваться: когда, где, кто, и что в каждом вызове функции. Это относится ко всем предметам, которые мы обсуждали выше, и любой другой сценарий регистрации в нашем приложении без сервеса.

Dashbird Дает вам наблюдаемость, которую вам не хватает в вашей безрусной среде, обеспечивая мониторинг и оповещение, чтобы помочь вам получить большую часть вашего нового приложения без сервеса.

Осторожный: То, что вы не должны регистрироваться

Мы обсудили только то, что мы должны включать в наши журналы, но нам также нужно рассмотреть, что должно быть исключено.

Эй, эй, не так быстро введя весь объект пользователя, приятель!

Информация, связанная с пользователем, во многих случаях будет содержать личные или конфиденциальные данные, которые никогда не должны войти в наши журналы. Убедитесь, что вы отфильтровали эти данные; В противном случае у нас могут возникнуть проблемы с европейскими данными о конфиденциальности данных или хуже! Подожди, хуже? Ну, вы получаете точку зрения.

Эта статья была вдохновлена 6 категорий критического журнала Информация ; Возможно, вы захотите проверить это.

Дальнейшее чтение:

Мониторинг на основе журнала для AWS Lambda

Aws лямбда метрики, которые вы должны контролировать

Как работает Dashbird

Оригинал: «https://dev.to/dashbird/securing-serverless-applications-with-critical-logging-5a6l»