راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

راهکارهای دیتاسنتر

کوکی (Cookie) چیست؟

کوکی (Cookie) چیست؟

کوکی (Cookie) چیست؟

کوکی (Cookie) چیست؟

کوکی (Cookie) چیست؟

تقریبا تمام سایت هایی که بازدید می کنید اطلاعاتی را در قالب یک فایل کوچک متنی (Text) بر روی کامپیوتر شما ذخیره می کنند به این فایل کوکی می گویند محل ذخیره شدن این فایل در فولدر Temporary Internet Files در اینترنت اکسپولرر و در نت اسکیپ در فولدر Cashe است در اپرا و موزیلا و نسخه های قدیمی تر اینترنت اکسپولرر در فولدر جدایی به نام کوکی است.

انواع مختلفی از کوکی ها وجود دارد و شما در نسخه های جدیدتر وب بروسر ها (Web Browsers) این امکان را دارید که انتخاب کنید کدام کوکی ها برروی کامپیوتر شما ذخیره شوند در صورتی که کوکی ها را کاملا غیر فعال کنید ممکن است بعضی سایت های اینترنتی را نتوانید ببیند و یا از بعضی امکانات مثل به یاد داشتن شناسه و رمز عبور شما در آن سایت محروم شوید و یا انتخاب هایی که داشتید مثل ساعت محلی و یا دمای هوای محلی و کلا از تنظیمات شخصی ای که در آن وب سایت انجام داده اید نتوانید استفاده کنید.

کوکی ها چگونه مورد استفاده قرار می گیرند؟

همانطوری که گفتیم کوکی یک فایل است که توسط یک وب سایت برای حفظ اطلاعات بر روی کامپیوتر شما قرار می گیرد یک کوکی می تواند شامل اطلاعاتی باشد که شما در آن سایت وارد کرده اید مانند ای میل – آدرس – شماره تلفن و سایر اطلاعات شخصی – همچنین کوکی ها می توانند صفحات و یا کارهایی را که در آن وب سایت انجام داده اید مثل تعداد کلیک لینک های بازدید شده و مدت بازدیدرا نیز ضبط کنند. این به سایت کمک می کند تا دفعه بعد که به آن سایت بازگشتید اطلاعات شما را به خاطر داشته باشد و از وارد کردن تکراری اطلاعات خودداری کنید نمونه بارز این مطلب لاگ این ماندن شما در آن سایت است و یا پیغام های Welcome Back و یا حفظ تنظیماتی که درآن سایت انجام داده این به عنوان مثال می توان به خصوصی کردن صفحه My MSN اشاره کرد. نکته ای را که باید به خاطر داشته باشید این است که هر وب سایت فقط می تواند از اطلاعاتی که شما وارد کرده اید استفاده کند نه بیشتر مثلا اگر ای میل خود را در آن سایت وارد نکرده اید آن وب سایت نمی تواند ای میل شما را به دست آورد و یا به سایر اطلاعات کامپیوتر شما دست یابد .

مورد دیگر اینکه وب سایت ها فقط می توانند کوکی هایی را که خود ایجاد کرده اند بخوانند و نمی توانند از سایر کوکی های موجود استفاده کنند. وقتی که از یک وب سایت برای بار دوم بازدید می کنید آن وب سایت به دنبال کوکی مربوط به خود می گرد و در صورت وجود از آن استفاده می کند.( البته باز هم با توجه به تنظیماتی که انجام داده اید )

 

انواع کوکی ها:

کوکی های پایا – دائمی (presistent Cookies):

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

کوکی های موقت (Temporary Cookies):

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

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

 

کوکی های ناخوشایند؟(Un$$$isfactory cookies)

این کوکی ها اجازه دسترسی به اطلاعات خصوصی شما را برای استفاده دویاره بدون پرسیدن از شما دارند از این کوکی ها بیشتر در خرید های اینترنتی و سایت امن (SSL*) مورد استفاده قرار می گیرند.

مقایسه کوکی های متعلق به سایت اصلی (First Party) و کوکی های متعلق به سایت های دیگر (Third Party)

دوستان قبل از هر چیز اجازه بدین با دو مفهوم First & third party اشنا شویم این مفاهیم در حقیقت مفاهیم بیمه ای هستند :

First Party: عضو اصلی یک خانواده و یا شرکت صاحب حقوق و مزایای اصلی کسی که بیمه نامه اصلی را داراست (Policy Holder)

Second party : شرکت بیمه کننده

Third Party : هر شخص سومی غیر از این دو کلا بقیه افراد

 

و اما این مفاهیم در کوکی ها چه معنایی می دهند؟

First Party : کوکی هایی هستند که فقط اطلاعات آنها به سایت که توسط آنها ایجاد شده اند فرستاده می شود و کار آنها همانطور که اشاره شد یادآوری اطلاعات ماست.

