• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
  • تعداد بازديد :
  • 3466
  • شنبه 1383/2/19
  • تاريخ :

هفت گناه نابخشودنی راهبر لینوكس

به منظور كنترل دسترسی‌ها و سایر مسائل امنیتی در زمینه كامپیوتر بعضی از مسئولین سایت‌ها و سایر عوامل ذینفع، هزینه‌های بسیار گزافی را صرف تهیه و خرید نرم‌افزار و سخت‌افزار می‌نمایند. ولی غافل از اینكه از كنار مسائل بسیار ساده و پیش افتاده امنیتی جهت محفوظ نگه داشتن اطلاعات می‌گذرند.
در این مقاله كوتاه سعی شده كه به 7 مطلب ساده و پیش پاافتاده در زمینه حفاظت اطلاعات پرداخته شود. 7 مطلب ساده و پیش پاافتاده‌ای كه با عدم رعایت آنها امكان به خطر افتادن سیستم اطلاعاتی یك سازمان وجود دارد.

خطاهای هفتگانه



1- انتخاب اسم رمز ساده و یا اسامی رمز پیش فرض
2- باز گذاشتن درگاه‌های(port) شبكه
3- استفاده از نرم‌افزارهای قدیمی
4- استفاده از برنامه‌های نا‌امن و یا پیكربندی شده به‌صورت نادرست
5- ناكافی بودن منابع و یا نامناسب بودن ارجحیت‌ها
6- نگهداری UserIDهای قدیمی و غیرلازم و تهیه شناسه‌های عمومی
7 - به تعویق انداختن فعالیت‌های مهم در زمینه ایجاد امنیت


1. انتخاب اسم رمز ساده و یا اسامی رمز پیش فرض



با توجه به سریع شدن پردازنده‌ها و امكان دسترسی به نرم‌افزارهایی كه اسامی رمز را كشف می‌نمایند، حتی با انتخاب اسامی رمز پیچیده نیز، رمز می‌تواند شكسته شود.
با استفاده از ابزارهایی كه در سیستم‌عامل Unix/Linux پیش‌بینی شده است مسئول سیستم می‌تواند اجازه تولید اسامی رمز و سایر مسائل مرتبط را كنترل نماید.
در بعضی از سیستم‌عامل‌های یونیكس فایلی با نام passwd تحت /etc/default وجود دارد كه راهبر یونیكس می‌تواند با ایجاد تغییراتی در آن به كاربر اجازه ندهد كه اسامی رمز ساده را انتخاب نماید. اما در لینوكس به اندازه كافی كنترل‌ بر روی اسم رمز انجام می‌گردد و می‌توان تا حدی مطمئن بود كه كاربر نمی‌تواند اسامی رمز ساده انتخاب نماید.
فراموش نگردد كه مسئول سایت (راهبر سیستم) این اختیار را دارد كه اسامی رمز ساده‌ای را برای كاربران تهیه نماید، كه این كار خطای مسلم راهبر می‌باشد. چرا كه هر اسم رمز ساده دروازه‌ای برای ورود افراد مهاجم بوده و فرد مهاجم پس از وارد شدن به سیستم می‌تواند با استفاده از نقاط ضعف دیگر احتمالی و به‌وجود آوردن سر ریز بافر(Buffer Overflow) كنترل سیستم را در ‌دست بگیرد. در بسیاری از سیستم‌های فعلی Unix/Linux مجموعه امكانات PAM(Pluggable Authentication Modules) نصب بوده و توصیه اكید می‌گردد كه مجموعه زیر را برای بالا بردن امنیت سیستم تحت /etc/pam.d و در فایل passwd قرار گیرد.

passwd password requisite usr/lib/security/pamcraklib.so retry=3

passwd password required /usr/lib/security/pam_pwdb.so use_authtok

