کلید ها و پسورد های سرور را کجا نگهداری می کنید؟

با درود خدمت شما. خیلی از پسورد های ما در گیت ریپازیتوری های پرایوت نگهداری می شه ولی این جالب نیست با اینکه دسترسی ما روی محدود فقط به یکی دو نفر برنامه نویسی که از کلید ها و پسورد ها باید با خبر باشند محدود است ولی می خواستم بپرسم کلید ها مثل توکن jwt و … رو در کجا بیرون سرور نگهداری می کنید؟

نمیدونم درست متوجه شدم یا نه.
قصد دارید پسورد رو developerها داشته باشن ولی روی ریپازیتوری نباشه؟

من اصولا برای اینکار پسوردها رو روی یه فایل کانفیگ نگه‌میدارم و اون فایل رو توی .gitignore ثبت میکنم که کامیت نشه.
نرم‌افزار هم لحظه‌ی اجرا اون فایل رو میخونه و پسوردها وارد رم سیستم میشن.

حالا برای این‌کار ۲تا روش دارم. یکیش اینه که اون فایل کانفیگم، خودش سورس‌کد باشه که خیلی راحت importش کنم توی پروژه و به شکل متغیرهای public از پسوردها استفاده کنم، یکی دیگش اینه که واقعا یه فایل با پسوند conf یا همچین چیزی بسازم و یه تابع بنویسم که اون فایل رو باز کنه و دیتاش رو پردازش کنه.
در‌کل هم فرقی نمیکنه. با جفتش راحتم.

برای پسورد دیتابیس، به شیوه‌ی دیکتاتوری عمل میکنم و کسایی که با من کار میکنن حتما باید یوزر root توی دیتابیس mysql پسورد 1234 داشته باشه (روی سیستم develop) :sweat_smile: و پسورد رو hard-code میکنم.

1 پسندیده

شاید این ابزار هم به درد بخوره (خودم تست نکردم) برای اینکه بفهمیم کی و کجا اشتباهی یه پسورد مهم رو توی ریپازیتوری گیت‌مون گذاشتیم و فرستادیم رو سرورهای گیتهاب و گیتلب و غیره.

1 پسندیده

اینجا اگر کامیت نشه اگر به هر صورت برای سیستم مشکلی پیش بیاد کلش می پره!!! جز اینکه اون فایل باز کد بشه در جایی آپلود بشه مثل گوگل درایو!!

1 پسندیده

خوب هیچ‌جوره نمیشه اینکارو کرد مگر اینکه با gpg رمزنگاریش کنید (بعد بفرستید روی سرورگیت) که اونم باز اگه سیستم طوریش بشه امکان برگردوندن رمز بدون کلید نیست.

1 پسندیده

می تونی پسورد ها رو با gpg رمزنگاری کنی و با ابزاری که باهاش نرم افزارت رو دپلوی می کنی به سرور انتقال بدی و پسورد رو مستقیم از gpg پایپ کنی به نرم افزارت یا یه متغییر محیطی

1 پسندیده

این تاپیکو الان دیدم.
شاید به دردتون بخوره:

1 پسندیده