Third Party : کوکی هایی هستند که اطلاعات را به چندین سایت مختلف غیر از آنچه بازدید می کنید می فرستند استفاده این کوکی ها معمولا تجاری است بدینگونه که شما از سایتی بازدید می کنید و آن سایت دارای بنرهای تجاری و تبلیغات از سایت دیگری (Third Party) می باشد در اینجاست که کوکی Third Party وارد عمل شده و اطلاعات شما را ثبت می کند به عنوان مثال صاحب تبلیغ با استفاده از این امکان می تواند ببیند که شما چه نوع تبلیغ هایی را بازدید می کنید و در کدام سایت ها. این نوع کوکی هم می توانند از نوع دائمی و هم موقت باشند. اصولا این نوع کوکی ها استاندارد نیستند و توسط مرورگرهای جدید بلوک می شوند. همچنین این کوکی ها ممکن است به هکر ها کمک کنند تا اطلاعات شخصی شما را بدست بیاورند.( برای جلوگیری از آخرین پچ های مرورگر خود استفاده کنید*) اصولا پیشنهاد می شود تا این کوکی ها را که هیچ استفاده مفیدی برای کاربر ندارند بلوک کنید.

 

 

 

 

حملات DoS

حملات DoS

حملات DoS

حملات DoS

حملات DoS

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

.

سرور چیست و چه کاربرد و وظایفی دارد ؟

سرور چیست و چه کاربرد و وظایفی دارد ؟

سرور چیست و چه کاربرد و وظایفی دارد ؟

سرور چیست و چه کاربرد و وظایفی دارد ؟

در مباحث کامپیوتری، یک سرور عبارتست از یک برنامه کامپیوتری یا یک دستگاه که موجب فعالیت دیگر برنامه ها یا دستگاه ها تحت عنوان “کاربران” می شود.

در این ساختار که مدل سرور – کاربر نامیده می شود یک محاسبات سراسری واحد در چندین فرایند یا سیستم، توزیع می شود. سرورها می توانند عملیات متعددی را انجام دهند که اغلب “سرویس” نامیده می شود، عملیاتی همانند به اشتراک گذاری داده یا منابع بین چندین کاربر، یا انجام محاسبات برای یک کاربر. یک سرور می تواند به تنهایی در خدمت کاربران متعددی باشد و همینطور یک کاربر می تواند به تنهایی از چندین سرور استفاده نماید.

سرورهای مؤسسهWikimedia - مدیاسافت

سرورهای مؤسسهWikimedia

یک فرایند برای کاربر می تواند بر روی یک سیستم اجرا شود یا ممکن است به یک سرور بر روی یک دستگاه دیگر در شبکه متصل باشد. سرورهای معمول عبارتند از سرورهای پایگاه داده، سرورهای فایل، سرورهای ایمیل، سرورهای چاپ، سرورهای وب، سرورهای بازی و سروهای کاربردی. امروزه اغلب سیستم های کاربر- سروری با مدل درخواست- پاسخ، پیاده سازی شده و غالباً با همین نام نیز شناخته می شوند: یک کاربر درخواستی را به سرور می فرستند تا آن سرور عملیاتی را انجام داده و پاسخی را به کاربر ارسال کند که معمولاً بصورت یک نتیجه یا تأیید است.

اولین سرور WWW واقع در CERN - مدیاسافت

اولین سرور WWW واقع در CERN با برچسب اصلی آن که رویش نوشته شده: “این دستگاه یک سرور است. برق آن را قطع نکنید!!”

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

تاریخچه استفاده از سرور

استفاده از واژه “سرور” در مباحث کامپیوتری از تئوری صف بندی نشات گرفته شده است، که به اواسط قرن ۲۰ باز می گردد و در مقاله ای که نمادگذاری Kendall را معرفی کرده، مورد استفاده قرار گرفته است. در مقالات قدیمی تر، نظیر Erlang (1909) ، واژه های محسوس تری همانند “اپراتورهای تلفن” استفاده شده اند.

در محاسبات کامپیوتری، تاریخ استفاده از لغت “سرور” حداقل به RFC 5 (1969) (یکی از اولین مستنداتی که ARPANET (اینترنت قدیمی) را تعریف کرد) باز می گردد و در مقابل واژه “کاربر” قرار داد و دو نوع میزبان را از هم متمایز می سازد: “سرور- میزبان” و “کاربر- میزبان”. استفاده از لغت “خدمت رسانی” در مقابل “سرور- میزبان” و “کاربر- میزبان” نیز به مستندات قدیمی از جمله RFC 4 باز می گردد.

در فرهنگ اصطلاحات کامپیوتری “جارگون”، سرور را به صورت حس مشترکی از یک فرایند که سرویس یا خدماتی را معمولاً از راه دور برای درخواست ها ارائه می دهد، تعریف شده است که در نسخه (۱.۱.۰) سال 1981 آمده است:

سرور . نوعی DAEMON است که خدمتی را برای درخواست دهنده ارائه می دهد، که غالباً این خدمت به کامپیوتری به غیر از کامپیوتری که سرور روی آن اجرا می شود ارسال می گردد.

عملکرد یک سرور چگونه است ؟

