بخشی از مقاله

چکیده -

وب سرورها ستون اصلی اینترنت هستند و مسائل امنیتی در وب سرورها ، یکی از مباحث چالش برانگیز برای مدیران وب محسوب می شود . اهداف مشترک تمامی مدیران ، ایمن سازی وب سرور ها است . ایمن سازی یک برنامه وب ، محدود به بکارگیری یک فناوری خاص نبوده و فرآیندی است مستمر که عوامل انسانی و غیر انسانی متعددی می توانند روی آن تاثیرگذار باشند .

وب سرور ها در معرض انواع حملات ناشناخته و جدید هستند به همین دلیل در این مقاله سعی شده است که با معرفی فاکتورهای استاندارد درجهت مقابله با نفوذگران برای محافظت از سرورها ، از ابزارهای امنیتی در مقابله با هر نوع تهدیدی استفاده شود . برای حفظ چارچوب امنیتی سرورها ، راهکارها ، سرویس ها و ابزارهای امنیتی و اعطای لایه های مختلف به کاربران معرفی می شود .

-1 مقدمه

وب سرورها معمولا به نوعی آسیب پذیر هستند و همین عامل باعث به وجود آوردن فضایی جهت افراد سودجو می شود . سرور و کاربر به دلیل ارتباط نزدیکی که با یکدیگر دارند و به صورت مداوم در حال ارسال بسته های داده به همدیگر هستند ، از این رو نفوذ گر می تواند به عنوان واسط این اطلاعات قرار گیرد . مسائل امنیتی همیشه جزو مسایل پیچیده بوده است و بحث های امنیتی جزو دغدغه های همیشگی بوده است. اگرچه نمی توان امنیت سرورها را به صورت جامع و کامل تضمین کرد ولی روش هایی برای کنترل دسترسی و حفظ امنیت وب سرورها وجود دارد و لازم به یاداوری است هر نرم افزار تحت وب سرور که در حال استفاده و اجرا می باشد می بایست به صورت مداوم به روز رسانی شود . امنیت برنامه های وب می بایست با توجه به نوع معماری و رفتار آن ها بررسی نمود. زمانیکه در رابطه با امنیت برنامه های وب بحث می شود، می بایست بر روی دو محور اساسی متمرکز گردد :

الف: با استفاده از چه مکانیزمهائی می توان دستیابی کاربران به یک برنامه را کنترل و پس از شناسائی آنان ، امکان استفاده از برنامه را برای کاربران تائید شده و متناسب با سطح دستیابی فراهم نمود؟

ب: برخی از برنامه های وب ، اطلاعات حساس متعددی را از طریق محیط انتقال و زیر ساخت ایجاد شده ، ارسال و یا دریافت می دارند . در این رابطه از چه نوع مکانیزمهائی می بایست استفاده گردد تا این اطمینان حاصل شود که اطلاعات حساس ارسالی - نظیر اطلاعات مربوط به کارت های اعتباری - ، توسط افراد غیر مجاز قابل خواندن نبوده و امکان دستکاری آنان نیز وجود نداشته باشد.

همچنین دریافت کننده اطلاعات، می بایست از صحت اطلاعات ارسالی،اطمینان حاصل نماید. این نوع از برنامه های وب ، نیازمند استفاده از یک ارتباط ایمن بین سرویس گیرنده و سرویس دهنده می باشند . وجود یک ارتباط ایمن بین سرویس گیرنده و سرویس دهنده در برنامه ها ی وب تجاری و یا سایت هائی که بر روی آنان کالا و یا خدماتی عرضه می گردد ، بسیار حائز اهمیت بوده و از موارد حیاتی در موفقیت آنان محسوب می گردد

-2 امنیت چیست

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

برخی از اصطلاحات امنیتی که شامل : تهدیدات ، نقاط آسیب پذیر و حملات هستند که به شرح هرکدام از آنها میپردازیم : الف: تهدید - : - threat به هرگونه بروز یک رویداد مخرب و یا سایر موارد دیگر که می تواند به سرمایه های یک سازمان آسیب برساند ، تهدید گفته می شود . به عبارت دیگر، هر رویدادی که بتواند به سرمایه های یک سازمان آسیب برساند ، یک تهدید محسوب می گردد .

ب: نقاط آسیب پذیر : - vulnerability - به ضعف های موجود در یک سیستم گفته می شود که بروز یک رویداد مخرب را فراهم می نماید . ضعف در طراحی ، پیکربندی اشتباه ، استفاده از روش های کدینگ غیرایمن مهمترین دلایل ایجاد یک ضعف در سیستم می باشند . ضعف در بررسی صحت داده ورودی توسط کاربر هم نمونه ای از یک لایه آسیب پذیر در یک برنامه است که می تواند زمینه بروز یک تهاجم را فراهم نماید .پ: تهاجم : - attack - عملیاتی است که در آن سوء استفاده از نقاط آسیب پذیر و بروز یک رویداد مخرب می باشد . ارسال ورودی مخرب به یک برنامه و یا flooding یک شبکه به منظور از کار انداختن یک سرویس ، نمونه هائی در این زمینه می باشد.

-3 ایمن سازی شبکه

شبکه ، نقطه ورود به یک برنامه وب است و اولین لایه حفاظتی به منظور کنترل دستیابی به سرویس دهندگان متعدد موجود در محیط عملیاتی را فراهم می نماید . ایمن سازی شبکه ، شامل حفاظت از دستگاه های شبکه ای و داده مبادله شده بر روی آنها می باشد . وجود ضعف امنیتی در یک شبکه ، تهدیدات متععدی را فراهم می نماید . بدون شناسائی اینگونه تهدیدات امکان مقابله منطقی با با آنان وجود نخواهد داشت . متداولترین نقاط آسیب پذیری که باعث حملات در شبکه می شود عبارتند از :

