Я собираюсь создать свое первое веб-приложение. Я хотел бы сделать все с открытым исходным кодом, но не уверен, что это считается плохой идеей. Я планировал не публиковать никаких учетных данных (например, загрузить неопубликованный файл конфигурации или переменную окружения), но я не был уверен, что простое разрешение людям вскрывать работающий код само по себе является проблемой безопасности. Есть ли части приложения, которыми я не должен делиться? Зависит ли это от используемой библиотеки? У меня нет никаких опасений по поводу того, что база данных, с которой я работаю, станет общедоступной. Больше всего меня беспокоит атака на машину (которую я планировал разместить в облаке).

Не уверен, что это имеет значение, но я думал о создании веб-приложения .Net и размещении его на AWS с базой данных sqlite. Я еще не придумал, как управлять идентификацией пользователей, ограничением скорости ....

.

Jimbo

Ответов: 1

Ответы (1)

Правильно сделанные веб-приложения, которые следуют всем соответствующим лучшим практикам, могут быть обнародованы без проблем. Идеальным примером этого является WordPress. Как вы уже говорили, любая приватная информация (пароли, информация о БД, соль для хэширования, конфигурация и т. д.) не должна включаться в репозиторий - даже если она приватная. Однако во многих случаях публичные репозитории содержат примеры конфигурационных файлов.

Если вы используете AWS, рассмотрите Parameter Store и Secrets Manager для работы с конфигурацией и секретами, и если вы следуете Well Architected Framework, ваше приложение будет безопасным с точки зрения облака. Управление идентификацией пользователей может быть достигнуто с помощью Cognito.

Если ваше приложение является API, я настоятельно рекомендую обратить внимание на API Gateway (с ним вы легко найдете ограничение скорости). Если нет, вы можете построить ограничение скорости поверх Application Load Balancer, или просто встроить его в ваше программное обеспечение.

2022 WebDevInsider