در زمان اجرای برنامه passwd، كتابخانه‌های پویا(Dynamic) با نام‌های pamcraklib.so و pam_pwdb.so به برنامه متصل شده و كنترل‌های لازم را انجام خواهند داد.
مجموعه نرم‌افزارهای craklib این امكان را به سیستم اضافه می‌نماید تا كنترل نماید كه آیا اسم رمز تهیه شده توسط كاربر شكستنی است یا خیر. فراموش نگردد كه فرمان passwd تابع راهبر سیستم بوده و راهبر سیستم می‌تواند اسم رمز ساده را انتخاب نماید و این عمل گناهی نابخشودنی را برای مسئول سیستم ثبت خواهد نمود. در مورد اسامی رمز پیش فرض كه در نصب بعضی سوئیچ‌ها و مسیریاب‌ها وجود دارد، راهبر سیستم می‌بایست در اسرع وقت (زمان نصب) اسامی رمز از پیش تعیین شده را تعویض نماید.

2. باز گذاشتن درگاه‌های شبكه



هر درگاه باز در TCP/IP می‌تواند یك دروازه ورودی برای مهاجمین باشد. باز گذاشتن درگاه‌هایی كه محافظت نشده و یا بدون استفاده می‌باشند، به مهاجمین اجازه می‌دهد به‌ نحوی وارد سیستم شده و امنیت سیستم را مخدوش نمایند. فرمان‌های زیادی مانند finger وrwho و غیره وجود دارند كه افراد مهاجم می‌توانند با اجرای آنها در شبكه و قرار دادن آدرس كامپیوتر مقصد، اسامی كاربران و تعداد زیادی از قلم‌های اطلاعاتی مربوط به كاربران را به‌دست آورده و با حدس زدن اسم رمز وارد سیستم گردند. به‌ وسیله‌ی ابزارهاییی كه در سیستم‌عامل Unix/Linux وجود دارد می‌توان درگاه‌های باز را پیدا نموده و تمهیدات لازم را انجام داد. یكی از این فرمان‌ها nmap است كه با اجرای این فرمان و قرار دادن optionهای لازم و وارد نمودن آدرس IP، درگاه‌های كامپیوتر مورد نظر را پیدا نموده و فعالیت‌‌های اخلال گونه را انجام داد. راهبر سیستم با اجرای فرمان netstat –atuv می‌تواند سرویس‌هایی كه در حال اجرا هستند را مشخص نموده و به‌ وسیله انواع روش‌هایی كه وجود دارد سرویس را غیر فعال نماید و شاید یك روش مناسب پاك كردن برنامه های سرویس دهنده و یا تغییر مجوز آن به 000(به‌وسیله فرمان chmod) باشد. در هرحال می‌توان با فرمان chkconfig اجرای بعضی از سرویس‌ها را در زمان بالا آمدن سیستم متوقف نمود. به‌ عنوان مثال با فرمان chkconfigg –del portmap می‌توان سرویس portmap را غیرفعال نمود.

3- استفاده از نرم‌افزارهای قدیمی



توصیه می‌شود كه از نرم‌افزارهایی كه نسخه‌های جدید آن به دلیل وجود اشكالات امنیتی در نسخه‌های قدیمی روانه بازار شده است، استفاده شود و گناهی بس نابخشودنی است كه راهبر سیستم با استفاده از نرم‌افزارهای قدیمی راه را برای سوء‌استفاده كننده‌گان باز بگذارد.
به عنوان مثال فرمان ls دارای مشكلی بوده كه با قرار دادن آرگومانی خاص می‌توان سرریز بافر به‌ وجود آورده و كنترل سیستم را به‌دست گرفت. شاید در ماه گذشته بود كه مجموعه نرم‌افزار مربوط به نمایش اسامی فایل‌ها و شاخه‌ها(ls , lx , lr ,….) در سایت‌های مهم قرار داده شد تا استفاده كننده‌گان لینوكس آن را بر روی سیستم خود نصب نمایند.

4- استفاده ازبرنامه‌های ناامن و یا پیكربندی شده به ‌صورت نادرست