اکیداً می توان گفت که واژه سرور اشاره به یک برنامه کامپیوتری یا یک فرایند (برنامه در حال اجرا) دارد. به بیان دیگر، این لغت اشاره به دستگاهی ( یا سیستم تخصیص یافته) دارد که برای اجرای یک یا چند برنامه سروری مورد استفاده قرار می گیرد. بر روی یک شبکه، چنین دستگاهی، میزبان نامیده می شود. علاوه بر سرور، واژگان خدمت گذاری و سرویس (خدمت) نیز به کرات استفاده می شوند، البته از لغاتخدمت رسان و خدمتکار استفاده نمی شود. واژه سرویس همچنین می تواند بیانگر خلاصه عملیاتی همانند خدمات تحت وب باشد. همچنین این لغت می تواند اشاره به یک برنامه کامپیوتری داشته باشد که یک کامپیوتر را به یک سرور تبدیل می کند، همانند سرویس ویندوز. سرور از دیدگاه “اطاعت کردن” به عنوان “سرورهای خدمت رسان به کاربران” (و “کاربران استفاده کننده از سرورها”) شناخته می شود، و از دیدگاه “دادن اطلاعات” غالباً می توان گفت “سرورها اطلاعات را ارائه می دهند”. بعنوان مثال، سرورهای تحت وب “صفحات وب را برای کاربران نمایش می دهند” یا “درخواست های آن ها را برآورده می سازند”.

یک شبکه مبتنی بر مدل کاربر- سرور که در آن، کاربران انفرادی متعددی درخواست خدمات و منابع را از سرورهای مرکزی دارند - مدیاسافت

یک شبکه مبتنی بر مدل کاربر – سرور که در آن، کاربران انفرادی متعددی درخواست خدمات و منابع را از سرورهای مرکزی دارند

سرور، بخشی از مدل سرور- کاربر است؛ در این مدل، یک سرور اطلاعات را در اختیار کاربران قرار می دهد. ماهیت ارتباط بین یک کاربر و سرور، درخواست و پاسخ است. این با مدل نظیر- به- نظیر که در آن، روابط مبتنی بر تقاضای متقابل است، تفاوت دارد. در اصل، هرگونه فرایند کامپیوتری که می تواند توسط دیگر فرایندها فراخوانی شده و یا مورد استفاده قرار گیرد (به ویژه از راه دور، مخصوصاً برای به اشتراک گذاری یک منبع اطلاعاتی) یک سرور محسوب می شود و فرایند یا فرایندهای صدا زننده، کاربر می باشند. بدین ترتیب هر کامپیوتر معمولی متصل به یک شبکه می تواند سرور میزبان باشد. برای مثال، چنانچه فایل ها بر روی یک سیستم توسط برخی فرایندها به اشتراک گذاشته شوند، آن فرایند یک سرور فایل خواهد بود. بطور مشابه، نرم افزار سرور وب می تواند بر روی هر کامپیوتری اجرا شود، بنابراین یک لپ تاپ یا یک کامپیوتر شخصی می تواند میزبان یک سرور وب باشد.

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

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

وظیفه یک سرور چیست ؟

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

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

(کاربران یا دستگاه ها)

سرور محاسباتیحجم بالایی از منابع محاسباتی بویژه CPU و RAM را در شبکه به اشتراک می گذارد.هر برنامه کامپیوتری که به توان CPU و RAM بیشتری نسبت به آنچه یک کامپیوتر شخصی قادر به ارائه آن است، نیاز دارد.
سرور پایگاه دادهنگهداری و به اشتراک گذاری هر شکل از پایگاه داده (سازماندهی مجموعه های داده با مشخصه های از پیش تعریف شده که می تواند در یک جدول نمایش داده شود) بر روی یک شبکهصفحات گسترده، نرم افزار حسابداری، نرم افزار مدیریت مالی یا بطور مجازی هر برنامه کامپیوتری که از داده های سازمان یافته به ویژه در حجم های بالا استفاده می کند.
سرور فکسیک یا چند دستگاه فکس را بر روی یک شبکه به اشتراک می گذارد، بدین ترتیب محدودیت های دسترسی فیزیکی از بین می رود.هر شخصی که فکس را ارسال یا دریافت می کند
سرور فایلفایل ها، پوشه ها و فضای ذخیره سازی آن ها را بر روی یک شبکه به اشتراک می گذارد.کامپیوترهای موجود در شبکه، همان کاربران هستند اگرچه برنامه های محلی نیز می توانند حکم کاربر را داشته باشند.
سرور بازیکامپیوترهای متعدد یا دستگاه های بازی مختلف را برای انجام بازی های چند نفره فعال می سازد.کامپیوترهای شخصی یا کنسول های بازی
سرور ایمیلبه همان روشی که اداره پست، ارتباط بین افراد را از طریق نامه ممکن می سازد این سرور امکان برقراری ارتباط ایمیلی را میسر می کند.ارسال کنندگان و دریافت کنندگان ایمیل
سرور رسانهتصاویر یا اصوات دیجیتالی را بر روی یک شبکه از طریق جریان رسانه ای به اشتراک می گذارد (انتقال محتوای فایل صوتی یا تصویری با امکان شنیدن یا مشاهده درجا به جای دانلود کردن یک فایل حجیم).کامپیوترهای شخصی مجهز به یک صفحه نمایش و یک بلندگو
سرور چاپیک یا چند دستگاه چاپ را بر روی شبکه به اشتراک می گذارد، بنابراین محدودیت های دسترسی فیزیکی از بین می رود.کامپیوترهایی که نیاز به چاپ چیزی دارند
سرور صوتیبرنامه های کامپیوتری یک کامپیوتر را فعال می سازد تا اصوات را بطور انفرادی یا به صورت اشتراکی، ضبط و پخش کند.برنامه های کامپیوتری کامپیوتر مشابه
سرور پروکسیبعنوان یک واسطه بین کاربر و سرور عمل کرده و ترافیک ورودی از جانب کاربر را تأیید و به سرور ارسال می نماید. دلایل انجام چنین کاری عبارتند از کنترل محتوا و فیلتر کردن، بهبود عملکرد ترافیک، جلوگیری از دسترسی غیرمجاز به شبکه یا مسیریابی ساده ترافیک بر روی شبکه های بزرگ و پیچیدههر کامپیوتر شبکه شده
سرور وبصفحات میزبان وب. یک سرور وب، سروری است که وب گسترده جهانی را ممکن می سازد. هر وب سایت دارای یک یا چند سرور وب است.کامپیوترهای دارای یک مرورگر وب

