دنیا جای سورپرایز شدنه

دنیا جای سورپرایز شدن هست، ماجرا از کجا شروع شد!

حدود سال ۱۳۹۴ تو یکی از شرکت‌های داخلی کار می‌کردم، به دلیل تسلط به تجهیزات امنیتی از برند‌های مطرح یکی از کارهایی که به عهده من بود تایید کارکرد صحیح و تعیین کارایی تجهیزات تولید شده بود. نهایتا تهیه چیزی شبیه به datasheet برند‌های مطرح دنیا و بعضی وقت‌ها برای پاسخ سوالات فنی به جلسه با مشتریان میرفتم. اما چالش‌ها زیاد بود و بزرگترین چالش هم این بود که مدیران و کارشناسان این حوزه رو datasheet های خارجی و اعداد درج شده توی اونها بعضی وقت‌ها قسم می‌خوردند.  اما وقتی ماجرای برند‌های داخلی مطرح می‌شد هیچ اعتمادی به اعداد ارائه شده نداشتند، یه جورایی حق هم داشتن چرا دروغ شاید اگر من هم جای اونها اونطرف میز میشستم همین رفتار رو میکردم. بگذریم، تا قبل از اینکه تو فرایند آزمون تجهیزات وارد بشم خود من هم رو اعداد ارائه شده توسط سیسکو و جونیپر و …. قسم می‌خوردم!

اما اون اوایل که کار رو شروع کردم، دیدم نتایج تست‌هایی که میگیرم با کوچکترین تغییر در پیکربندی، سایز ترافیک، نوع ترافیک، تعداد کلاینت شبیه سازی شده، تعداد سرور شبیه سازی شده و یه عالمه پارامتر دیگه تفاوت چشمگیری در اعداد ایجاد می‌کنه!  خوب این خیلی بد بود چون وقتی یه نفر میگفت آقا شما گفتی ۲۰۰۰۰ هزار new session تجهیزت ساپورت میکنه من مطمئن باشم! به عنوان یه آدم فنی نمیتونستی یه بله قاطع بدی، چیزی که شاید خیلی از افراد غیر فنی انجام بدن، ولی یه آدم فنی و پایبند به اخلاق حرفه‌ای شاید به این راحتی نتونه ادعای غیر فنی بکنه!

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

خلاصه با توجه به نتایج مختلفی که از تست‌ها گرفته بودم به این نتیجه رسیدم که بهترین کار انجام تست یکسان با شرایطی نسبتا مشابه دنیای واقعی برای تجهیز هست. بنابراین سناریوهای تستی که انجام دادم براساس رده دستگاه (branch,medium/large branch, enterprise , …)   و رفتار نسبی مشتری در چنین محیطی بود. مثلا یه مشتری در سطح branch که ۵۰۰۰ تا rule معمولا نداره یا حداقل امیدوار بودم که نداشته باشه و اینجوری تست رو انجام میدادم. نه که این کار کاری بود که من کردم  و برندهای مطرح کار دیگه ای میکردند، نه اونها هم دارند همین کار رو میکنند. بماند که همین الان هم موقع خرید تجهیز و اینکه چرا تجهیز با ظرفیت فلان قدر گفتم تهیه بشه یه بار باید راجب همین مواردی که در ادامه صحبت میکنیم روی منبر برم.

 توجه شما رو به قسمتی از datasheet بعضی از برند‌ها جلب میکنم:

اول سیسکو:

شکل ۱توضیح داده شده در دیتاشیت فایرپاور سری ۲۱۰۰ سیسکو

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

شکل ۲توضیح نحوه تست تجهیز توسط سیکو

توی این قسمت نحوه تست و شرایطی که ظرفیت دستگاه بدست اومده، یه توضیح خیلی جمع و جوری نوشته. تو همین قسمت میشه اشاره کرد که مثلا UDP و اون هم کلا با سایز ۱۵۰۰B! واقعا تو دنیای واقعی چقدر همه چی شبیه این تست هست.

بریم بعدی رو ببینیم که مربوط به دیتاشیت srx1500 از شرکت جونیپر هست:

