بازدیدها: ۵۳۵
یکی از مهمترین معیارهای اساسی در برقراری امنیت حسابهای کاربری، توجه به انتخاب رمزعبور مناسب است که میزان قابل توجهی در محافظت از حساب کاربری و متعاقباً اطلاعات محرمانه موثر خواهد بود. در این مقاله به نحوهی بررسی یک رمزعبور پیچیده و مناسب برای استفاده در سیستمهای عامل، منابع، تجهیزات و … پرداخته شده است.
موارد کلی در انتخاب یک رمزعبور مناسب:
- ایجاد یک رمز عبور که به صورت ترکیبی از اعداد، کاراکترهای ویژه و حروف الفبا است.
- مطمئن شوید که رمزعبور قابل حدس زدن نیست. شما میتوانید از یک ابزار مانند makepasswd برای ایجاد یک رمزعبور که به سختی حدس زده میشود استفاده کنید.
- از عبارات ساده مانند “password”، “۱۲۳۴۵۶” ، “۱۲۳abc” یا “qwerty” استفاده نکنید.
- برای هر سرویسدهنده یک رمزعبور منحصر به فرد استفاده نمایید.
- طول یک رمزعبور امن و قوی بین ۱۰ تا ۱۴ کاراکتر است.
- ایجاد رمزهای عبور به صورت تصادفی: شما میتوانید این کار را با استفاده از یک تابع shell script ساده انجام دهید.
- در صورت امکان از احراز هویت دو-عاملی استفاده کنید.
- از 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