تقریباً کل ساختار اینترنت، مبتنی بر یک مدل کاربر- سرور می باشد. سرورهای نام ریشه سطح بالا، DNS و روترها، ترافیک را در اینترنت هدایت می کنند. میلیون ها سرور متصل به اینترنت وجود دارد که بطور مداوم در سرتاسر جهان در حال کارکردن هستند و بطور مجازی هر کاری که توسط یک کاربر اینترنت عادی انجام شود نیازمند یک یا چند تعامل با یک یا چند سرور می باشد. البته استثناهایی هم وجود دارد که از سرورهای اختصاصی استفاده نمی کنند؛ بعنوان مثال اشتراک فایل نظیر- به- نظیر و برخی برنامه های تلفنی (همانند Skype).

ملزومات سخت افزاری سرور

ملزومات سخت افزاری برای سرورها دارای تنوع گسترده بوده و به هدف بکارگیری سرور و نرم افزارهای آن وابسته می باشد.

یک سرور قرار گرفته در قفسه با درپوش آن که به منظور نشان دادن اجزاء درونی برداشته شده است - مدیاسافت

یک سرور قرار گرفته در قفسه با درپوش آن که به منظور نشان دادن اجزاء درونی برداشته شده است

از آنجا که سرورها معمولاً در یک شبکه در دسترس قرار می گیرند، بسیاری از اجراهای خودکار بدون وجود یک نمایشگر یا ابزار ورودی، سخت افزار صوتی و واسط های USB انجام می شود. بسیاری از سرورها واسط گرافیکی کاربر (GUI) نیز ندارند. آن ها از راه دور، پیکربندی و مدیریت می شوند. مدیریت از راه دور می تواند از طریق روش های متعددی از جمله کنسول مدیریت مایکروسافت (MMC)، PowerShell، SSH و سیستم های مدیریت خارج از باند مبتنی بر مرورگر همانند iDRAC محصول شرکت Dell یا iLO محصول شرکت HP عملیات رهبری را انجام دهند.

سرورهای بزرگ

سرورهای بزرگ قدیمی باید به مدت طولانی بدون توقف کار می‌کردند. لزوم دسترس پذیری بسیار بالا موجب شده تا قابلیت اطمینان و دوام بالای سخت افزار از اهمیت بسیار بالایی برخوردار باشند. سرورهای تجاری با مأموریت های بحرانی باید در برابر خطا بسیار پایدار بوده و از سخت افزار مخصوص با کمترین احتمال خطا استفاده کنند تا میزان روشن ماندن آنها به حداکثر برسد. منابع تأمین برق بی وقفه نیز می توانند برای اطمینان از کارکرد سرور در هنگام قطع برق به کار گرفته شوند. ، قبل از راه اندازی و بررسی، سرورها عموماً شامل سخت افزارهای اضافی نظیر منابع تغذیه دوگانه، سیستم های دیسک RAID و حافظه ECC به همراه تست و تأیید حافظه پیش راه انداز می شوند. قطعات بحرانی سرور می توانند قابلیت تعویض در حین عملکرد داشته باشند، این به تعمیرکاران امکان تعویض قطعات را بر روی سروری که در حال کار کردن است بدون نیاز به خاموش کردن آن می دهد. بعلاوه جهت جلوگیری از افزایش دمای سیستم نیز می توان سرور را به فن های بسیار قوی مجهز کرد یا از خنک کننده آبی استفاده نمود. سرورها غالباً می توانند از راه دور با استفاده از مدیریت خارج از باند که عموماً بر اساس IPMI است، پیکربندی، روشن، خاموش یا راه اندازی مجدد شوند. محفظه سرورها معمولاً صاف و پهن بوده و جهت اتصال بر روی قفسه طراحی می شوند.

نمای پشتی یک قفسه سرور - مدیاسافت

نمای پشتی یک قفسه سرور

 

نمای پشتی سرورهای مؤسسهWikimedia - مدیاسافت

نمای پشتی سرورهای مؤسسهWikimedia

 

نمای مقابل سرورهای مؤسسهWikimedia - مدیاسافت

نمای مقابل سرورهای مؤسسهWikimedia

 

نمای پشتی سرورهای مؤسسهWikimedia - مدیاسافت

نمای پشتی سرورهای مؤسسهWikimedia

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

خوشه ها یا کلاسترها

