بازدیدها: ۱۵۴

یکی از مهمترین معیارهای اساسی در برقراری امنیت حساب‌های کاربری، توجه به انتخاب رمزعبور مناسب است که میزان قابل توجهی در محافظت از حساب کاربری و متعاقباً اطلاعات محرمانه موثر خواهد بود. در این مقاله به نحوه‌ی بررسی یک رمزعبور پیچیده و مناسب برای استفاده در سیستم‌های عامل، منابع، تجهیزات و … پرداخته شده است.

موارد کلی در انتخاب یک رمزعبور مناسب:

  1. ایجاد یک رمز عبور که به صورت ترکیبی از اعداد، کاراکترهای ویژه و حروف الفبا است.
  2. مطمئن شوید که رمزعبور قابل حدس زدن نیست. شما می­توانید از یک ابزار مانند makepasswd برای ایجاد یک رمزعبور که به سختی حدس زده می­‌شود استفاده کنید.
  3. از عبارات ساده مانند “password”، “۱۲۳۴۵۶” ، “۱۲۳abc” یا “qwerty” استفاده نکنید.
  4. برای هر سرویس‌دهنده یک رمزعبور منحصر به فرد استفاده نمایید.
  5. طول یک رمزعبور امن و قوی بین ۱۰ تا ۱۴ کاراکتر است.
  6. ایجاد رمزهای عبور به صورت تصادفی: شما می­‌توانید این کار را با استفاده از یک تابع shell script ساده انجام دهید.
  7. در صورت امکان از احراز هویت دو-عاملی استفاده کنید.
  8. از pam_crack برای حصول اطمینان از قوی بودن رمزعبور استفاده کنید و رمزعبور را در برابر یک حمله dictionary بررسی کنید.

اما، شما چگونه می­‌توانید اثربخشی یک رمز عبور را در برابر حدس زده شدن و حملات brute-force در سیستم­‌عامل لینوکس بررسی کنید؟ پاسخ این سوال استفاده از فرمان cracklib-check است.

نصب cracklib بر روی یک سیستم مبتنی بر لینوکس

فرمان نصب از طریق  yumرا برای نصب cracklib در سیستم عامل RHEL و خانواده آن بنویسید:

yum install cracklib

فرمان apt-get را برای نصب cracklib در سیستم عامل دبیان / اوبونتو و خانواده آن بنویسید:

apt-get install libcrack2

شروع کار با cracklib-check

 این فرمان لیستی از رمزهای عبور را از صفحه کلید (stdin) دریافت می­‌کند و آن­‌ها را با استفاده از libcrack2 بررسی می­‌نماید. این ایده ساده است: اجلوگیری کنید از این که کاربران رمزعبورهایی را انتخاب کنند که توسط “crack” با فیلترکردن خروجی آن­ها در منبع حدس زده شوند.

مثال­‌ها

یک رمزعبور ساده مانند”password” را بررسی کنید:

echo “password” | cracklib-check

نمونه‌­ای از خروجی:

password: it is based on a dictionary word

الگوهای متوالی مانند “abc123456” را بررسی کنید:

echo “abcd123456” | cracklib-check

نمونه‌­ا‌ی از خروجی:

abcd123456: it is too simplistic/systematic

یک رمزعبور با ترکیبی از حروف، اعداد و نمادها را بررسی کنید:

echo ‘i1oVe|53Cur1ty’ | cracklib-check

نمونه­‌ای از خروجی:

i1oVe|53Cur1ty: OK

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

استفاده از یک اسکریپت ساده برای ایجاد نام کاربری در سیستم‌عامل لینوکس و بررسی پیچیدگی رمزعبور در زمان ایجاد حساب کاربری:

#!/bin/bash

read -p “Enter username : ” user

read -sp “Enter password : ” password

echo

echo”Evaluating password strength…”

echo

result=”$(cracklib-check <<<“$password”)”

goodc=”$(awk -F’: ‘ ‘{ print $2}’ <<<“$result”)”

if[[“$goodp” == “OK”]]

then

        echo”Adding a user account please wait…”

        /sbin/useradd -m -s /bin/bash $user

        echo”$user:$password” | /sbin/chpasswd

else

        echo”Your password was rejected – $result”

        echo”Try again.”

fi