آموزش روش های پنهان سازی سیستم عامل سرورها در طراحی وب سایت

پوشش دادن يا پنهان کردن يک وب سرور ( سيستم عامل آن ) شامل از بين بردن جزييات هويتي اي است که هکرها مي توانند براي کشف سيستم عامل و وب سرور نصب شده روي آن مورد استفاده قرار دهند.اين اطلاعات در حالي که هيچ استفاده اي براي بهره برداران مشروع ندارد ، اغلب نقطه شروعي براي هکرها مي باشد.
دراين مقاله به بررسي برخي راهکارهايي که مي توانيم با به کارگيري آنها خطر شناسايي را به حداقل برسانيم ، مي پردازد. بيشتر مثالها مربوط به IIS ميکروسافت مي باشد . زيرا بخاطر آسيب پذيري زيادش به طور وسيعي مورد توجه نفوذگران قرار گرفته است. همچنين يک سري از اقدامات پيشگيرانه شناسايي براي آپاچي سرور نيز ذکر خواهد شد. من در سايت ميکرورايانه مطلب مشابه اين مقاله نديدم اينجا مي گذارم .غير قابل شناسايي کردن سرور وظيفه همه کساني است که مسيوليت اجرايي وب سرور را بر عهده دارند.

نفوذگران از اينجا شروع مي کنند ، چرا شما از اين نقطه شروع نمي کنيد ؟
بگذاريد از نقطه نظر مهاجمين نگاه کنيم. آسيب پذيريهاي امنيتي متکي بر نسخه (Version ) و نوع نرم افزار دارند.
يک نفوذگر براي نفوذ به يک وب سرور بايد بداند وب سرور از چه نوعي و داراي چه ورژني مي باشد. دانستن جزييات يک وب سرور کارآمدي هرگونه تهاجمي را به مقدار زياد افزايش مي دهد.

Server Header ها همه چيز را مي گويند:
بسياري از وب سرورها خودشان و سيستم عاملي را که بر روي آن نصب هستند به هر کسي که بخواهد معرفي مي نمايند. با استفاده از ابزارهاي بررسي شبکه مانندSam Spade يا Header Check مي توانيد http هدرهاي سرور را تشخيص دهيد. تنها کافيست Home Page وب سايت را درخواست نموده وhttp هدرهاي حاصله يا بنرهايي که توسط سرور ارسال گرديده را مورد بررسي قرار دهيد. در ميان آنها احتمالا چيزي شبيه به Server : Microsoft – IIS/?.? پيدا خواهيد کرد.
آپاچي سرور نيز به صورت پيش فرض همه مشخصات را اعلام مي کند.
(Server : Apache/?.?.??-dev(unix
کاربران آپاچي سرور ?.x داراي مدول Mod Header هستند . اين کاربران مي توانند به سادگي فايل httpd.conf را به صورت زير اديت نمايند :

Header Set Server "New Server Name"

متاسفانه در نسخه هاي پيشين آپاچي سرور نمي توان سرور هدرها را تغيير داد.

کاربران IISنيز مي توانند Lock Down را نصب نموده و براي برداشتن وجايگزين کردن هدرها از فايل پيکره بنديURLScans استفاده نمايند. در صورتي که از سرور Cold Fusion استفاده مي نماييد و مي خواهيد URLScans را به کار بريد بسيار محتاط باشيد. زيرا روشي که در حال حاضر هدرها را جايگزين مي نمايد باعث خسارات سنگيني به صفحات CFM مي گردد. در اين حالت تنها راه ممکن برداشتن هدرهاست.

پسوند فايلها :
نمايش پسوند فايلها مانند .ASP يا .ASPX به طور مشخص نشان دهنده آن است که شما از يک سرور مايکروسافت استفاده مي کنيد. به طور کلي پنهان کردن پسوند فايلها کار مفيدي است. در طراحي سايت ها سعي کنيد ازHTML و Java استفاده کنيد. پسوند فايلهاي طراحي شده توسط اين زبانها نشان دهنده نوع وب سرور نمي باشد.
در مورد آپاچي سرور به مدول mod negotiation توجه خاصي داشته باشيد. بوسيله اين مدول مي توانيد پسوند فايلها را مخفي کنيد. همچنين توسط mod header مي توان پسوند فايلها را تعويض نمود.
کاربران IIS نيز مي توانند از برنامه PageXChanger براي پنهان ساختن پسوند فايلها استفاده نمايند.

ASP Session ID Cookie
اين کوکي ها وظيفه حفظ وضعيت سرويس گيرنده را بر عهده دارند و به سادگي سيستم عامل و وب سرور نصب شده بر روي آن را مشخص مي کنند.

Set –Cookie:ASPESSIONIDQGQGGWFC=MGMLNKMDENPEOPIJHPOPEPPB;

شما مي توانيد ASP Session State را از کار بيندازيد. همچنين مي توانيد براي تغيير اسامي کوکي ها از يک فيلتر ISAPI استفاده نماييد. از طرفي ASP Session ها باعث محدود شدن منابع سيستم مي گردند. از کار انداختن آن به بهبود اجرايي ASP کمک مي کند و باعث گمنام ماندن سرور شما نيز مي گردد.


WebDAV
راه ديگر شناسايي سرورهاي ويندوزي WebDAV مي باشد. WebDAV منحصر به مايکروسافت يا IIS نمي باشد ، بلکه يک استاندارد پيشنهادي (RFC ????) با گروه کاري IETF است. سرور ويندوزي در حالت پشتيباني WebDAV اطلاعات زيادي را به هدر مي افزايد که مي تواند مورد استفاده هکرها قرارگيرد. در صورتيکه از WebDAV براي پشتيباني Web Folders , Outlook Web Access يا … استفاده نمي نماييد، مي توانيد با استفاده ازIISLockDown يا تغيير در رجيستري آن را از کار بيندازيد.

هدرهاي ديگر
برخي از سرورهاي وب به وسيله نمايش هدرهاي خاص در پاسخهاي HTTP هويت خود را فاش مي سازند. هدرهاي X-Powered-By و X-ASPNET-Version علايم بارزي هستند که نشان دهنده استفاده از ASP.NET و بنابراين ميزباني IIS مي باشند. همچنين به ياد داشته هدرهاي Microsoft Office Web Server را بايد مخفي کنيد.

Windows Authentication
کاربران IIS نبايد Windows Authentication را به عنوان راهي براي پنهان نمودن اطلاعات بر روي سرور مورد استفاده قرار دهند. زيرا اين شيوه اطلاعات زيادي را در مورد سرور بر ملا مي سازد. يک هکر مي تواند با توجه به هدرهاي Authentication WW- نوع وب سرور را مشخص نمايد. زماني که يک فايل يا فولدر توسط پروسه Authentication ويندوز محافظت مي شود، درهدرهاي فرستاده شده از طرف سرور String NTLM وجود دارد که مي تواند مورد بهره برداري هکر قرار گيرد.

پيام هاي پيش فرض
پيامها ، صفحات و اسکريپتهاي پيش فرض نيز باعث شناسايي وب سرور مي گردد. اغلب نرم افزارهاي پشتيباني کننده وب سرور داراي پيغامهاي پيش فرض هستند که بايد به گونه اي مناسب تغيير پيدا کند. همچنين تمام Administration Pages ، اسکريپتها وDocument هايي که همراه با وب سرور نصب مي شوند بايد مخفي يا پاک شوند.

ديگر سرويسها
بسياري از کامپيوترهايي که با عنوان وب سرور استفاده مي شوند ، جدا از خدمات HTTP خدمات ديگري مانند SMTP و FTP را ارايه مي دهند. به عنوان يک قانون امنيتي سعي کنيد چنين سرويسهايي را در وب سرور خود راه اندازي نکنيد. به ويژه از سرويسهاي پيش فرض FTP و SMTP در مايکروسافت IIS اجتناب کنيد. زماني که يک ارتباط با سرويس SMTP برقرار مي گردد. يک پيغام خوش آمدگويي براي Client فرستاده مي شود. اين پيغام هيچ تاثيري در سرويس ايميل ندارد. اما مشابه هدرهاي HTTP اطلاعاتي را در مورد وب سرور بر ملا مي سازند. سرويس پيش فرض SMTP ويندوز چنين اطلاعاتي را نمايان مي سازد . همچنين سرور پيش فرض IIS ، FTP يک بنر شناخته شده را ارايه مي دهد . از آنجايي که اصلاح اين بنر از اصلاح بنر SMTP پروسه پيچيده تري است بهترين راه جايگزيني آن با يک FTP سرور ديگر مانندRhinoSoft’’s Serv-U FTP Server است . که بتوان هرگونه پيغامي را در بنر FTP نمايش داد. همچنين اين FTP سرور داراي امتيازات ديگري نيز از نظر ايمني مي باشد.

ورودهاي غير مجاز
بسياري از Exploits ها از يک URL پيچيده براي گرفتن شل (Shell ) يا کنترل يک CGI Program استفاده ميکنند که هکر بوسيله آنها مي تواند ليستي از فايلها سيستم عامل را بدست آورد. بهترين روش براي مقابله با اينگونه حملات استفاده از يک فيلتر داده مي باشد که کاراکترهاي غير قابل قبول مثل متا کاراکترها را از اطلاعاتي که توسط کاربر وارد مي شود حذف نمايد. براي IIS استاندارد جاريIISLockDown/URL Scan است. نسل جديدي از Firewall ها نيز قابليت پشتيباني از لايه هاي کاربردي Web Server را دارا هستند.

پشته ها
حتي زمانيکه علايم افشاگرانه از روي لايه کاربردي وب سرور حذف شد ، بر روي لايه هاي پايين تر شبکه نقاط ضعف آشکارسازي باقي مي ماند. هر سروري با يک اتصال شبکه داراي يک Network Protocol است که قابل اسکن و شناسايي مي باشد ، بهترين اسکنرهاي پشته مانند NMAP مي تواند با استفاده از تکنيکهاي مختلف سيستم عامل را شناسايي کند.همچنين پشته IP مربوط به هر سيستم عامل نيز در مقابل شناسايي از طريق پروتوکل ICMP آسيپ پذير است. اولين راه مقابله با اين نوع آسيب پذيري ها استفاده از يک فايروال مي باشد. به اين نکته توجه داشته باشيد که با وجود فايروال ، يک تحليل شبکه اي دقيق هنوز هم مي تواند نوع وب سرور را مشخص سازد.


Netcraft
در سايت Netcraft با وارد نمودن URL هر وب سايت مي توان به اطلاعاتي در مورد سيستم عامل و وب سرور آن سايت بدست آورد. با تغيير دادن HTTP هدرها مي توان کاري کرد که گزارش Netcraft اشتباه شود. همچنين با حذف HTTP هدرها ، Netcraftگزارش ناشناس بودن وب سرور را ارايه خواهد کرد.


پيش فرضهاي TCP/IP
احتمالاً هنوز سيستم عامل شما حتي از پشت يک ديوار آهنين نيز مورد شناسايي قرار خواهد گرفت. براي آنکه بتوان يک سيستم عامل را به طور کامل ناشناس کرد بايد برخي از پيش فرض هاي محيط IP /TCP مانند (Receive Window size) RWIN ، (Maximum Transmission Units) MTU ، MSS (Maximums Segment Size) ، (Time-to-Live) TTL دستکاري شود . در زمان تغيير دادن اين پيش فرض ها بسيار محتاط باشيد زيرا مي تواند تاثير معکوس بر روي وب سرور داشته و يا سيستم عامل را به طور کامل فلج سازد.

به خاطر داشته باشيد :
براي آنکه وب سرور شما کاملاً ناشناخته بماند بايد تمام مواردي که در بالا ذکر شده است را بصورت ترکيبي به کار بريد. هميشه به ياد داشته باشيد اين اقدامات پيشگيرانه تنها مي تواند باعث شکست اکثر نفوذ گران گردد نه همه آنها. يک نفوذگر ماهر و مصمم مي تواند از تمامي اين سدها عبور کند…