میبینید، ایشون هم شرایط تست خودش رو اعلام کرده، که چند نکته تا هیمنجا:

  1. ببینید شرایط تست جونیپر با سیسکو چقدر متفاوت هست، حالا متوجه میشید وقتی یه نفر دیتاشیت ۲ دستگاه رو میذاره کنار هم و از رو دیتاشیت و اعدادش به این نیجه میرسه که فلان دستگاه از جونیپر و فلان دستگاه از سیسکو هم رده هستند، چقدر این حرف میتونه درست باشه.
  2. ایشون برای تست UDP رفته از rfc2544 استفاده کرده، که اگر همه برند‌ها همین کار رو کنند، خوب میشه مقایسه شون کرد با هم. ولی نمیکنند، که احتمالا بزرگترین دلیل اون تجارت هست.
  3. استاندارد های دیگه ای هم برای نحوه تست تجهیزات داریم مثل rfc3511 و rfc2647 که البته قدیمی هستند. اما یه درفتی از ۳۵۱۱ داره نوشته میشه برای تست NGFWها که از اینجا میتونید ببینیدش که، مثل قبل فکر نمیکنم خیلی برند‌ها بهش توجهی کنند.

بریم سراغ بعدی، که پالوآلتو هست:

همونطور که میبینید شرایط تست باز هم با بقیه فرق میکنه، بریم برای آخرین نمونه که از برند فورتیگیت هست، گزاشتمش آخر چون حداقل تو زمینه دیتاشیت از بقیه یکم مرد تر هست!

اول اینکه ایشون هم مثل بقیه گفته حالا ما یه حرفی زدیم، شما در جریان باشید کارایی دستگاه UP to هست و به کانفیگ شما خیلی وابسته هست! UP to داخل جمله خودش کلی حرف داره، اینها همون چیزایی هست که هیچ کس بهشون نگاه نمیکنه و فقط به ۴ تا عدد تو جدول معمولا استناد میکنند.

شکل ۳ توضیحات دیتاشیت فورتیگیت

حالا اعداد داخل دیتاشیت فورتی رو با هم ببینیم:

شکل ۴دیتاشیت فورتیگیت ۳۰۰E

گفتم از بقیه تو دیتاشیت مرد تر هست به خاطر همون قسمتی هست که هایلایت کردم، حداقل بین برندهایی که من باهاشون کار کردم، این برند فقط تو دیتاشیتش چند عدد میده، تفاوت ظرفیت زمانی که بسته های ۶۴B داشته باشید، با زمانی که بسته ۵۱۲B یا ۱۵۱۸B داشته باشید، ۱۲Gbpsهست! حالا برو بالا ببین سیسکو با چه سایز بسته ای تست خودش رو انجام داده!

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

با جستجویی که اون زمان داشتم به نتیجه دیگه ای هم نرسیدم. اما بعدا در سال ۲۰۱۸ تو ciscoLive Barcelona یه ارائه انجام شد توسط آقای چارلی استوکز که ایشون اون زمان به عنوان Technical Marketing Engneer در سیسکو مشغول بود. ایشون از سال ۱۹۹۸ وقتی سیسکو Wheelgroup رو خرید (این شرکت IDS خودش رو به سیسکو فروخت) به سیسکو پیوست و ۱۸ سال بعدش رو تو گروه IDS/IPS سیسکو بوده، اینها رو از معرفی اولیه ای که تو اسلایدهای ارائه‌اش کرده گفتم، که اتفاقا چون ارائه ایشون بسیار جالبه pdf اش رو حتما برای دانلود میزارم. خلاصه که حرفه‌ای هست تو زمینه خودش، ایشون تو این ارئه با عنوان:

What is performance testing and the “performance envelope”?

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

اولا performance envelope یه مفهوم تو هوانوردی و تست هواپیما هست که حرفش اینه که اگر بخوایم ظرفیت یه هواپیما، مثل سرعت و مصرف سوخت و … رو حساب کنیم، باید این مقادیر در نهایت ظرفیتی که هواپیما میتونه داشته باشه حساب بشه، مثلا اگر هواپیما تا ۲۷ هزار پا میتونه بره بالا مقادیر گفته شده باید تو اون ارتفاع براش حساب بشه. حالا مشکل ما برای تست تجهیزات امنیتی چیه، ایشون تو اسلاید ۲۱ در این مورد صحبت میکنه که ما اگر بخوایم یه تجهیز امنیتی رو تست بگیریم با ۲۶ متغییر متفاوت طرفیم که در صورتی که همه متغییر ها باینری باشن میتونن ۶۷ میلیون حالت مختلف رو ایجاد کنند. بعضی یا همه این متغییر ها میتونن نتایج تست رو دچار تغییر بسیار بالا بکنند.

