Существуют ли какие-либо проблемы безопасности или причины не публиковать код, используемый в веб-приложении?

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

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


person Jimbo    schedule 01.01.2021    source источник


Ответы (1)


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

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

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

person Justin Waulters    schedule 01.01.2021