معرفی

یکی از معروف ترین راه‌های اتصال به سرورها از راه دور ssh می باشد. که در حال حاضر بصورت گسترده استفاده می شود.این پروتکل با استفاده از روش‌های رمزنگاری کلمه عبور شما را از حملاتی مانند man in the middle و حملات تکرار حفظ می کند.

باید توجه داشته باشید تا زمانی که ssh برقرار است داده‌های شما محافظت می شود. و نفوذگران از روش‌های مختلفی مانند keyloggerها و دوربین های امنیتی برای دسترسی به پسورد شما هم استفاده می کنند.

تا زمانی که شما از یک کامپیوتر مورد اطمینان در یک جای مورد اطمینان استفاده می کنید نگرانی درباره حملات نام برده شده ندارید. اما گاهی اوقات مجبورید که از کامپیوترهای عمومی جهت انجام کارهای خود استفاده کنید. برای محافظت از کلمه عبور شما در چنین مواردی سیستم عامل FreeBSD با یک خاصیت امنیتی جالب منتشر می‌شود که One-time Password In Everythings یا OPIE نام دارد.

در این مقاله سعی داریم که شما را با راه اندازی این سرویس آشنا کنیم.

پیش نیاز ها

برای اینکه بتوانیم این سرویس را راه اندازی کنیم نیازمند موارد زیر هستیم:

۱سرور FreeBSD 10.1 که سرویس ssh داشته باشد.

۲یک کاربر که قابلیت root شدن داشته باشد.

مرحله ۱: ساختن یک کاربر جدید OPIE

برای اینکه اطمینان حاصل کنیم بعد از راه اندازی OPIE دسترسی ssh مان را از روی سرور از دست ندهیم توصیه می‌شود که ابتدا یک یوزر دیگر با قابلیت root شدن بسازیم.

برای این منظور به سیستم ssh می کنیم.

Ssh root@<your server ip address>

بعد از لاگین کردن به سیستم یک یوزر می سازیم.

Adduser

بعد از ساختن کاربر جدید از سیستم خارج می شویم.

Exit

مرحله۲: لاگین کردن به سیستم توسط کاربر جدید

برای این منظور با کاربر جدید وارد سیستم می شویم.

Ssh <new user>@<your server ip address>

توجه داشته باشید که مراحل تنظیم OPIE را روی یک کنسول امن انجام دهید و هرگز از طریق rsh یا telnet اقدام به تنظیم OPIE نکنید.

مرحله۳: فعال سازی OPIE برای کاربر جدید

توجه: بعد از فعال سازی OPIE شما دیگر نمی توانید با استفاده از کلمه عبور فعلی وارد سیستم شوید از همین رو شدیداً توصیه می‌شود یک کاربر پشتیبان برای مواقعی که خطا رخ می دهد داشته باشید.

برای اینکه کاربر جدید را به سیستم احراز هویت OPIE وارد کنید باید از دستور opiepasswd استفاده کنید.

Opiepasswd -c

آپشن c- به دستور می گوید که ما بر روی یک سیستم امن در یک مکان امن هستیم.

بعد از اجرای دستور، سیستم از شما می خواهد که یک عبارت امنیتی که باید طولش ۱۰ یا بیشتر کاراکتر باشد را برای محافظت از seed وارد کنید. این عبارت نباید همان کلمه عبور ssh شما باشد که با آن وارد سیستم شده اید. این عبارت امنیتی بعداً برای صادر کردن کلمه عبور یکبار مصرف پرسیده خواهد شد.

خروجی دستور چیزی شبیه زیر خواهد بود:

Adding <new user>:
Only use this method from the console; NEVER from remote. If you are using
telnet, xterm, or a dial-in, type ^C now or exit with no password.
Then run opiepasswd without the -c parameter.
Using MD5 to compute responses.
Enter new secret pass phrase: new user's secret pass phrase
Again new secret pass phrase: new user's secret pass phrase

بعد از وارد کردن عبارت امنیتی و تاییدیه آن خروجی مانند زیر را خواهید دید.

ID <new user> OTP key is 499 si5509
RITE NERO BASS SOFA BEND TO

در این خروجی <new user> نام کاربر جدید شماست و ۴۹۹ کونتور ورودی و si5509 سید کلمه عبور کاربر جدید است.

بعد از این کاربر جدید ما عضو سیستم احراز هویت OPIE می باشد و شما نمی توانید با استفاده از کلمه عبور فعلی خود وارد سیستم شوید.