بعضی از این متغییر ها رو که من به ذهنم میرسه:

  • سایز بسته‌‌ها
  • نوع ترافیک
  • تعداد session ها
  • تعداد کلاینت‌ها
  • تعداد سرورها
  • Jumbo flows
  • تعداد route ها
  • تعداد rule ها
  • NAT
  • IPS
  • تعداد signature ها و…….

تو همین اسلاید نتیجه یه تست رو گذاشته:

شکل ۵نتایح تست با ترافیک های مختلف

همونطور که میبینید، ایشون یه تست انجام داده، اون هم فقط با ترافیک HTTP و به ظرفیت ۸۲Gbps رسیده، اما همون تست با ترافیک Mix (یعنی ترافیک های مختلف مثل:HTTP,FTP,Torrentو ..) ظرفیت رو به ۳۲Gbps رسونده و چه جالب عکس‌هایی که از دیتاشیت برند‌های مختلف گذاشته بودم اکثرا گفته بودن با ترافیک از نوع HTTP ما تست رو انجام دادیم، و هرکدوم با سایز بسته های متفاوت.

تو اسلاید شماره ۲۴ ایشون هم یه عکس گذاشته از یه دستاشیت به صورت زیر:

به ideal test دقت کنید، ، برید بالا اون عکس مربوط به دیتاشیت سیسکو رو که گزاشتم نگاه کنید. تو اسلاید بعدی ایشون هم میگه که Ideal or perfect برابر با real word نیست.

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

بهترین حالت هم mix ترافیک هست، که اون هم ممکنه با شرایط ترافیکی شما کاملا متفاوت باشه و بعد از اون نوع پیکربندی شماست که تاثیر زیادی تو ظرفیت واقعی دستگاه میزاره مثلا تو اسلاید ۵۷ ایشون یه تست گرفته که بد نیست اسلاید رو همینجا هم بزارم، تو این تست که به صورت single flow گرفته شده با پیکربندی های متفاوت به اعداد متفاوتی برای ظرفیت تجهیز میرسه :

شکل ۶تست single flow با پیکربندی های متفاوت و تفاوت ظرفیت بالا در هر پیکربندی

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

Nsslab اومده و یه سری فایروال‌های هم رده رو تست کرده، مستندات اینجور تست هاش رو میشه پیدا کرد، یه نمونه از تست هاش رو باز برای دانلود و به عنوان مرجع براتون میزارم که دانلود کنید. تو این تست فایروال‌های زیر رو اومده و مقایسه کرده:

 

Barracuda Networks CloudGen Firewall F800.CCE v7.2.0
Check Point 15600 Next Generation Threat Prevention (NGTP) Appliance vR80.20
Cisco Firepower 4120 Security Appliance v6.2.2
Forcepoint NGFW 2105 Appliance v6.3.3 build 19153 (Update Package: 1056)
Fortinet FortiGate 500E V5.6.3GA build 7858
Palo Alto Networks PA-5220 PAN-OS 8.1.1
SonicWall NSa 2650 SonicOS Enhanced 6.5.0.10-73n
Sophos XG Firewall 750 SFOS v17 MR7
Versa Networks FlexVNF 16.1R1-S6
WatchGuard M670 v12.0.1.B562953

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

شکل ۷ ببینید نتایج با سایز بسته‌های مختلف چه تفاوتی میکنه

ظرفیت سیسکو با سایز بسته ۶۴B برابر یا ۱٫۳Gbps و با سایز بسته ۱۵۱۴B برابر با ۸٫۶Gbps هست. بقیه هم که مشخصه وضعیتشون توی تست.

همینطورlatency تو ۹۰٪ ظرفیت ادعایی تجهیز:

شکل ۸ تفاوت latency در ۹۰ درصد ظرفیت تجهیز

بیش از این به nsslab نپردازیم، میتونید دانلود کنید و نتایج رو ببینید. پایان کلام، نظرسنجی کردم که نتایجش رو با هم ببینیم:

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

cisco live 2018: What is performance testing and the “performance envelope”?

nss-labs-2018-ngfw-comparative-report-performance

fortigate 300e datasheet

srx1500 datasheet

cisco 2100 series datasheet

pa 3200 datasheet

 

موفق باشید.

About علیرضا عربیان

Check Also

فایروال سیسکو

کنترل امنیت شبکه های کامپیوتری شماره ۱۲ : دفاع از مرزها (Boundary Defense)

خلاصه: در راستای بحث امنیت شبکه و در ادامه مطلب کنترل های حساس امنیتی به بررسی …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *