چگونه دو فاکتور امنیتی برای لاگین شدن و استفاده از دستور sudo ایجاد کنیم؟
چگونه دو فاکتور امنیتی برای لاگین شدن و استفاده از دستور sudo ایجاد کنیم؟
ما در دنیایی زندگی میکنیم که دادهها و اطلاعات به طور باور نکردنی دارای ارزش فراوانی هستند و همیشه این امکان وجود دارد که اطلاعات خود را از دست بدهیم. به همین دلیل باید هر کاری انجام دهیم تا مطمئن شویم، هر آنچه را که روی کامپیوتر یا سرورها نگهداری میکنیم، در امنیت کامل هستند. در این مقاله سعی داریم تا شما را با روش استفاده از ۲ فاکتور امنیتی به منظور احراز هویت کاربر، به هنگام لاگین شدن یا استفاده از دستور sudo، آشنا کنیم.
تامین امنیت سیستم، از اهمیت ویژهای برخوردار است. بنابراین مدیران و کاربران از رمزهای بسیار پیچیده استفاده میکنند و افرادی را استخدام میکنند تا رمزها را مدیریت کنند و... اما شما میتوانید با روشی دو مرحلهای، لاگینهایی را که به سرور لینوکس و کامپیوتر شما انجام میشود، تحت کنترل داشته باشید. خوشبختانه با استفاده از Google Authenticator میتوانید این کار را انجام دهید. به علاوه استفاده از آن نیز بسیار ساده خواهد بود.
ما این روش را روی کامپیوتری که دارای سیستم عامل ۱۶.۰۴ Ubuntu است استفاده خواهیم کرد اما روند کار به هنگام استفاده از آن روی سرور نیز به همین صورت خواهد بود و برای اینکه بتوانیم دو فاکتور را در کنار سایر اجزاء به کار ببریم، از Google Authenticator استفاده خواهیم کرد.
نکتهی مهمی که با آن مواجه خواهید شد این است که به هنگام استفاده از این روش، نمیتوانید از طریق حساب کاربری و بدون تایید کد شش رقمی، به سیستم وارد شوید (یا از دستورهای مربوط به Sudo استفاده کنید). به علاوه برای شما یک لایهی امنیتی دیگر نیز، اضافه خواهد شد، در نتیجه شاید دیگر نیاز نداشته باشید تا هر زمان که میخواهید به ماشین لینوکس خود لاگین شوید، مجبور باشید از گوشی هوشمند خود، (یا از دستور sudo) استفاده کنید. به خاطر داشته باشید که مراحل اضافه شده یک لایهی امنیتی اضافه ایجاد میکنند که قبلا وجود نداشت.
با توجه به مطالب گفته شده، شروع میکنیم.
اجزاء مورد نیاز را نصب کنید
این پازل دارای دو قسمت است که به وسیلهی Google Authenticator باید نصب شوند. گام اول، نصب اپلیکیشن مربوط به آن روی گوشی هوشمند است. در این قسمت به روش نصب این برنامه از طریق گوگل پلی اشاره میکنیم:
۱- در دستگاه اندرویدی خود Google Play Store را اجرا کنید
۲- google authenticator را جستجو کنید
۳- مکان ذخیره سازی فایل را بوسیلهی لمس Google Inc مشخص کنید
۴- Install را بزنید
۵- Accept را انتخاب کنید
۶- منتظر بمانید تا فرآیند نصب کامل شود
اکنون به توضیح روش نصب تاییدیه برروی دستگاه لینوکس میپردازیم.
۱- پنجرهی ترمینال را باز کنید
۲- دستور sudo apt-get install libpam-google-authenticator را اجرا کنید
۳- رمز sudo خود را وارد کنید و کلید اینتر را بزنید
۴- مراحل را تا تکمیل فرآیند نصب دنبال کنید
اکنون زمان آن فرارسیده تا فرآیند لاگین را پیکربندی کنید تا بتوانید با google-authenticator کار کنید.
پیکربندی
تنها لازم است یک فایل را ویرایش کنید تا تاییدیهی دو مرحلهای لاگین شدن و استفاده از دستور sudo، اضافه شود. فایل مورد نظر را میتوانید در مسیر /etc/pam.d/common-auth پیدا کنید. سپس فایل common-auth را اجرا کرده و خط زیر را بیابید:
auth [success=1 default=ignore] pam_unix.so nullok_secure
و قبل از آن عبارت زیر را اضافه کنید:
auth required pam_google_authenticator.so
فایل را ذخیره کرده و ببندید.
گام بعدی این است که google-authenticator را برای هر کاربر در سیستم اجرا کنید (به عبارت دیگر، آنها نمیتوانند به سیستم وارد شوند). مثلا فرض کنید ما دو کاربر با نامهای jack و Olivia روی سیستم خود داریم. ابتدا این امکان را برای jack فعال میکنیم (فرض میکنیم این اکانتی است که همراه با آن کار کرده بودیم “(we’ve been working with all along)”)
ترمینال را باز کرده و دستور google-authenticator را اجرا کنید. در این مرحله باید به تعدادی سوال پاسخ دهید. (هر کدام را که باید حتما پاسخ بدهیم با یک y مشخص شده است "(each of which you should answer with a y.)") سوالات عبارتند از :
- Do you want me to update your "/home/jlwallen/.google_authenticator" file (y/n) y
- Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n)
- By default, tokens are good for 30 seconds, and to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n)
- If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n)
زمانی که به این سوالات پاسخ دادید، کلید امنیتی به شما ارائه میشود، یک کد امنیتی و پنج کد اضطراری. کدهای اضطراری را پرینت کنید و نزد خود نگه دارید. این کدها را میتوانید در مواقعی که تلفن همراه خود را ندارید استفاده کنید (هر کد فقط یک بار قابل استفاده است). کلید امنیتی عبارتی است که شما با استفاده از آن میتوانید حساب کاربری اپلیکیشن Google Authenticator را فعال کنید و کد امنیتی، کد یک بار مصرفی است که از آن بلافاصله (در صورت لزوم) استفاده کنید.
اجرای اپلیکیشن
اکنون کاربر jack قابل استفاده است. قبل از اینکه اقدامات لازم را برای کاربر Olivia انجام دهیم، نیاز دارید تا یک حساب کاربری برای jack در اپلیکیشن Google Authenticator اضافه کرده، اپلیکیشن را اجرا کنید. در پنجرهی اصلی دکمهی منو (سه نقطهی عمودی موجود در سمت راست و بالای صفحه) را بزنید. Set up account را انتخاب کرده و Enter provided key را بزنید. در پنجرهی بعدی (تصویر۱)، وقتی که اپلیکیشن google-authenticator را اجرا کردید، کلید امنیتی ۱۶ رقمی را وارد کرده و برای حساب کاربری یک نام انتخاب کنید (با این کار شما به خاطر خواهید سپرد که از کدام حساب کاربری استفاده شده) و ADD را بزنید.
پس از اینکه حساب کاربری را اضافه کردید، هر زمان که بخواهید به سیستم لاگین شوید یا بخواهید از دستور sudo استفاده کنید، باید از کد ۶ رقمی استفاده کنید.
در نهایت، همانطور که قبلا گفته شد، حساب کاربری دیگر را نیز باید روی سیستم اجرا کنید. حساب کاربری Olivia را به صورت زیر فعال میکنیم.
۱- پنجرهی ترمینال را اجرا کنید
۲- دستور sudo su Olivia را اجرا کنید
۳- Google Authenticator را روی گوشی هوشمند خود اجرا کنید
۴- کد تایید ۶ رقمی (که توسط اپلیکیشن ارائه شده) را در ترمینال وارد کنید ( تصویر۲) و کلید اینتر را بزنید
۵- پسورد sudo خود را وارد کرده، اینتر را بزنید
۶- مثل یک کاربر جدید، دستور google-authenticator را اجرا کرده، به سولات پاسخ دهید و کلیدها و کدهای ارائه شده را ثبت کنید.
پس از اینکه با موفقیت کاربر Olivia را ایجاد کردید، به وسیلهی دستور google-authenticator، یک حساب کاربری جدید در اپلیکیشن Google Authenticator و با توجه به اطلاعات کاربر، ایجاد کنید (به همان روشی که برای کاربر اول انجام دادید). اکنون شما باید هر دو حساب کاربری jack و Olivia را در اپلیکیشن Google Authenticator داشته باشید.
هر وقت که شما میخواهید به سیستم خود وارد شوید (یا از sudo) استفاده کنید، قبل از اینکه بتوانید پسورد کاربری خود را وارد کنید، باید کلید تایید ۶ رقمی را ارائه کنید. دستگاه لینوکسی شما نسبت به قبل از اضافه شدن این دو فاکتور امنیتی، از امنیت کاملتری برخوردار شده است. اگر چه ممکن است برخی از افراد استفاده از این فرآیند را عذاب آور بدانند، توصیه میکنیم که از این روش استفاده کنید، بخصوص برای دستگاههایی که محل ذخیرهسازی اطلاعات حساس هستند.