یک مزرعه سرور یا خوشه سرور و به اصطلاح کلاستر سرور عبارتست از مجموعه ای از سرورهای کامپیوتری که توسط یک سازمان برای تأمین عملکرد سرور در حد فراتر از توانایی یک دستگاه منفرد نگهداری می شوند. امروزه اغلب مراکز داده مدرن، از خوشه های بسیار بزرگتر متشکل از سرورهای ساده تر ساخته شده اند و یک تلاش تعامل محور توسط سازمان پروژه محاسباتی باز، در این رابطه وجود دارد.

تجهیزات شبکه

یک دسته از سرورهای تخصصی کوچک با عنوان تجهیزات شبکه هستند که عموماً در مقیاس کوچک و در اندازه های کوچکتر از کامپیوترهای رایج تولید می شوند.

سیستم های عامل

در محیط اینترنت، عمده سیستم های عامل در بین سرورها، توزیع های منبع باز شبیه به UNIX هستند، مانند سیستم عامل های مبتنی بر Linux و FreeBSD، به همراه سرور ویندوز که دارای حجم اشتراک قابل توجهی است. سیستم های عامل اختصاصی همانند z/OS و سرور macOS نیز به تعداد بسیار کمتر استفاده شده اند.

Cobalt Qube 3محصول شرکت Sun - مدیاسافت

Cobalt Qube 3محصول شرکت Sun : یک دستگاه سرور کامپیوتر (2002) که سیستم عامل Cobalt Linux ( یک نسخه تغییر یافته از Red Hat Linux بر پایه هسته Linux نسخه 2.2) بر روی آن اجرا می شود و با سرور وب Apache تکمیل شده است.

مشخصه های معمول سیستم های عامل مبتنی بر سرورهای تخصصی شامل موارد زیر است:

  • GUI در دسترس نیست یا انتخابی است
  • قابلیت پیکربندی مجدد و به روز رسانی نرم افزار و سخت افزار بدون راه اندازی مجدد وجود ندارد
  • تسهیلات پشتیبانی پیشرفته برای ایجاد امکان پشتیبانی آنلاین منظم و مداوم از داده های بحرانی
  • انتقال نامرئی داده با حجم های مختلف بین دستگاه های مختلف
  • قابلیت های شبکه ای انعطاف پذیر و پیشرفته
  • قابلیت های اتوماسیون همانند daemons در UNIX و سرویس های ویندوز
  • امنیت شدید سیستم به همراه محافظت پیشرفته از کاربران، منابع، اطلاعات و حافظه
  • شناسایی پیشرفته و اعلان خطر در شرایطی همچون گرم شدن بیش از حد سیستم، یا خطای پردازنده و دیسک

در عمل، امروزه بسیاری از سیستم های عامل شخصی و سیستم های عامل مبتنی بر سرور دارای منبع کد مشابه بوده و اغلب در پیکربندی تفاوت دارند.

مصرف انرژی

در سال 2010 مراکز داده ای (سرورها، خنک کننده ها و دیگر زیرساخت های الکتریکی) مسئول 1/1 تا 5/1 درصد از مصرف برق تمام دنیا بوده و  7/1 تا 2/2 درصد از آن در ایالات متحده مصرف شده است. تخمین زده می شود که کل انرژی مصرف شده توسط تکنولوژی اطلاعات و ارتباطات به دلیل ایجاد بهره وری اقتصادی، کاهش تولید گازهای گلخانه ای به ارزش بیش از 5 برابر خود را در سایر بخش های صنعت به دنبال شده است.

فایروال چگونه کار می کند؟

فایروال چگونه کار می کند؟

فایروال چگونه کار می کند؟

فایروال چگونه کار می کند؟

فایروال چگونه کار می کند؟

در صورتیکه تاکنون مدت زمان کوتاهی از اینترنت استفاده کرده باشید و یا در یک اداره مشغول بکار هستید که بستر لازم برای دستیابی به اینترنت فراهم شده باشد،  احتمالا” واژه  ” فایروال ” را  شنیده اید. مثلا” اغلب گفته می شود که : ” در اداره ما امکان استفاده از این سایت وجود ندارد ، چون سایت فوق را از طریق فایروال بسته اند “. در صورتیکه از طریق خط تلفن به مرکز ارائه دهنده خدمات اینترنت (ISP) متصل و  از اینترنت استفاده می نمائید ، امکان خرید فایروال و استفاده از آن توسط ISP مربوطه نیز وجود دارد. امروزه در کشورهائی که دارای خطوط ارتباطی با سرعت بالا نظیر DSL و یا مودم های کابلی می باشند ، بهه کاربران خانگی توصیه می گردد که هر یک از فایروال استفاده نموده و با استقرار لایه فوق بین شبکه داخلی در منزل و اینترنت ، مسائل ایمنی را رعایت نمایند. بدین ترتیب با استفاده از یک فایروال می توان یک شبکه را در مقابل عملیات غیر مجاز توسط افراد مجاز و عملیات مجاز توسط افراد غیرمجاز حفاظت کرد.

فایروال چیست ؟

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

