PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : موارد ساده در امنیت لینوکس



p2m
January 19th, 2012, 01:24
به منظور کنترل دسترسی‌ها و سایر مسائل امنیتی در زمینه کامپیوتر بعضی از مسئولین سایت‌ها و سایر عوامل ذینفع، هزینه‌های بسیار گزافی را صرف تهیه و خرید نرم‌افزار و سخت‌افزار می‌نمایند. ولی غافل از اینکه از کنار مسائل بسیار ساده و پیش افتاده امنیتی جهت محفوظ نگه داشتن اطلاعات می‌گذرند. در این مقاله کوتاه سعی شده که به ۷ مطلب ساده و پیش پاافتاده در زمینه حفاظت اطلاعات پرداخته شود. ۷ مطلب ساده و پیش پاافتاده‌ای که با عدم رعایت آنها امکان به خطر افتادن سیستم اطلاعاتی یک سازمان وجود دارد .



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

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

۲) باز گذاشتن درگاه‌های(port) شبکه

۳) استفاده از نرم‌افزارهای قدیمی

۴) استفاده از برنامه‌های نا‌امن و یا پیکربندی شده به‌صورت نادرست

۵) ناکافی بودن منابع و یا نامناسب بودن ارجحیت‌ها

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

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

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

با توجه به سریع شدن پردازنده‌ها و امکان دسترسی به نرم‌افزارهایی که اسامی رمز را کشف می‌نمایند، حتی با انتخاب اسامی رمز پیچیده نیز، رمز می‌تواند شکسته شود.

با استفاده از ابزارهایی که در سیستم‌عامل 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=۳

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

در زمان اجرای برنامه passwd، کتابخانه‌های پویا(Dynamic) با نام‌های pamcraklib.so و pam_pwdb.so به برنامه متصل شده و کنترل‌های لازم را انجام خواهند داد.

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

۲) باز گذاشتن درگاه‌های شبکه

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

۳) استفاده از نرم‌افزارهای قدیمی

توصیه می‌شود که از نرم‌افزارهایی که نسخه‌های جدید آن به دلیل وجود اشکالات امنیتی در نسخه‌های قدیمی روانه بازار شده است، استفاده شود و گناهی بس نابخشودنی است که راهبر سیستم با استفاده از نرم‌افزارهای قدیمی راه را برای سوء‌استفاده کننده‌گان باز بگذارد.

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

۴) استفاده ازبرنامه‌های ناامن و یا پیکربندی شده به ‌صورت نادرست

به‌ دلیل مسائل خاصی بعضی از سیستم‌ها نیاز به مجوزهای خاص داشته و اعمال مجوزها می‌تواند مسائل غیرقابل پیش‌بینی را به‌وجود آورد و ضمناً با پیکربندی نامناسب نرم‌افزار، راه برای سوءاستفاده کنند‌گان باز خواهد شد.

به‌ عنوان مثال نرم‌افزارهایی وجود دارد که برای اجرا شدن، مجوز s (Set UserID) را لازم داشته و این مجوز در حالتی که صاحب فایل اجرایی root باشد، بسیار خطرناک است. فرمانی که این اجازه را دارد با اجرای فراخوان‌های سیستم(System call) مانندsetid تغییر مالکیت داده و قدرتroot را کسب می‌نماید و راهبر سیستم می‌بایست تاوان این گناه نابخشودنی را نیز بدهد.

به عنوان مثال استفاده از FTP و telnet که اطلاعات را عیناً بر روی شبکه منتقل می‌نمایند، می‌تواند نگرانی‌هایی را برای مسئول سایت به‌ وجود آورده و شاید راه‌اندازیsshd(secure shell daemon) بتواند کمی از گناهان مسئول سیستم بکاهد و در مورد پیکربندی نادرست فایل‌ها بتوان نامی از فایل .rhosts برد که مجوز نادرست می‌تواند باعث لو رفتن اسم رمز گردد. بد نیست به‌ وسیله فرمان find اسامی فایل‌هایی که مجوز s را داشته کنترل نموده تا خدای ناکرده برنامه اجرایی با مجوز s در سیستم اضافه نگردد.

ضمناً مسئول سیستم در اجرای دستور mount نیز می‌بایست دقت فراوان داشته باشد تا برنامه‌هایی که مجوز s بر روی سی‌دی و فلاپی وجود دارد، اجرا نگردد.

۵) ناکافی بودن منابع و یا اختصاص دادن ارجحیت نامناسب

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

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

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

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


chmod ۰۰۰ /home/someone

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

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

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