جستجو
این کادر جستجو را ببندید.
جستجو
این کادر جستجو را ببندید.

نکاتی برای افزایش امنیت سیستم عامل لینوکس

در این مقاله کوتاه سعی شده که به ۷ مطلب ساده در زمینه حفاظت اطلاعات پرداخته شود. ۷ مطلب ساده ای که با عدم رعایت آنها امکان به خطر افتادن سیستم اطلاعاتی یک سازمان وجود دارد.

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

۱- انتخاب اسم رمز ساده و یا اسامی رمز پیش فرض
۲- باز گذاشتن درگاه های (port) شبکه
۳- استفاده از نرم افزارهای قدیمی
۴- استفاده از برنامه های نا امن و یا پیکربندی شده به صورت نادرست
۵- ناکافی بودن منابع و یا نامناسب بودن ارجحیت ها
۶- نگهداری UserID های قدیمی و غیرلازم و تهیه شناسه های عمومی
۷- به تعویق انداختن فعالیت های مهم در زمینه ایجاد امنیت

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


با توجه به سریع شدن پردازنده ها و امکان دسترسی به نرم افزارهایی که اسامی رمز را کشف می نمایند، حتی با انتخاب اسامی رمز پیچیده نیز، رمز می تواند شکسته شود.
با استفاده از ابزارهایی که در سیستم عامل Unix/Linux پیش بینی شده است مسئول سیستم می تواند اجازه تولید اسامی رمز و سایر مسائل مرتبط را کنترل نماید.
در بعضی از سیستم عامل های یونیکس فایلی با نام passwd در شاخه /etc/default وجود دارد که راهبر یونیکس می تواند با ایجاد تغییراتی در آن به کاربر اجازه ندهد که اسامی رمز ساده را انتخاب نماید. اما در لینوکس به اندازه کافی کنترل بر روی اسم رمز انجام می گردد و می توان تا حدی مطمئن بود که کاربر نمی تواند اسامی رمز ساده انتخاب نماید.

فراموش نگردد که مسئول سایت (راهبر سیستم) این اختیار را دارد که اسامی رمز ساده ای را برای کاربران تهیه نماید، که این کار خطای مسلم راهبر می باشد. چرا که هر اسم رمز ساده دروازه ای برای ورود افراد مهاجم بوده و فرد مهاجم پس از وارد شدن به سیستم می تواند با استفاده از نقاط ضعف دیگر احتمالی و به وجود آوردن سر ریز بافر(Buffer Overflow) کنترل سیستم را در دست بگیرد. در بسیاری از سیستم های فعلی Unix/Linux مجموعه امکانات 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 تابع راهبر سیستم بوده و راهبر سیستم می تواند اسم رمز ساده را انتخاب نماید و این عمل گناهی نابخشودنی را برای مسئول سیستم ثبت خواهد نمود. در مورد اسامی رمز پیش فرض که در نصب بعضی سوئیچ ها و مسیریاب ها وجود دارد، راهبر سیستم می بایست در اسرع وقت (زمان نصب) اسامی رمز از پیش تعیین شده را تعویض نماید.

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


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

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


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

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


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

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

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


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

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


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

chmod 000 /home/someone

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

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


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

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها