برچسب: رمزنگاری

  • مدیریت پسورد‌های خود را به ‫password-store بسپارید

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

    اول از همه آخرین نسخه برنامه یعنی ۱.۶.۳ رو نصب داشته باشید. اگه اوبونتو ۱۴.۰۴ دارید برنامه داخل مخزن نسخه ۱.۴ رو داره که برای کار ما یه نموره قدیمیه.

    این برنامه برای رمز کردن پسوردهای ذخیره شده روی کامپیوتر از برنامه‌ی ‫gpg استفاده میکنه و برای اشتراک پسوردها از  git بهره می‌بره.

    با برنامه gpg میشه کلید ساخت و با کلیدهای ساخته‌ شده به راحتی میشه هر فایلی رو رمز کرد.

    سیاست من برای ساخت کلید اینه. یک کلید برای دسترسی به همه پسورد‌های داخلی که خودم و رییس بهش دسترسی داریم  و چند کلید هم به تعداد گروه‌های کاری داخل شرکت. مثلا گروه برنامه‌نویسی که قرار نیست به همه سرورها و دیتابیس‌های درون شرکت دسترسی داشته باشه یک کلید اختصاصی به اسم ‫Dev دارن.

    کلیدی می‌تونه اختصاصی برای استفاده‌ی یک شخص هم ساخته بشه و دسترسی اون فرد به فضاهایی که امکانش رو داره فراهم کنه مثل لیدر برنامه‌نویس‌ها که قطعا دسترسی‌های بیشتری رو نسبت به یک آدم تازه وارد خواهد داشت.

    برای ساخت کلید از دستور زیر باید استفاده کنید.

     

    با زدن این دستور چند گزینه جلوتون سبز میشه که همون شماره‌ی اول گزینه‌ی دلخواه ماست.

    keys

    مرحله‌ی بعد باید طول کلید رو مشخص کنید که همیشه طولانی‌ترین حالت رو انتخاب کنید (۴۰۹۶ بیت)

    و مرحله‌ی بعد به دلخواه خودتون می‌تونید زمان انقضای کلید رو هم مشخص کنید. در صورتیکه میخواید تا ابد با یه کلید کار کنید عدد صفر رو تایپ کنید و اینتر رو بزنید. کلیدهایی رو که اختصاصی برای یک شخص می‌سازید بهتره سالیانه باشه.

    توی مراحل بعدی باید یک  اسم و نشون برای کلیدتون بذارید که بهتره واقعی باشه و یک راه ارجاع به کلیدها، ایمیلیه که تو همین بخش مشخص میکنید. مثلا برای گروه برنامه‌نویسی رو [email protected]  بذارید و برای گروهی که دسترسی به همه‌ی پسوردها داره [email protected] گزینه‌ی مناسبیه.

    مرحله‌ی بعد باید یک پسورد برای ذخیره‌ کردن خود کلید  به اسم ‫ passphrase رو وارد کنید تا وقتی در حال استفاده از سیستم عامل هستید، کلید در یک فایل پلین تکست به صورت معمولی ذخیره نشه و با این پسورد رمز شده بمونه. در صورت فراموشی این پسورد،  قید کل پسوردها و فایل‌هایی که با این کلید رمز شدن رو بزنید ;)

     برنامه‌ در آخر برای تولید کلید ازتون می‌خواد که با سیستم عامل فعالیت کنید تا بتونه به صورت تصادفی کلید رو بسازه. توی این مواقع می‌تونید یک ترمینال جدید باز کنید و داخلش کامند زیر رو اجرا کنید!

     

    اگه دیدید این روش هم کارساز نیست، مرورگرتون رو هعی باز و بسته کنید  و دکمه‌های کیبرد رو به صورت تصادفی بزنید

    برای مشاهده‌ی کلید‌ ساخته شده  از این کامند استفاده کنید.

     

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

     

    ‫gpg-id در اینجا همون ایمیل اختصاصی کلید میشه که مرحله‌ی قبل ایجاد کردید.

    با زدن این دستور  فولدر مخفی .password-store  در پوشه‌ی خونگی‌تون  به همراه یک فایل به اسم gpg-id ساخته میشه. فایل gpg-id به برنامه pass میگه که پسوردهای ساخته شده با کدوم کلید رمز بشن.

    برای ذخیره‌ی پسورد جدید از دستور زیر استفاده کنید.

     

    که میشه پسورد روت دیتابیس سرور ۱۷۲.۲۰.۲۳.۲ و با زدنش برنامه ۲ بار ازتون پسورد رو می‌پرسه.

    پسوردی که وارد میکنید در فولدر زیر به صورت رمز شده ذخیره میشه.

     

    فایلی که داخل این فولدر موجوده به اسم root.gpg رو اگر با یک ادیتور باز کنید یک سری نوشته‌ی در هم و برهم خواهید دید که بدون دسترسی به کلید باز کردنش کار خیلی خیلی سختیه و تا حدی نشدنیه!

    و برای همین دیگه نگرانی از شیر کردن این فضا با دیگران نخواهید داشت. به راحتی میشه این فضا رو با استفاده از git با دیگران به اشتراک گذاشت بدون اینکه نگران باشید  دیگران پسوردها رو بخونن. برای اینکار خود pass دستورهایی مشابه دستورهای git رو براتون ایجاد کرده.

     برای استفاده‌ی شخصی هم کافیه محتویات پوشه‌ی password-store رو به فضای کلود رایگانی مثل دراپ‌باکس انتقال بدید که خیالتون از بابت دسترسی دائمی به پسوردها و کلیدها راحت باشه.

     

    حالا فرض کنید میخواید برای گروه Dev پسوردهایی رو بسازید که با کلید خودشون رمز شده باشن! برای اینکار به برنامه pass میگیم که فولدر Dev رو ایجاد کنه اینبار با کلید مد نظرمون..

     

    روش دستی هم اینه که داخل پوشه‌ی password-store فولدر Dev رو ایجاد کنیم و داخلش فایل مخفی  gpg-id رو ایجاد کنیم. محتوای فایل هم ایمیلی هست که به کلید اختصاص دادیم، [email protected] . برنامه‌ی pass تمام پسوردهایی که زیر مجموعه‌ی Dev باشن رو به صورت خودکار با کلید جدید ایجاد میکنه.

    برای دیدن لیست پسوردهایی که ذخیره دارید کافیه دستور pass رو بزنید.

     

    برای نمایش پسورد باید کامند زیر رو بزنید و passphrase خودتون رو هم به برنامه بدید تا  پسورد رو مشاهده کنید. passphrase رو هم میشه کاری کرد که تا زمانی که لاگین هستید معتبر باشه و هر بار برنامه ازتون اون رو نپرسه. حتی میشه کاری کرد که passphrase پسورد لاگین به سیستم بشه که با جستجو میتونید اون رو پیدا کنید :)

     

    برای تولید پسورد تصادفی ۱۵ حرفی از دستور زیر استفاده کنید.

     

    برای پاک کردن یک پسورد هم از این دستور استفاده کنید.

     

    یا به صورت عادی برید فایل و فولدرش رو پاک کنید.

  • با استونل، تونل امن بسازید

    استونل چیه؟ برنامه‌ای که میاد اطلاعات رد و بدل شده رو رمزنگاری میکنه.
    اما به تنهایی هیچ کاربردی نداره و همیشه پشت سرش یه برنامه دیگه هست. یه جورایی میشه گفت مثل آپاچی می‌مونه و نقش گارسونی رو برعهده داره که دم در رستوران (پورت) به گوش ایستاده و همه درخواست‌ها رو می‌گیره و پاس میده به برنامه پشت سری (سرآشپز) :) و بعد دوباره جواب  (غذای دستپخت سرآشپز) رو بعد از اینکه رمزنگاری کرد!  به دست مشری می‌رسونه و بنابراین وسط راه کسی متوجه نوع غذا نمی‌شه، اینکه پیتزاست و یا ساندویچ دیگه معلوم نیست!

    stunnel

    حالا بریم سراغ یکی از  برنامه‌های پشت سری و کاربردی اسکوئید! اسکوئید دو تا نقش مهم داره یکی به عنوان استفاده کش و دیگری پروکسی. حالا توی مورد ما قراره کاربر از طریق استونل درخواست خودش رو به صورت رمز شده بفرسته به سرور، درون سرور استونل درخواست کاربر و مشتری رو هدایت می‌کنه به سمت اسکوئید و اون هم  سایت مورد درخواست کاربر رو باز میکنه روی سروری که دارید، و جواب رو تحویل استونل می‌ده و در نهایت استونل هم جواب رو به صورت رمز شده به سمت کاربر هدایت می‌کنه :)

    حالا که روند کار مشخص شد، می‌ریم سراغ ریزه کاری‌ها

    (بیشتر…)