جلال حاجی غلامعلی
سرويس مقالات ایتنا - به منظور كنترل دسترسیها و ساير مسائل امنيتی در زمينه كامپيوتر بعضی از مسئولين سايتها و ساير عوامل ذينفع، هزينههای بسيار گزافی را صرف تهيه و خريد نرمافزار و سختافزار مینمايند. ولی غافل از اينكه از كنار مسائل بسيار ساده و پيش افتاده امنيتی جهت محفوظ نگه داشتن اطلاعات میگذرند.
در اين مقاله كوتاه سعي شده كه به 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) و عدم تهيه فايلهای پشتيبان، ميتوان گفت كه مسئول سيستم تير خلاص را به كامپيوتر تحت الحفظ خود شليك نموده است و چنان گناهكار خواهد بود كه بخشش جايز نميباشد. (منبع: نشريه امن)