PDA

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



MizbanVps
May 28th, 2012, 12:06
بالا بردن امنیت در cpanel 1- از کلمات عبور پيچيده استفاده کنيد
کلمات عبور ساده بزرگترين مشکل امينتي را براي سرور شما به وجود مي آورند. داشتن کلمات عبور امن و پيچيده (چه براي خود سرور و چه براي کاربراني که روي سرور قرار دارند) بسيار با اهميت است.به عنوان مثال اگر کاربر شما ازکلمه ي عبور ي استفاده کند که به راحتي توسط هکر ها قابل حدث زدن باشد در وحله ي اول باعث deface شدن سايت خود شده و اعتبار شرکت شما رو زير سوال مي برد دوم ممکن است از طريق اين سايت براي ارسال ويروس و هرزنامه استفاده بشه يا بويسله ي local exploit ها به بقيه سايت ها آسيب برسونه.
* شما مي تونيد با ويرايش تنظيمات مربوط به کلمات عبور در فايل /etc/login.defs بر اساس نوع کار شما با سرور و درجه ي امنيتي که براي خود در نظر مي گيريد کاربران مجبور به داشتن کلمات عبور ايمن کنيد.توضيحات کامل در مورد هر يک از پارامتر هاي فايل login.defs داخل خود فايل و در بالاي هر کدام از پارامتر ها موجود مي باشد.
معمولا کلمات عبور بايد حداقل 8 حرفي و شامل حرف - عدد و علائم باشند. هيچ وقت از کلمات معني دار يا تاريخ هاي مهم استفاده نکنيد. اگر مي خواهيد امن بودن کلمه عبور خود را بررسي کنيد مي تونيد اون را با استفاده از اين نرم افزارتست http://www.openwall.com (http://www.openwall.com/) کنيد . اگر ظرف ? - ? ساعت کلمه عبور شما crack شد يعني کلمه عبور شما امن نيست.
همين سايت يک ابزار ديگه براي بررسي طول کلمات عبور کاربران سرور ساخته است بوسيله ي http://www.openwall.com/passwdqcمي (http://www.openwall.com/passwdqc%D9%85%D9%8A) توانيد ليست کاربراني که از کمات عبور نا امن استفاده ميکنند را پيدا کنيد و به آنها هشدار دهيد .

2- پروتکل SSH شما Secure است؟
سعي کنيد هميشه از براي ورود به سرور از public key authentication استفاده کنيد وهيچ وقت دسترسي SSH را براي عموم باز نگذاريد. اگر ازputtyاستفاده مي کنيد مي توانيد نرم افزار putty agent را نصب کرده و key هاي SSH خود را مديريت کنيد.
هميشه پورت SSH را عوض کنيد .معمولا طرف ابتدا به دنبال پورت 22 مي گرده و اگر اطلاعات کافي در مورد سرور شما نداشته باشه از دسترسي به ssh نا اميد خواهد شد . لذا هيچ وقت ssh را روي پورت 22 باز نگذاريد. مي توانيد پورت ssh را از طريق ويرايش فايل etc/ssh/sshd_config به يک پورت باز ديگر مثلا ???? تغيير دهيد. port 1654
از پروتکل 2 استفاده کنيد . اگر از putty استفاده مي کنيد اين نرم افزار قابليت پشتيباني از هر دو پروتکل را دارست پس نگراني وجود ندارد . در همين فايل etc/ssh/sshd_config مي توانيد خط Protocol 2. را تايپ کنيد.
در اکثر سيستم هاي لينوکس ميتوانيد محدوديت هايي را روي دستري هاي shell اعمال کنيد . با استفاده از تنظيماتي که در /etc/security/limits.conf وجود دارد مي توانيد محدوديت هاي بسيار جالب را براي تک تک کاربران shell ايجاد کنيدتا استفاده ي نابجاي آنها با استفاده وارد آوردن فشار بيش از حد به سرور شما و down شدن آن نشود .