فرض کنید، سازمانی دارای 500 کارمند باشد. سازمان فوق دارای ده ها کامپیوتر بوده که بر روی هر کدام یک کارت شبکه نصب شده و یک شبکه درون سازمانی ( خصوصی ) ایجاد شده است . سازمان فوق دارای یک یا چند خط اختصاصی ( T1 و یا T3 ) برای استفاده از اینترنت است . بدون استفاده از فایروال تمام کامپیوترهای موجود در شبکه داخلی، قادر به ارتباط با هر سایت و هر شخص بر روی اینترنت می باشند. کاربران مربوطه قادر به استفاده از برنامه هائی همچون FTP و یا Telnet بمنظور ارتباط مستقیم با افراد حقوقی و یا حقیقی موجود بر روی اینترنت می باشند. عدم رعایت مسائل ایمنی توسط پرسنل سازمان، می تواند زمینه دستیابی به اطلاعات موجود در شبکه داخلی را برای سارقین و متجاوزان اطلاعاتی اینترنت فراهم نماید.

زمانیکه در سازمان فوق از فایروال استفاده گردد، وضعیت کاملا”  تغییر خواهد کرد. سازمان مربوطه می تواند برروی هر یک از خطوط ارتباطی اینترنت یک فایروال نصب نماید. فایروال مجموعه سیاست های امنیتی را پیاده سازی می نماید. مثلا” یکی از قوانین فوق می تواند بصورت زیر باشد :

تمام کامپیوترهای موجود در شبکه مجاز به استفاده از اینترنت می باشند ، فقط یک فرد مجاز به استفاده از سرویس FTP است و سایر پرسنل مجاز به استفاده از سرویس فوق نخواهند بود.

یک سازمان می تواند برای هر یک از سرویس دهندگان خود ( وب ، FTP،  Telnet و … ) قوانین مشابه تعریف نماید. سازمان قادر به کنترل پرسنل  به همراه  لیست سایت های مشاهده  خواهد بود.  با استفاده از  فایروال یک سازمان قادر به کنترل کاربران شبکه  خواهد بود .

فایروال ها به منظور کنترل ترافیک یک شبکه از روش های زیر استفاده می نمایند:
– فیلتر نمودن بسته های اطلاعاتی

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

– سرویس Proxy

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

بهینه سازی استفاده از فایروال

فایروال ها را می توان با توجه به اهداف سازمانی بصورت کاملا” سفارشی نصب و پیکربندی کرد. در این راستا امکان اضافه  و یا حذف فیلترهای متعدد بر اساس شرایط متفاوت وجود خواهد داشت  :

 آدرس های IP

هر ماشین بر روی اینترنت دارای یک آدرس منحصر بفرد با نام IP است . IP یک عدد 32 بیتی بوده که بصورت چهار عدد دهدهی که توسط نقظه از هم جدا می گردند نمایش داده می شود (Octet) . در صورتیکه یک آدرس IP خارج از شبکه، فایل های زیادی را از سرویس دهنده می خواند ( ترافیک و حجم عملیات سرویس دهنده را افزایش خواهد داد) فایروال می تواند ترافیک از مبداء آدرس فوق و یا به مقصد آدرس فوق را بلاک نماید.

– اسامی دامنه ها ( حوزه )

تمام سرویس دهندگان بر روی اینترنت دارای اسامی منحصر بفرد با نام ” اسامی حوزه”  می باشند. یک سازمان می تواند با استفاده از فایروال، دستیابی به سایت هائی را غیرممکن  و یا صرفا” امکان استفاده از یک سایت خاص را برای پرسنل خود فراهم نماید.

 پروتکل ها

پروتکل نحوه گفتگوی بین سرویس دهنده و سرویس گیرنده را مشخص می نماید . پروتکل های متعدد با توجه به اهداف گوناگون در اینترنت استفاده می گردد. مثلا”  http  پروتکل وب و FTP پروتکل مربوط به دریافت و یا ارسال فایل هاا است. با استفاده از فایروال می توان، میدان  فیلتر نمودن را  بر روی  پروتکل ها متمرکز کرد. برخی از پروتکل های رایج که می توان بر روی آنها فیلتر اعمال نمود بشرح زیر می باشند :

  • IP)Internet Protocol) پروتکل اصلی برای عرضه اطلاعات بر روی اینترنت است.
  • HTTP)Hyper Text Transfer Protocol) پروتکلی برای عرضه  اطلاعات در وب است.
  • FTP)File Transfer Protocol) پروتکلی برای دریافت و ارسال فایل ها استفاده می گردد.
  • UDP)User Datagram Protocol) پروتکلی برای اطلاعاتی که به پاسخ نیاز ندارند استفاده می شود( پخش صوت و تصویر)
  • ICMP)Internet control  Message Protocol) این پروتکل توسط روترها و به منظور تبادل اطلاعات فی مابین استفاده می شود.
  • SMTP)Simple Mail Transfer Protocol) پروتکلی برای ارسال e-mail استفاده می گردد.
  • SNMP)Simple Network  Management Protocol) از این پروتکل به منظور اخذ  اطلاعات از یک کامپیوتر راه دور استفاده  میشود.
  • Telnet پروتکلی برای اجرای دستورات بر روی یک کامپیوتر از راه دور استفاده می گردد.
– پورت ها

هر سرویس دهنده ، خدمات مورد نظر خود را با استفاده از پورت های شماره گذاری شده بر روی اینترنت ارائه می دهد. مثلا” سرویس دهنده وب اغلب از پورت 80 و سرویس دهنده Ftp از پورت 21 استفاده می نماید.  یک سازمان ممکن است با استفاده از فایروال امکان دستیابی به پورت 21 را بلاک نماید.