الف : ماهیت غیرایمن پروتکل TCP/IP

ب : پیکربندی ضعیف دستگاه های شبکه ای
 
پ: استفاده غیرایمن از سرویس هائی که به وجود آنها در یک شبکه نیاز نمی باشد . [4]

-4 انواع حملات بر روی وب سرور ها

الف : حملات محلی که معمولا با یک هدف خاص صورت می گیرد و نتیجه ی آن دسترسی به یک وب سرور خاص خواهد بود.

ب: حملات جهانی که در این نوع حملات دید وسیع تری از حملات را به نمایش می گذارد و نتیجه ی این حملات آلوده کردن وب سرور های متعدد و یا آلوده کردن چندین کاربر بازدید کننده خواهد بود.

پ: حملات پیمایش پوشه : - Directory traversal attac - این نوع از حملات باگ های موجود در وب سرور را به کار گرفته تا دسترسی غیرمجاز به فایلها و پوشه هایی که در مسیر عمومی قرار ندارند را بکاربگیرند . زمانی که هکر ، دسترسی را بدست آورد میتواند اطلاعات حیاتی را دریافت کرده و دستورات دلخواه خود را بر روی وب سرور اجرا کند یا بدافزار نصب کند.

ت: حملات رد سرویس : - Denial of Service Attacks - با استفاده از این نوع حمله ، سرور ممکن است از سرویس دهی خارج شود و سرویس دهی صورت نپذیرد.

ث: سرقت سیستم نام دامنه - Domain Name System Hijacking - با استفاده از این نوع حمله اطلاعات ، به نقطهای که هکر میخواهد تغییر یافته و در نتیجه همه ترافیکی که بایستی به سرور اصلی هدایت شود به سرور هکر هدایت میشود. شنود - - Sniffing :دادههای رمزنگاری نشده بر روی شبکه ممکن است به منظور دسترسی بدون مجوز بکار گرفته شوند و شنود شوند.

ج : فیشینگ : - Phishing - این نوع حمله با ایجاد یک صفحه جعلی و هدایت کاربران به صفحه جعلی به منظور سرقت اطلاعات انجام میشود.

چ : دیفیس - Defacement - این: نوع حمله معمولاً توسط هکرهای خرده پا صورت میگیرد . حملات دیفیس با استفاده از یکی از متدهای تزریق SQL یا دیگر متدهای حمله به منظور قرار دادن امضای هکر بر روی یکی از صفحات سایت به دلایل شخصی ، مذهبی و اعتقادی و یا حتی ضربه زدن به وجهه اجتماعی سایت هدف صورت میپذیرد

-5 برداشت های غیر واقعی از امنیت برنامه های وب

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

سیستم عامل : استدلال فوق کاملا نادرست و غیرمنطقی است چراکه امنیت یک فرآیند است نه یک محصول . بنابراین با بکارگیری یک محصول خاص - به عنوان نمونه یک سیستم عامل - نمی توان این ادعا را داشت که ما به یک محیط ایمن به منظور ایجاد برنامه های وب دست یافته ایم . [1] نام دو مورد از سرویس دهندگان وب که بیشترین میزان استفاده در سطح اینترنت را دارند :

IIS و Apache : - internet information services - IIS

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

سرور : Apache

وب سرور Apache نسبت به IIS طرفداران و کاربردهای بیشتری را به سوی خود جلب کرده است زیرا این وب سرور قابلیت منبع باز - open source - همراه با پیکربندی بالایی به را به دلیل اینکه می توان Apache را دارد پس میتوان پیکر پیکربندی جزئی تر را بر روی آن انجام داد و به طور قابل توجهی می توان دسترسی و نفوذ هکر را به سرور محدود کرد

-6 لایه های مهم به منظور ایجاد امنیت وب :

به منظور ایجاد ایمنی برنامه های وب ، امنیت یک ویژگی مهم و همیشگی بوده است بنابراین می بایست امنیت برنامه های وب را در سه لایه متفاوت بررسی و اقدامات لازم را در هر لایه با توجه به جایگاه آن انجام داد . شکل زیر سه لایه مهم به منظور ایجاد برنامه های وب ایمن را نشان می دهد .

شکل :1 لایه هایی به منظور ایجاد امنیت برنامه های وب

یکی دیگر از لایه های مهم که لایه اتصال امن - SSL - نامیده می شود پروتکلی است جهت برقراری ارتباطات ایمن میان سرویس دهنده و سرویس گیرنده در اینترنت است و یا پروتکلی است که به عنوان استانداردی در جهت تائید وب سایت ها برای کاربران و سرویس دهندگان وب و به منظور مبادله اطلاعات رمز شده بین آنان ، مطرح گردیده است . از این پروتکل برای برقراری امنیت پروتکل هایی نظیر HTTP، LDAP، IMAP و ... استفاده می شود.

پروتکل SSL به دو صورت 40 بیتی و 128 بیتی ارائه شده است .

SSL از نوع 128 بیتی ، قویترین نوع رمزنگاری بوده که با استفاده از تکنولوژی های موجود به میلیاردها سال زمان برای شکستن رمز آن نیاز خواهد بود..

ایجاد ارتباطی امن بر پایه SSLعموماً به دو نوع گواهی دیجیتال SSL تقسیم می شود که یکی به سرویس دهنده و دیگری به سرویس گیرنده اختصاص داده می شود

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید