منو سایت

  • خانه
  • وبلاگ
  • فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

 تاریخ انتشار :
/
  وبلاگ
فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

سرور اختصاصی لینوکس و سرور مجازی فضاهای میزبانی محبوب هستند. مدیریت و نگهداری این سرورها از طریق اتصال SSH انجام می شود. بنابراین امنیت SSH و حفاظت از آن در برابر حملات سایبری و هکرها بسیار مهم است. احراز هویت چند مرحله ای یا دو مرحله ای (2FA) که احراز هویت دو مرحله ای نیز نامیده می شود، یک فرآیند امنیتی است که در آن کاربر باید از دو روش احراز هویت مختلف برای دسترسی به حساب کاربری یا سیستم استفاده کند. اولین عامل چیزی است که شما می دانید، یعنی. نام کاربری و رمز عبور و دومین فاکتور احراز هویت چیزی است که می توانید به عنوان یک آیتم منحصر به فرد (مانند تلفن هوشمند و کد امنیتی و بیومتریک) برای تأیید درخواست های احراز هویت داشته باشید.

در واقع، با فعال کردن 2FA، لایه دیگری از امنیت احراز هویت را در بالای رمز عبور خود اضافه می‌کنید که دسترسی مهاجمان به داده‌ها از دستگاه یا حساب آنلاین شخص را دشوارتر می‌کند. احراز هویت دو مرحله ای یا احراز هویت چند مرحله ای (امنیت 2FA) به شما و کاربرانتان در برابر حملات فیشینگ و هکرها محافظت می کند و ورود شما را ایمن می کند.

سوالی که مطرح می شود این است که چگونه می توانیم احراز هویت دو مرحله ای را برای SSH در لینوکس فعال کنیم؟ در این آموزش لینوکس، نحوه راه اندازی و پیکربندی SSH برای احراز هویت دو مرحله ای تحت توزیع های لینوکس مبتنی بر RedHat و Debian مانند Fedora، CentOS Stream، Rocky Linux، AlmaLinux، Ubuntu، Debian و Mint را به شما آموزش می دهیم. بنابراین تا انتها با ما همراه باشید تا یاد بگیرید چگونه احراز هویت دو مرحله‌ای را برای SSH در لینوکس فعال کنید.

مراحل ایجاد احراز هویت دو مرحله ای برای SSH در لینوکس

به طور پیش فرض، SSH از ارتباط داده ایمن بین دستگاه های راه دور استفاده می کند. اما اگر می‌خواهید یک لایه امنیتی دیگر به اتصالات SSH خود اضافه کنید، می‌توانید از ماژول Google Authenticator (تأیید هویت دو مرحله‌ای) استفاده کنید، که به شما امکان می‌دهد در حین اتصال به سرورهای SSH، رمز عبور تأیید تصادفی یک‌باره (TOTP) را وارد کنید. ناگفته نماند که هنگام اتصال باید با استفاده از گوشی هوشمند یا رایانه خود کد تأیید را وارد کنید.

در واقع، Google Authenticator یک ماژول منبع باز است و شامل پیاده سازی رمزهای عبور یک بار مصرف (TOTP) توسعه یافته توسط گوگل است. این برنامه از چندین پلت فرم تلفن همراه و PAM (ماژول تأیید هویت متصل) پشتیبانی می کند. این OTP ها با استفاده از استانداردهای باز توسعه یافته توسط OATH Initiative for Open Authentication تولید می شوند.

در ادامه مراحل نصب Google Authenticator در لینوکس و ایجاد احراز هویت دو مرحله ای را به تفصیل توضیح خواهیم داد.

سرور لینوکس بخرید

سرور لینوکس بخرید

مرحله 1: Google Authenticator را روی لینوکس نصب کنید

برای ایجاد احراز هویت دو مرحله ای، ابتدا باید ماژول Google PAM را نصب کنید. در سیستم های مبتنی بر RedHat، باید بسته pam-devel را با استفاده از دستور yum نصب کنید:

# yum install google-authenticator -y

همچنین، در سیستم های مبتنی بر دبیان، بسته libpam0g-dev را با استفاده از دستور apt نصب کنید:

$ sudo apt install libpam-google-authenticator -y

مرحله 2: توکن های احراز هویت گوگل را ایجاد کنید

هنگامی که دستور google-authenticator را اجرا می کنید، از شما خواسته می شود:

# google-authenticator

فقط “Y” (بله) را به عنوان پاسخ در بیشتر موقعیت ها بنویسید. اگر مشکلی پیش آمد، می‌توانید دستور google-authenticator را دوباره وارد کنید و تنظیمات را بازنشانی کنید:

Do you want authentication tokens to be time-based (y/n) y

پس از این سوال، کلید مخفی و کدهای اضطراری خود را دریافت خواهید کرد. این جزئیات را در جایی بنویسید. از آنجایی که بعداً برای اجرای برنامه Google Authenticator به کلید مخفی نیاز خواهید داشت:

# google-authenticator

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email protected]%3Fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26issuer%3Dtecmint
Failed to use libqrencode to show QR code visually for scanning.
Consider typing the OTP secret into your app manually.
Your new secret key is: CYZF2YF7HFGX55ZEPQYLHOM
Enter code from app (-1 to skip): -1 Code confirmation skipped Your emergency scratch codes are: 83714291 53083200 80975623 57217008 77496339

سپس جادوگر راه اندازی را دنبال کنید و در بیشتر موارد پاسخ را به صورت “Y” (بله) مطابق شکل زیر وارد کنید:

Do you want me to update your "/root/.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) y By default, tokens are good for 30 seconds and in order 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) y 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) y
ssh را در لینوکس فعال کنید

ssh را در لینوکس فعال کنید

برای تکمیل فرآیند احراز هویت دو مرحله ای SSH، بله را وارد کنید

مرحله 3: نحوه پیکربندی SSH برای استفاده از Google Authenticator در لینوکس

فایل پیکربندی PAM “/etc/pam.d/sshd” را باز کنید و خط زیر را به انتهای فایل اضافه کنید:

auth required pam_google_authenticator.so nullok
auth required pam_permit.so
دستور ssh در لینوکس

دستور ssh در لینوکس

برای فعال کردن احراز هویت دو مرحله‌ای SSH در لینوکس، کد زیر را به فایل پیکربندی اضافه کنید.

سپس، فایل پیکربندی SSH “/etc/ssh/sshd_config” را باز کنید و به پایین بروید تا خط زیر را پیدا کنید:

ChallengeResponseAuthentication no

آن را به “بله” تغییر دهید:

ChallengeResponseAuthentication yes

نحوه نصب و فعال کردن ssh در سیستم عامل اوبونتو

نحوه نصب و فعال کردن ssh در سیستم عامل اوبونتو

فایل پیکربندی را به Yes تغییر دهید تا احراز هویت دو مرحله ای SSH در لینوکس فعال شود

در نهایت، سرویس SSH را مجددا راه اندازی کنید تا تغییرات جدید اعمال شوند:

# systemctl restart sshd
Or
$ sudo systemctl restart sshd

مرحله 4: برنامه Google Authenticator را پیکربندی کنید

برنامه Google Authenticator را در تلفن هوشمند خود راه اندازی کنید. روی علامت + کلیک کرده و Enter Setup Key را انتخاب کنید. اگر این برنامه را ندارید، می‌توانید برنامه Google Authenticator را در دستگاه‌های Android، iPhone یا Blackberry خود دانلود و نصب کنید. سپس نام کاربری (Account Name) و کلید مخفی ایجاد شده قبلی را وارد کنید.

راه اندازی ssh در لینوکس

راه اندازی ssh در لینوکس

برای فعال کردن احراز هویت دو مرحله ای SSH در لینوکس، Google Authenticator را دانلود و نصب کنید

پس از آن یک رمز عبور یک بار مصرف (کد تأیید) ایجاد می شود که به طور مداوم هر 30 ثانیه در تلفن همراه شما تغییر می کند.

چگونه تایید دو مرحله ای ssh را فعال کنیم

چگونه تایید دو مرحله ای ssh را فعال کنیم

OTP ایجاد شده در Google Authenticator را خواهید دید

اکنون هر بار که از طریق SSH وارد سیستم می شوید، از شما یک رمز عبور و رمز عبور Google Authenticator خواسته می شود. نیازی به گفتن نیست که شما فقط 30 ثانیه فرصت دارید تا این کد تایید را وارد کنید. توجه داشته باشید که اگر این زمان را از دست بدهید، یک کد تایید جدید دوباره ایجاد می شود که باید آن را وارد کنید:

login as: tecmint
Access denied
Using keyboard-interactive authentication.
Verification code:
Using keyboard-interactive authentication.
Password:
Last login: Tue Apr 23 13:58:29 2022 from 172.16.25.125
[[email protected] ~]#

اگر گوشی هوشمند ندارید، می توانید از افزونه فایرفاکس به نام Authenticator نیز برای احراز هویت دو مرحله ای استفاده کنید.

نکته: احراز هویت دو مرحله ای با ورود به سیستم SSH مبتنی بر رمز عبور کار می کند. این بدان معناست که اگر هر بار کلید خصوصی/عمومی را SSH کنید، دیگر نیازی به احراز هویت دو مرحله‌ای نیست و مستقیماً وارد می‌شود.

چگونه احراز هویت دو مرحله ای ssh را فعال کنیم

چگونه احراز هویت دو مرحله ای ssh را فعال کنیم

فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

نتیجه

سرورهای اختصاصی و مجازی لینوکس به دلیل قابلیت هایی که دارند بسیار محبوب هستند. امنیت و حفاظت از داده ها در برابر حملات هکرها نگرانی بسیاری از کاربران است. همانطور که می دانید مدیریت و نگهداری این سرورها از طریق اتصال SSH انجام می شود. به همین دلیل است که ایمن سازی SSH بسیار مهم است.

یکی از بهترین راه ها برای ایمن سازی و محافظت از SSH در برابر حملات مخرب و هکرها، احراز هویت دو مرحله ای است. در واقع احراز هویت دو مرحله ای کمک زیادی به تقویت فرآیند احراز هویت یک سرویس خاص می کند. در این آموزش سیستم عامل، نحوه ایجاد احراز هویت دو مرحله ای برای SSH در لینوکس با استفاده از Google Authenticator را به صورت گام به گام به شما آموزش دادیم. با استفاده از این آموزش می توانید به راحتی این فرآیند را برای سیستم خود ایجاد کنید.

سوالات متداول

1. چگونه می توانیم احراز هویت دو مرحله ای را در لینوکس فعال کنیم؟

SSH را روی سیستم خود راه اندازی کنید و نام کاربری خود را وارد کنید. پس از وارد کردن نام کاربری، SSH از شما احراز هویت دو یا چند مرحله ای (2FA / MFA) درخواست می کند. اگر روش OTP را روی SMS 2FA قرار داده اید، کد OTP را که از طریق تلفن همراه خود دریافت می کنید وارد کنید.

2. چگونه Google Authenticator را روی لینوکس نصب کنیم؟

  • مخزن EPEL را اضافه کنید.
  • Google Authenticator را نصب کنید.
  • برنامه اولیه سازی را اجرا کنید.
  • پس از اجرای دستور، سوالاتی از شما پرسیده می شود.
  • openssh (SSHD) را پیکربندی کنید.
  • فایل پیکربندی SSH را ویرایش کنید
  • سرویس SSHD را مجددا راه اندازی کنید.

منبع:

tecmint.com