– کلمات و عبارات خاص

می توان با استفاده از فایروال کلمات و یا عباراتی را مشخص نمود تا امکان کنترل بسته های اطلاعاتی حاوی کلمات و عبارات فراهم گردد. هر بسته اطلاعاتی  که حاوی  کلمات مشخص شده  باشد  توسط فایروال بلاک خواهد شد.

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

تهدیدات

حمله کنندگان به شبکه های کامپیوتری از روش های متعددی استفاده می نمایند.

– Remote Login

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

– Application Backdoors

برخی از برنامه ها دارای امکانات ویژه ای برای دستیابی از راه دور می باشند. برخی دیگر از برنامه ها دارای اشکالاتی بوده به گونه ای که یک Backdoor را ایجاد و یا امکان دستیابی مخفی را ارائه می دهند. در هر حالتت امکان کنترل برنامه فراهم خواهد گردید.

– SMTP session hijacking

پروتکل SMTP رایج ترین روش برای ارسال e-mail است . با دستیابی به لیستی از آدرس های e-mail ، یک شخص قادر به ارسال e-mail به هزاران کاربر دیگر خواهد شد.

– اشکالات سیستم های عامل

سیستم های عامل نظیر سایر برنامه های کاربردی ممکن است دارای Backdoor باشند.

– انفجار E-mail

یک شخص قادر به ارسال صدها و هزاران e-mail مشابه در مقاطع زمانی متفاوت است. با توجه به وضعیت فوق سیستم پست الکترونیکی قادر به دریافت تمام نامه های ارسالی نخواهد بود.

 ماکرو

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

– ویروس

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

سرویس دهنده Proxy

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

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

 

حملات تزریق کد (XSS)

حملات تزریق کد (XSS)

حملات تزریق کد (XSS)

گاهی در مباحث مربوط به هک ایمیل و امنیت سایت با حملات XSS یا Cross Site Scripting مواجه می‌شویم که به دلیل دزدیدن رمز عبور ، ارسال درخواست‌های جعلی و در دست گرفتن مدیریت محتوای HTML خطرساز می‌شوند. در این مقاله به بررسی حملات تزریق کد (XSS) و انواع این حملات و روشهای مقابله با آن خواهیم پرداخت.

Cross Site Scripting یکی از روش های حمله و نفوذ هکرها به وب سایت ها میباشد. در این روش کدهای جاوا اسکریپت به سایت تزریق میشوند و هدف هکر بیشتر کاربرانی هستند که به سایت مراجعه کرده اند. در واقع هکرها در این نوع حمله اطلاعات کاربران یک سایت را بدون اینکه خودشان متوجه شوند، به سرقت میبرند..!

اگرچه مخفف CSS ، Cross Site Scripting میباشد اما با توجه به اینکه CSS به عنوان مخفف Cascading Style Sheets به کار برده میشود، به همین دلیل از XSS برای مخفف Cross Site Scripting استفاده میشود.

روش حمله :

حملات تزریق کد (XSS)

حملات تزریق کد (XSS)

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

هنگامی که کاربر وارد یک حساب اینترنتی مانند ایمیل، حساب بانکی یا حساب های دیگر میشود اطلاعاتی (کوکی ها) روی کامپیوتر کاربر ذخیره میشود..

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

انواع حملات xss :

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

 

روش های مقابله با XSS :

استفاده از مرورگر اینترنتی مناسب : مرورگرهایی مانند Firefox و Opera امنیت بالاتری نسبت به IE دارند. IE مرورگری است که نقاط ضعف زیادی دارد.

استفاده از ابزارهایی که کدهای Script و Flash را محدود میکنند مانند Noscript

کلیک نکردن روی لینک ها و ایمیل‌های ناشناس : برای جلوگیری از این نوع حمله میتوان ایمیل را روی حالت HTML یا متنی قرار داد تا کدهای مخرب خود به خود اجرا نشوند.

توصیه میشود کاربران گزینه یادآوری نام کاربری و رمز عبور را در مرورگرهای خود غیر فعال کنند و به صورت دوره ای رمز عبور ایمیل های خود را تغییر دهند.

همچنین بهتر است کاربران از یک ایمیل مجزا برای حساب های کاربری مهم خود مانند حساب بانکی و … استفاده کنند و از آن برای ارتباطات روزانه استفاده نکنند.

وب‌سایت‌ها در طی یک دهه گذشته شاهد تغییرات زیادی بوده‌اند. به مرور زمان و با پیشرفت فناوری‌های کامپیوتری، سایت‌ها به آهستگی از انواع HTML ساده و استاتیک، به سمت وب‌سایت‌های بزرگ، داینامیک و پویا تکامل یافته‌اند. این گذر به سوی وب‌سایت‌های دینامیک باعث شد تا اپلیکیشن‌های مخصوص وب‌سایت که به دیتابیس‌ها متکی هستند، همانند CMS‌های وردپرس و جوملا و سایت ساز ها و فروشگاه ساز ها به وجود آیند این تغییر به سوی وب‌سایت‌های دینامیک عرصه را برای بعضی از خطرات جدید باز کرد.

حمله Cross-site scripting یا XSS یک نوع حمله تزریق کد می‌باشد که در سمت کاربر اتفاق می‌افتد و در آن حمله کننده می‌تواند کد و اسکریپت مخرب خود را در قالب یک فعالیت معمولی به وب‌سایت تزریق کند.
با استفاده از XSS ، حمله کننده قربانی خود را به طور مستقیم مورد هدف قرار نمی‌دهد بلکه او از وب‌سایت به عنوان یک وسیله برای حمل و رساندن کد مخرب به مرورگر قربانی استفاده می‌کند.
از حملات XSS به طور عمده در جاوا اسکریپت استفاده می‌شود. زیرا جاوا اسکریپت بیشتر در ساخت و طراحی سایت‌ ها مورد استفاده قرار می‌گیرد و از بخش‌های بنیادی یک وب‌سایت می‌باشد.

برای اینکه حمله گر بتواند کد مخرب جاوا اسکریپت را روی مرورگر قربانی اجرا کند، ابتدا نیاز است تا راهی برای ورود به صفحه وب‌سایت و قرار دادن کد در آن پیدا کند. یک راهکار برای این مورد استفاده از تکنیک‌های مهندسی اجتماعی (social engineering) است. حمله گر از این طریق می‌تواند کاربر را ترغیب به بازدید از صفحه‌ای کند که در آن کدهای مخرب فعال هستند.
برای اجرایی شدن حمله XSS ، صفحات و دیتابیس مرورگر قربانی بایستی مقادیر ورودی توسط بازدید کننده را شامل شود. به عنوان مثال، این کد فرضی، جدیدترین نظر ثبت شده در یک صفحه را نمایش می‌دهد:

حملات تزریق کد (XSS)

حملات تزریق کد (XSS)

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

حملات تزریق کد (XSS)

 

 

مرورگر بازدیدکنندگان در واقع این کد را اجرا خواهد کرد:

حملات تزریق کد (XSS)

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

عواقب این گونه حملات توسط جاوا اسکریپت ممکن است بلافاصله نمایان نشود. چرا که مرورگر‌ها کد‌های جاوا اسکریپت را به صورت کنترل شده و محدود اجرا می‌کنند و دسترسی خیلی محدودی به سیستم عامل کاربر و فایل‌های کاربر دارند.
اما از آنجایی که جاوا اسکریپت به موارد زیر دسترسی دارد، باید این موضوع را جدی گرفت:
• کد‌های مخرب جاوا اسکریپت مانند دیگر کد‌ها به element ‌های دیگر وب سایت مانند کوکی (cookie)‌ دسترسی دارد. کوکی‌ها معمولا شامل session token می‌شوند. (session token کلیدی می‌باشد که هویت کاربر را برای سایت مشخص می‌کند). با داشتن session token حمله کننده می‌تواند خود را به عنوان کاربر واقعی سایت جا بزند.
• جاوا اسکریپت می‌تواند به صورت خودسرانه در DOM مرورگر تغییرات ایجاد کند.

آیا حملات XSS مربوط به خود کاربر می‌شود؟

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

حالا کمی در خصوص انواع حملات XSS توضیح می‌دهیم:

۱. حمله انعکاسی یا غیر مداوم ( Reflected or Non-persistent)

یک حمله غیر مداوم XSS مستقیما توسط خود حمله کننده به سمت سایت ارسال نمی‌شود. در واقع در این نوع حمله، حمله کننده از وب‌سایت برای انعکاس کد مخرب به سوی قربانی استفاده می‌کند. یک مثال ساده از این نوع حمله، ساختن یک URL ساده است که کد مخرب را به قربانی منتقل می‌کند:

http://example-website.com/search?search_term=””

حالا کافی است حمله کننده قربانی خود را ترغیب به کلیک کردن روی این لینک و ورود به آن کند. وقتی که کاربر این URL را از سایت درخواست کند، اسکریپتی که حمله کننده نوشته است روی مرورگر قربانی اجرا خواهد شد. چرا که وب‌سایت، ورودی که از طریق فیلد search_term دریافت کرده است را بدون بررسی و اعتبار سنجی دریافت و قبول کرده است.
مثلا با این روش و با اجرا اسکریپت روی مرورگر قربانی، حمله کننده می‌توانند کوکی‌های او را به سرقت برده و اطلاعات آن را به دست آورد.

حملات تزریق کد (XSS)

۲. حمله مداوم (Persistent)

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

متد‌های جلوگیری از حملات XSS

روش اول: Escaping

در این روش اطلاعات ورودی توسط کاربر به نوعی سانسور می‌شوند. مثلا از ثبت بعضی از کارکتر‌های خاص مانند > و < که ممکن است در دستورات کد استفاده شوند جلوگیری می‌شود و باعث می‌شوند که کد‌های مخرب از کار بیفتند.
اگر سایت شما به نوعی است که به کاربران اجازه اضافه کردن کد خود را نمی‌دهد، راه حل خوب می‌تواند escape کردن تمامی متون از جمله HTML, URL و Javascript باشد.
ولی در صورتی که سایت از متون غنی‌(rich text) پشتیبانی می‌کند مانند سایت‌ها فروم و یا ثبت نظر‌ها، اجرای این روش کمی سخت تر می‌شود زیرا باید کاراکتر‌هایی که escape می‌شوند را به دقت انتخاب کنید.

روش دوم:‌ اعتبار سنجی ورودی (Validating Input)

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

جمع بندی

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