برای اطمینان حاصل کردن از نتیجه کار تا به اینجا یک ترمینال جدید باز کنید و سعی کنید که با استفاده از کلمه عبور فعلی مجدداً به سیستم وارد شوید.

Ssh <new user>@<your server ip address>

پس از اجرای دستور شما باید خروجی مانند زیر را ببینید:

otp-md5 498 zi5509 ext
Password:

حال شما باید کلمه عبور یکبار مصرف خود را برای ورود به سیستم وارد کنید. اما فعلاً برای کاربر جدید کلمه یکبار مصرف تولید نکرده ایم. برای این کار به مرحله بعدی می رویم.

مرحله۴: ساختن کلمه عبور یکبار مصرف

زمانی که یک کاربر عضو سیستم احراز هویت OPIE می‌شود کونتور ورودی او به صورت پیش فرض از ۴۹۹ به صورت بازگشتی شروع می‌شود و به یک seed پیش فرض متصل می شود. ما برای اینکه بتوانیم کلمه عبور یکبار مصرف بسازیم بایستی این دو مورد یعنی کونتور ورودی و شماره seed را بدانیم.

توجه: بخاطر داشته باشید که همیشه کلمه عبور یکبار مصرف خود را در محلی امن تولید کنید.

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

Opieinfo

نکته: اگر شما با یک کاربر که در سیستم احراز هویت OPIE نیست دستور را اجرا کنید خروجی مانند زیر خواهید دید.

freebsd not found in database.

بعد از بدست آوردن شماره کونتور و شماره seed کاربر ما می توانیم با استفاده از دستور زیر به صادر کردن یک کلمه عبور یکبار مصرف برای کاربر جدیدمان بپردازیم.

Opiekey 498 zi5509

و یک راه دومی که آسان‌تر می باشد اجرای دستور زیر می باشد.

opiekey `opieinfo`

بعد از وارد کردن یکی از دستورات بالا برای صادر کردن کلمه عبور یکبار مصرف برای کاربر جدیدمان سیستم از شما می خواهد که عبارت امنیتی را که در مرحله ۳ وارده کرده بودید را وارد کنید .

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

Using the MD5 algorithm to compute response.
Reminder: Don't use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: new user's secret pass phrase
PER POE TURF LITE ZONE BART

در خط آخر این خروجی یک عبارت می بینید که از ۶ کلمه کوچک تشکیل شده است. این همان کلمه عبور یکبار مصرف کاربر جدید است.

مجدداً امتحان می کنیم , یک ترمینال جدید باز کرده و با استفاده از کلمه عبور یکبار مصرفمان سعی می کنیم وارد سیستم شویم.

Ssh <new user>@<your server ip address>

otp-md5 498 zi5509 ext
Password:

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

حال برای اینکه مطمئن شویم این کلمه عبور واقعاً یکبار مصرف است از سیستم خارج می‌شویم و دوباره سعی می کنیم وارد شویم. خواهید دید که ورود دوباره ممکن نخواهد بود.

مرحله ۵: ایجاد چند کلمه عبور یکبار مصرف

در اکثر موارد ما نیاز داریم تا برای هر کاربرمان چند کلمه عبور یکبار مصرف ایجاد کنیم و نمی خواهیم دستورات مرحله ۴ را برای این امر تکرار کنیم. از این رو می توانیم از دستور زیر برای این کار استفاده کنیم.

opiekey -n 3 `opieinfo`

آپشن n- به دستور می گوید که به تعداد عددی که در جلوی آن قرار دارد کلمه عبور یکبار مصرف ایجاد کند.

بعد از اجرای دستور بالا خروجی مانند زیر را خواهید دید.

Using the MD5 algorithm to compute response.
Reminder: Do not use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: new user's secret pass phrase
۴۹۵: BEAM BOW TOO CAVE BOWL AUK
۴۹۶: HIVE KITE HUGE SANG VAT FOAM
۴۹۷: THIN ALL BUT NIL SUP BALE

اگر بخواهید کلمه های عبور صادر شده مخلوطی از حروف و اعداد باشند می توانید آپشن x- را نیز به دستور اضافه کنید.

opiekey -x -n 3 `opieinfo`

بعد از اجرای دستور فوق خروجی به شکل زیر خواهد شد.

Using the MD5 algorithm to compute response.
Reminder: Do not use opiekey from telnet or dial-in sessions.
Enter secret pass phrase: new user's secret pass phrase
۴۹۵: ۵۴۸۴ C106 B214 B801
۴۹۶: ۹۸F1 E6CF 7F54 3108
۴۹۷: ۶۰۱۰ ۲C11 192A EDAC