.env ашық қалды
Planq-ты deploy жасағаннан кейін бірінші не істедім? Браузерді ашып, өнімімнің мекенжайына соңына /.env қосып тердім.
Файл берілді. Дерекқор паролі. Шифрлау кілті. SMTP деректері. Бәрі ашық мәтінде. Бір апта бұрын LinkedIn-нен адамдар шақырған сервисте.

Себебі қарапайым
Frontend маршрут таппаса, кез келген URL-ді береді. Nginx жасырын файлдарды бұғаттамаған. Классика. Бірақ пост бұл бақ туралы емес.
Пост мен мұны білгенім туралы. .env-ті сыртқа беруге болмайтынын білдім. Docker әдепкі бойынша порттарды бүкіл әлемге ашатынын және бэкенд nginx-ті айналып өтіп қолжетімді екенін білдім. Сервер әрбір жауапта өз нұсқасын көрсететінін білдім. Кез келген қауіпсіздік тізімінен үш нәрсе. Үшеуі де ашық тұрды.
Мүмкіндіктер көрінеді, осалдықтар көрінбейді
Жалғыз негізін салушы болсаң, қауіпсіздік мүмкіндіктермен, бақтармен, deploy-мен және контентпен назар үшін бәсекелеседі. Және ұтылады. Себебі мүмкіндіктер көрінеді, ал осалдықтар көрінбейді. Біреу кіргенше.
Бір кеште түзеттім. Жасырын файлдар бұғатталды. Порттар тек localhost-ты тыңдайды. Сервер нұсқасы жасырылды. Конфигтегі үш жол. «Мен бұлтта отырмын» мен «менің деректерім бұлтта жатыр» арасын бөлетін үш жол.
Негіз берік еді
TLS 1.3, HSTS, CSRF-токендер, httpOnly cookies-тегі JWT, rate limiting, Swagger жасырылған. Бәрі жаман емес еді. Бірақ үш анық осалдық кез келген негізді жоққа шығарады.
Басымдықтар, білім емес
Қауіпсіздік сынбайды. Ол кейінге қалдырылады. «Релизден кейін жасаймын.» «Бұл тек MVP.» «Әзірше сыни емес.» Содан кейін MVP өнімге айналады. Ал «кейін» ешқашан келмейді.
Ең пайдалы нәрсе, ол әдетке айналдыру. Жаздым, deploy жасадым, ауыстым. Енді production-ға жіберген нәрсені сындырып көр. Жағымсыз. Білгенмен жасамаған нәрселерді табасың. Бірақ кем дегенде өзің табасың, басқа біреу емес.
Егер өнім іске қосып, қауіпсіздікті кейінге қалдырған болсаңыз, дәл қазір /.env-ті ашып көріңіз. Шынымен.