به‌ دلیل مسائل خاصی بعضی از سیستم‌ها نیاز به مجوزهای خاص داشته و اعمال مجوزها می‌تواند مسائل غیرقابل پیش‌بینی را به‌وجود آورد و ضمناً با پیكربندی نامناسب نرم‌افزار، راه برای سوءاستفاده كنند‌گان باز خواهد شد.
به‌ عنوان مثال نرم‌افزارهایی وجود دارد كه برای اجرا شدن، مجوز s (Set UserID) را لازم داشته و این مجوز در حالتی كه صاحب فایل اجرایی root باشد، بسیار خطرناك است. فرمانی كه این اجازه را دارد با اجرای فراخوان‌های سیستم(System call) مانندsetid تغییر مالكیت داده و قدرتroot را كسب می‌نماید و راهبر سیستم می‌بایست تاوان این گناه نابخشودنی را نیز بدهد.
به عنوان مثال استفاده از FTP و telnet كه اطلاعات را عیناً بر روی شبكه منتقل می‌نمایند، می‌تواند نگرانی‌هایی را برای مسئول سایت به‌ وجود آورده و شاید راه‌اندازیsshd(secure shell daemon) بتواند كمی از گناهان مسئول سیستم بكاهد و در مورد پیكربندی نادرست فایل‌ها بتوان نامی از فایل .rhosts برد كه مجوز نادرست می‌تواند باعث لو رفتن اسم رمز گردد. بد نیست به‌ وسیله فرمان find اسامی فایل‌هایی كه مجوز s را داشته كنترل نموده تا خدای ناكرده برنامه اجرایی با مجوز s در سیستم اضافه نگردد.
ضمناً مسئول سیستم در اجرای دستور mount نیز می‌بایست دقت فراوان داشته باشد تا برنامه‌هایی كه مجوز s بر روی سی‌دی و فلاپی وجود دارد، اجرا نگردد.

5- ناكافی بودن منابع و یا اختصاص دادن ارجحیت نامناسب



كم نمودن هزینه‌های مربوط به امنیت و عدم آموزش‌های لازم و تهیه ننمودن نرم‌افزارهای بازدارنده می‌تواند تعدادی مسائل غیرقابل پیش‌بینی به وجود آورد. مخصوصاً جابجایی اولویت‌های هزیه نمودن اعتبارات می‌تواند امنیت سیستم را خدشته‌دار نماید. لازم به یادآوری است كه این مطلب فنی نبوده و مدیریتی می‌باشد ولی راهبر سیستم می‌بایست مرتباً نكات لازم را در این زمینه به مقامات مسئول گوشزد نماید تا مدیریت ارشد سازمان بیش از بیش به اهمیتِ امنیت پی برده و هزینه‌های لازم را تامین نمایند. عدم اطلاع رسانی مسؤول سایت دراین زمینه به مدیریت‌های مافوق كه احتمالاً در این زمینه نیز تخصصی ندارند، گناهی نابخشودنی است.

6- نگهداری UserIDهای قدیمی و غیرلازم و تهیه شناسه‌های عمومی



نگهداری UserIDهای قدیمی و شناسه‌هایی مانند TEST می‌تواند معضلات زیادی را به وجود آورده و امكان سوء استفاده را بالا برد. تهیه‌ی شناسه‌های عمومی نیز به دلیل نامشخص بودن هویت اصلی كاربر می‌تواند مشكل‌زا باشد.

مسؤول سایت می‌بایست رویه‌ای را برای كشف UserID های غیر فعال اتخاذ نماید و به‌ وسیله‌ی هر روشی كه صلاح می‌داند پس از تهیه فایل پشتیبان لازم، UserIDهای غیرفعال را در مقاطع معینی متوقف نماید و شاید یكی از بهترین روش‌ها برای این كار عوض نمودن اسم رمز باشد. به عنوان مثال به وسیله دستور زیر می‌توان UserID با نام someone را غیر فعال نمود:

chmod 000 /home/someone

تولید UserID های عمومی مانند test و guest و غیره كه مورد علاقه بسیاری از مهاجمین است، یكی از گناهان غیرقابل بخشش راهبر سیستم می‌باشد.

7- به تعویق انداختن فعالیت‌های مهم در زمینه ایجاد امنیت



با كم اهمیت دادن مسائل حفاظتی از جمله عدم نصب ترمیم‌ها(Patch) و عدم تهیه فایل‌های پشتیبان، می‌توان گفت كه مسئول سیستم تیر خلاص را به كامپیوتر تحت الحفظ خود شلیك نموده است و چنان گناهكار خواهد بود كه بخشش جایز نمی‌باشد.

جلال حاجی غلامعلی

نشریه امن

UserName