-
پشتبانی ثبت تیکت و سوالات پیش از خرید
-
پشتیبانی تلفنی 021-91300210
-
پشتیبانی فوری 0313740
احراز هویت دومرحلهای (2FA) برای SSH در سرور لینوکس
یکی از چالش های مدیر های سرور افزایش امنیت سرور ها می باشد. در مقاله پیشین به آموزش استفاده از SSH Key برای ورود به سرور لینوکس پرداختیم که باعث افزایش امنیت سرور های لینوکسی میشود. در این مقاله قصد داریم به روش فعال کردن احراز هویت دو مرحله ای SSH در لینوکس برای افزایش امنیت سرور های لینوکسی بپردازیم.
یک از راه های افزایش امنیت استفاده از احراز هویت دو عاملی (2FA) می باشد. در سال های اخیر تقریبا تمامی شبکه های اجتماعی و شرکت های مختلف کاربران خود را به استفاده از 2FA تشویق کرده اند. در این مقاله کمی به روش کارکرد 2FA و سپس فعالسازی برای SSH در سرور های لینوکسی می پردازیم.
احراز هویت دو عاملی با روش های مختلفی قابل استفاده می باشد. برای مثال یکی از روش های 2FA استفاده از کد تایید از طریق ایمیل یا پیامک می باشد اما این روش دارای یک ضعف امنیتی می باشد. برای مثال شرکت ارائه دهنده سیم کارت میتواند پیامک های کاربر را شنود کند و به این صورت احراز هویت دو مرحله ای را تایید کند.
اما یکی دیگر از روش های استفاده از احراز هویت دو عاملی استفاده از برنامه هایی مانند Google Authenticator می باشد. در چنین برنامه هایی معمولا از دو الگوریتم HMAC-based one-time password (HOTP) و Time-based one-time password (TOTP) استفاده میشود که در این مقاله فقط به TOTP میپردازیم.
در الگوریتم Time-based one-time password یک رمز عبور برای فقط یک سرویس خاص و برای مدت زمان مشخصی ایجاد میشود. رمز عبور ایجاد شده فقط برای سرویس مورد نظر و در مدت زمان مشخص شده معتبر می باشد.
در ادامه به نصب و راه اندازی Google Authenticator بر روی SSH سرور های لینوکسی میپردازیم.
نصب Google Authenticator در لینوکس
در لینوکس های مبتنی بر Ubuntu/Debian یا Redhat با کامند های زیر میتوانید پکیج مورد نظر را نصب کنید.
Ubuntu/Debian based:
[dt_code]sudo apt install libpam-google-authenticator -y[/dt_code]
Redhat based:
[dt_code]yum install google-authenticator -y[/dt_code]
هم اکنون شما Google Authenticator را بر روی سرور خود نصب کردید و با استفاده از دستور زیر باید توکن های احراز هویت را ایجاد کنید:
[dt_code]google-authenticator[/dt_code]
در این مرحله در خصوص ساخت توکن از شما سوال میشود که با ارسال y میتوانید تایید کنید.
پس از تایید secret key به خصوصی برای شما ایجاد میشود. تمامی اطلاعات داده شده از این بخش را در جایی ذخیره کنید. جهت اتصال برنامه به سرور به secret key نیاز پیدا خواهید کرد.
در ادامه با ارسال -1 مراحل راه اندازی را ادامه دهید و سوالات پیش رو را با y تایید کنید. همچنین در این مرحله emergency code شما نیز ایجاد میشود که در آینده برای بازیابی یا اتصال میتوانید از آن استفاده کنید.
پیکربندی SSH با Google Authenticator
با استفاده از دستور nano /etc/pam.d/sshd فایل پیکربندی PAM را باز کرده و مقادیر زیر را به انتها فایل اضافه کنید (در این آموزش ما از ویرایشگر nano استفاده میکنیم اما شما میتوانید با ویرایشگر مورد نظر خود مانند vim فایل را باز کنید):
auth required pam_google_authenticator.so nullok
auth required pam_permit.so
در ادامه باید پیکربندی SSH را با دستور nano /etc/ssh/sshd_config ویرایش کنیم.
در فایل به دنبال عبارت ChallengeResponseAuthentication بگردید و وضعیت آن را به yes تغییر دهید.
[dt_code]ChallengeResponseAuthentication yes[/dt_code]
تا این مرحله پیکربندی SSH را آپدیت کردیم و هم اکنون نیاز است سرویس را مجدد راه اندازی کنیم.
sudo systemctl restart sshd
تعریف secret key در برنامه Google Authenticator در گوشی هوشمند
1- به Google Authenticator مراجعه کنید و بر روی به علاوه (+) کلیک کنید.
2- مقدار secret key تولید شده را در بخش Your Key وارد کنید و بر روی دکمه Add کلیک کنید.
در این مقاله سعی کردیم به روش فعال کردن احراز هویت دو مرحله ای SSH در لینوکس بپردازیم.امیدواریم این مقاله به عنوان یکی از عوامل افزایش امنیت سرور مجازی لینوکس برای شما کاربران عزیز مفید واقع شده باشد.
در صورت نیاز به سرور مجازی ایران و سرور اختصاصی ایران با هر گونه سیستم عامل و کنترل پنل درخواستی می توانید به سایت وب داده مراجعه کنید. سرورهای ایران وب داده از بالاترین آپتایم و سرعت برخوردار می باشند.