3- وب سرور خود را secure کنيد
مهمترين قسمتي که با عموم کاربران در ارتباط است و بيشتر مورد حمله و نفوذ قرار مي گيرد همان webserver است .
يکي از بهترين ماژول هايي که براي جلوگيري از استفاده ي نابجا از وب سرور استفاده مي شود mod_security است که در همين وب لاگ بار ها در موردش صحبت کرديم. البته خود اون فقط يک ابزاره و بقيش برميگرده به هنر مدير سرور در طراحي يک سري rule مناسب مخصوص اون سرور براي اطلاعات بيشتر به سايت هاي http://www.modsecurity.org (http://www.modsecurity.org/) و http://www.gotroot.com (http://www.gotroot.com/) سر بزنيد.
توجه کنيد که هميشه موقع compile کردن apache گزينه ي suexec حتما فعال باشد. فعال کردن اين گزينه به معني اجرا شدن اسکريپت هاي CGI تحت owner خود (مالک فايل) مي باشد. اين گزينه باعث جلوگيري از دسترسي فايل هاي CGI به فايل هاي سيستم ميشه و همچنين براي جلوگيري از فايل هايي که باعث در سرور مي شود بسيار مناسب است.
همچنين بعضي ها اعتقاد داند که بايد PHPsuexec هم روي سرور فعال باشه اين گزينه باعث ميشه که فايل هاي php هم تحت کاربر خودشون اجرا بشن و با عث بالا بردن امنيت فايل هاي سيستمي و جلوگيري از استفاده نا بجا از اين گونه اسکريپت ها ميشه .
مي تونيد apache رو بوسيله ي دستور /scripts/easyapach که به شما محيط نيمه گرافيکي ميده يا با استفاده از خود whm که محيط کاملا گرافيکي داره compile کنيد.
با استفاد از فعال کردن گزينه ي open_basedir در قسمت Tweak Security در WHM دسترسي کاربران را از مشاهده ي فايل هايي که خارج پوشه ي مربوط به خودشون هست بگيريد.
اگر خيلي از امنيت سرور خود حراس داريد و نمي توانيد تک تک دسترسي ها مسدود کنيد مي توانيد به راحتي در فايل php.ini گزينه ي safe mode را فعال کنيد . Safe_mode=on اين گزينه هر لحظه چکميکنه که آيا کسيکه داره اين فايل رو اجرا ميکنه مالک اون قسمتهست يا نه و خيلي دستورات را خود به خود مسدود ميکنه . و راحت ترين راه براي بستن دسترسي هاي اضافي روي سروره . البته بايد گم که با فعال کردن اين گزينه حدود 60 درصد از scriptها و کاربران به مشکل برمي خورند.

4- پارتيشن tmp را secure کنيد
بله . مخصوصا گفتم پارتيشن چون بعضي ها اصلا براش partision نمي سازند . البته اگر سرورتون را از يک ديتا سنتر درست حسابي گرفته باشيد خودشون موقع نصب سيتم عامل اين کار رو انجام ميدن.
ولي بازهم کافي نيست در قسمت fstab سيستم بايد tmp حتما با گزينه ي nosetuid بسازيد يا به اصطلاح mount کنيد. اين گزينه باعث ميشه که تک تک proccess ها با سطح دسترسي executor اجرا شوند .اين سطوح دسترسي قبلا در کرنل لينوکس تعريف شده. همچنين بعد از نصب cpanel مي توانيد گزينه ي noexec رو هم فعال کنيد. اين گزينه باعث ميشه که هيچ فايل اجرايي داخل tmp اجازه ي اجرا شدن نداشته باشه . بعد از اينکه اين کار و انجام داديد بوسيله script از پيش آماده ي خود cpanel در آدرس /scripts/securetmp براي پارتيشن tmp خود يک symlink يا شبه لينک به /var/tmp بسازيد اين خودش براي حفظ امنيت tmp موثره .

5- غير فعال کردن compiler ها براي کاربران ديگر
99 درصد کاربران نمي دونن compiler ها روي هاست به چه درد مي خوه و اصلا استفاده اي از اونها ندارند پس چه بهتره براي همه ي کاربراني که استفاده ندارند اون رو disable کنيد . اين کار رو مي تونيد در whm در قسمت Compilers Tweak انجام بديد . اکثر باگ هاي امينتي کشف شده نيار دارند تا همون موقع روي سرور compile بشن با غير فعال کردن اون حال بسياري از هکر ها رو ميگيريد.

6- از maildir به جاي mailbox استفاده کنيد
ما دونوع ذخيره سازي روي لينوکس داريم براي ايميل ها . اولي به صورت mail box هست و دومي maildir که گزينه ي دوم بسيار از لحاظ امنيتي بهتره و باعث افزايش سرعت ميل سرورتون هم ميشه . البته در نسخه ي جديد cpanel به صورت پيش فرض maildir نصب ميکنه ولي اگر سرورتون بيش از يک سال عمر داره و روش خاک نشسته بهتره همين حالا به maildir ارتقا بديد. قبلش از اطلاعاتتون backup بگيريد . بنده هيچ مسئوليتي در قبل از دست دادن اونها ندارم . مي تونيد از پشتيباني ديتا سنترتون بخوايد تا اين کار رو انجام بده.

7- سرويس هاي اضافي(services and daemons) را غير فعال کنيد
هر سرويس که روي سرور شما فعال باشه و به ديگران اجازه ي وصل شدن به اون وگرفتن اطلاعات به کاربران ميده داراي باگ امينتي هست و اگر از اون استفاده نمي کنيد بايد اون رو ببنديدش . خود لينوکس هم يک سري سرويس هاي زائد(daemons) داره که براي يک سريس دهنده ي وب نيازي به اونها نيست .
سرويس هاي رو مي تونيد در /etc/xinetd.con ويرايش کنيد .براي مثال سيستم اشتراک فايل (nfs/statd) يا سيستم مديريت پرينت (cupsd) و خيلي daemonهاي ديگه که توي آموزش مختصر مثل اين نمي گنجه همش روبگم. از داخل whm در قسمت Service Manager مي تونيد سرويس هايي که نيار نداريد رو غير فعال کنيد . مثلا اگر از chat server خود cpanel استفاده نمي کنيد اون رو غير فعالش کنيد چون خودش باعث مشکلاتي امنيتي خواهد شد .
اين بخش از مهمترين کار هايي که بايد يک مدير سرور انجام بده .

8- سرور خود را تحت کنترل داشته باشید

یک مدیر سرور باید به صورت 24 ساعته کلیه قسمت های سرور (نرم افزار ها - فایل های کاربران و ...) را تحت کنترل داشته باشد
اینکه نرم افزار های مورد استفاده روی سرور بروز هستند یا خیر و خیلی مسائل دیگر بسیار مهم هستند که این امر فقط با بررسی مداوم و سرکشی به صورت روزانه روی سرور ها عملی است.
البته اگر زرنگ باشید می تونید حداقل 90 درصد این کار ها را با نوشتن script های دلخواه انجام دهید و شما فقط لوگ های مربوطه را چک کنید و فقط در مواقع ضروری روی سرور لوگین کنید . در این جا برخی از command های پر استفاده رو در این ضمینه ارائه می کنم:

netstat -anp : لیست کلیه connection های باز سرور را به شما می دهد تا به دنبال پورت ها یا نرم افزار های مشکوکی که روی سرور run هستند ولی شما اجاره اجرا شدن به انها نداده اید مشاهده کنید و در صورت لزوم بوسیله firewall دسترسی انها را مسدود کنید.

find / \( -perm -a+w \) ! -type l >> world_writable.txt : این دستور لیست کلیه فایل هایی را که permission 777 دارند و توسط کلیه کاربران روی سرور قابلیت ویرایش دارند را به شما نشان میدهد (داخل فایل txtذخیره می کند) اکثر مشکلات امینی داخل همین فولدر ها اتفاق می افتد.

ls /var/log/ : اکثر لوگ فایل ها داخل پوشه var هستند شما در صورت نیاز به لوگی از از هر سرویس خاصیمی توانید در این فولدر به آن مراجعه کنید (البته لوگ های apache در فولدر /usr/local/apache/logs هست)

در کنار تمامی موارد script های زیادی هستندکه به شما در این کار ها کمک می کنند . البته چیزی که بر حسب نیاز خودتون برای خودتون بنویسید مسلما یک چیز دیگس. یک سری برنامه ها اسمشون رو می نویسم که به درد می خورند .

Tripwire - این نرم افزاری هست که md5 کلیه فایل های مربوط به سیستم را چک می کنه و در صورتی که این فایل ها تغییر کند به شما هشدار می دهد.
Open Source Tripwire® | Download Open Source Tripwire® software for free at SourceForge.net (http://sourceforge.net/projects/tripwire) OR http://tripwire.com (http://tripwire.com/)
Chrookit - نرم افزاری برای پیدا کردن trojan - backdoor و غیره بر روی سرور.
http://www.chkrootkit.org (http://www.chkrootkit.org/)
Rkhunter - نرم افزاری برای پیدا کردن trojan - backdoor و غیره بر روی سرور.
Rootkit Hunter (http://www.rootkit.nl/projects/rootkit_hunter.html)
Logwatch - نرم افزاری برای بررسی لوگ ها و فعالیت های سرور به صورت روزانه و تهیه گزارش کامل برای شما
http://logwatch.org (http://logwatch.org/)

9- حتما یک firewall نرم افزاری داشته باشید !!

اگر firewall سخت افزاری هم دارید باید یک فایروال جداگانه روی سرور داشته باشید . با استفاده از firewall می تونید لیست پورت هایی که استفاده نمی شوند رو محدود کنید و با این کار حجم زیادی از نرم افزار های backdoor و ... را از کار بیاندازید . همچنین با استفاده از firewall می توانید ادرس های ip خاصی را block کنید و حتی در مقابل حملات dos اسیب ناپذیر باشید.
در زیر لیست پورت های مورد نیاز cpanel امده است( اگر سرویس دیگری ندارید می توانید بقیه پورت ها را به غیر از این ها ببندید . چون نیازی به انها ندارید ) : cPanel & WHM FAQ (http://faq.cpanel.net/show.cgi?qa=10468918040763)
بهترین firewall از نظر من روی cpanel هم نصب میشه و خوب جواب میده همون APF هست که با rule های خود لینوکس iptables کار می کنه.
اگر شما هم با این نرم افزار کار می کنید اینجا رو مطالعه کنید : cPanel & WHM FAQ (http://faq.cpanel.net/show.cgi?qa=108499296901804)

10 - بروز باشید !! بروز باشید !! بروز باشید !!
80 در صد مشکات امینتی در روز های اول عمرشون براشون patch و update امنیتی میاد یعنی یک bug هرچقدر هم که underground باشه بالاخره براش patch میاد پس سعی کنید که همیشه از اخرین نسخه های نرم افزار استفاده کنید . نسخه ی کرنل حداقل هز 2 ماه یک بار باید بروز بشه بقیه نرم افزار ها باید هر هفته چک بشن و در صورت لزوم update بشن. خود cpanel باید هر روز update بشه . چون هر روز داره نسخه های جدید ارائه می کنه.
منبع: بالا بردن امنیت در cpanel (http://bitiran.com/f1224/%D8%A8%D8%A7%D9%84%D8%A7-%D8%A8%D8%B1%D8%AF%D9%86-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-%D8%AF%D8%B1-cpanel-41148.html)