«پسکوچه پراکسی» بازرسی امنیتی را با موفقیت پشت سر گذاشت
تیم پسکوچه خود را موظف میداند که امنیت سِروِرهای پراکسی خود و زیرساختهای آنها را مورد بررسی و آزمایش قرار دهد. آنچه در ادامه میخوانید خلاصهی اجرایی و نتیجهگیری نتایج تست امنیتی پسکوچه پراکسی به گزارش شرکت Radically Open Security است.
یکی از هدفهای اصلی تیم پسکوچه ایجاد بستری امن برای دسترسی آزاد کاربران به محتویات اینترنتی است. با فیلترینگ تلگرام و شرایطِ فعلی اینترنت در ایران، روز به روز کاربران بیشتری به استفاده از سِروِرهای پراکسی و فیلترشکنها هجوم آوردهاند، در نتیجه تیم پسکوچه خود را موظف میداند که امنیت سِروِرهای پراکسی خود و زیرساختهای آنها را مورد بررسی و آزمایش قرار دهد.
وقوعِ مشکلات احتمالی برای کاربران به دلیلِ عدمِ انجامِ بررسی امنیتی بر روی سِروِرها و امن نبودن آنها، با توجه به نوع پراکسی متفاوت خواهد بود. به طور مثال اگر هکرها بتوانند به سِروِرها نفوذ کنند، به تمامِ اطلاعات ذخیره شده در سِروِر دسترسی خواهند داشت و با توجه به اطلاعاتِ ذخیره شده در سِروِرها، ممکن است حریم خصوصی کاربران و امنیت آنها در معرض خطر قرار بگیرد. همچنین در صورت عدمِ رمزنگاری اطلاعات کاربران و یا استفاده از رمزنگاری ضعیف، هکرها امکانِ دستیابی به محتوای اطلاعات رد و بدل شده بین کاربر و سرویسدهنده را خواهند داشت.
به دلیل اهمیت بالای حریم خصوصی و امنیت کاربران، اصل۱۹ (شرکت سازندهی پسکوچه) از یک شرکت مستقل شخص ثالث درخواست کرد تا تست نفوذپذیری لازم را بر روی سِروِرهای «پسکوچه پراکسی» انجام دهد. تیم پسکوچه تمام سِروِرهای پراکسی ساخته شده قبل از تست نفوذپذیری را از کار انداخت تا امکان هرگونه خطر احتمالی را از میان ببرد. قابل ذکر است که همواره دو دیواره آتش فعال (Active firewall) بر روی سِروِرهای پسکوچه نصب بوده که امکان نفوذ به این سِروِرها را به حداقل میرساند.
برای آشنایی خوانندگان این مقاله با زیرساخت استفاده شده در سِروِرهای «پسکوچه پراکسی» و رفع ابهام از اصطلاحات استفاده شده در گزارش بد نیست توضیحی اجمالی راجع به روش استفاده شده بدهیم:
سِروِرهای پسکوچه از ساختار متوازن سازی بار (Service Load Balancing in Cloud Computing) استفاده میکنند، به این صورت که کاربر فقط سِروِر لود بالانسر (Load Balancer) را دیده و با آن ارتباط برقرار میکند و این سِروِر، ترافیکِ اینترنتی را در سِرِورهای اصلی پراکسی به طور یکسان پخش میکند.
استفاده از این روش چندین مزیت دارد:
-
کاربران فقط لازم است که از یک آدرس اینترنتی استفاده کنند که کار را برای آنها بسیار راحت میکند.
-
این ساختار توانایی بسیار بیشتری برای ترافیکهای سنگین را دارد.
-
این ساختار مقیاس پذیر است، به این معنا که در صورت نیاز به پشتیبانی کاربرانِ بیشتر فقط کافی است تا یک یا چند سِروِر به سِروِرهای پراکسی اضافه شود. در حالت عکسِ این قضیه یک یا چند سِروِر از آنها کم میشود بدون اینکه کاربران کنونی پراکسیها دچار مشکل شوند.
-
در آخر اینکه این ساختار هزینهی کمتری هم برای ارائهدهندهی پراکسی دارد و باعث خواهد شد تا سِروِرهای بیشتری در اختیار کاربران قرار داده شود.
پسکوچه برای راهاندازی لود بالانسر (Load Balancer) از نرمافزار HAProxy، برای راه اندازی پراکسی Socks5 در تلگرام از نرمافزار Dante و برای پراکسی HTTPS در توییتر از نرمافزار Squid استفاده کرده است. سِرِورهای MTProxy از نرمافزار ارائه شده توسط توسعهدهندگانِ آپلیکیشنِ تلگرام استفاده میکنند که روش راهاندازی آن رادر بلاگ پسکوچه در دسترس شماست.
آنچه در ادامه میخوانید خلاصهی اجرایی و نتیجهگیری نتایج این تست امنیتی به گزارش شرکت رادیکالی اوپن سکوریتی (Radically Open Security) است. گزارش کامل انگلیسی آن نیز اینجا در دسترس است.
مقدمه
شرکت رادیکالی اوپن سکوریتی (Radically Open Security) از تاریخ ۲۵ آوریل ۲۰۱۸ تا ۲۵ می ۲۰۱۸، یک تست نفوذپذیری برای کارگاه اصل۱۹ انجام داد.
این گزارش مشکلاتِ پیدا شده و همینطور توضیحات مفصل دربارهی روش تست نفوذپذیری توسط تیم ROS را در برمیگیرد.
محدوده کاری
دامنهی این تست نفوذپذیری محدود به پراکسیهای ساخته شده توسط تیم اصل۱۹ است:
-
پراکسی توییتر
-
پراکسی تلگرام
-
سِروِر لود بالانسر (متوازن ساز بار)
اهداف پروژه
هدف این پروژه ارزیابی و تستِ تنظیمات انجام شده در سِروِرهای پراکسی HAProxy, Dante, و Squid به منظور بررسی آنها و رفع نگرانیهای امنیتی، حریم خصوصی و کاربردی است. (این پراکسیها که برای اتصال از کانکشنهای TCP استفاده میکنند، وظیفهی انتقال ترافیک در تلگرام و توییتر را دارند.)
بازهی زمانی
این تستهای امنیت نفوذپذیری از تاریخ ۲۵ آوریل تا ۲۵ می انجام شدهاند.
خلاصهی نتایج تست نفوذپذیری
بر اساس تستهای انجام شده، تعدادی مشکلات در تنظیماتِ این پراکسیها پیدا شد میتواند منجر به دشواریهایی در امنیت، حفظ حریم خصوصی و مسائل کاربردی شود.
هیچ یک از یافتههای ذکر شده در این گزارش بحرانی نیستند. همچنین تیم اصل۱۹با پاسخگویی سریع، تمامِ مشکلات پیدا شده در این گزارش را خیلی سریع برطرف کرد. پس از اعمالِ تغییرات توسط تیم اصل۱۹، تیم ROS با تست دوباره، تغییرات انجام شده را تایید کرد.
بر اساس تستهای انجام شده، چند مشکل در تنظیماتِ این پراکسیها پیدا شد که میتوانست منجر به دشواریهایی در امنیت، حفظ حریم خصوصی و پیامدهای عملی شود. رتبهی این یافتهها از لحاظ امنیتی بحرانی نبودند، اما نگرانیهای حریم خصوصی در این تست از همه چیز مهمتر است.
تعدادِ اتصالات HAProxy به طور غير واقعبینانهای زياد تنظيم شده بود که امکان داشت بر توانایی سِروِر برای مقابله با دریافتِ حجم بالایی از ترافيک تاثير منفی بگذارد. همچنین تنظیمات مربوط به kernel برای مطابقت با تنظیماتِ بالا درست پیکربندی نشده بودند.
لود بالانسرِ (Load Balancer) استفاده شده، نسخهی قدیمی این نرم افزار بود و تنظیمات آن مشکلاتی به خصوص در سرویس مانیتورینگ آن داشت.
هر سه سِرور لود بالانسر، Squid و Dante اطلاعاتی بیش از حد نیاز (مخصوصا آدرس IP) را در لاگ فایلها، حافظهی پنهان و دامپ (core dump) ذخیره میکردند. همچنین رمزنگاری یکی از رمزعبورها (در این سِروِر مورد استفاده نبود) از هش (hash) ضعیفی استفاده میکرد که در صورت استفاده از این رمزعبور امکان داشت منجر به امکانِ حمله به سِروِرهای دیگر را فراهم کند.
تیم اصل۱۹ با پاسخگویی سریع، تمامِ مشکلات پید اشده را خیلی سریع برطرف کرد. پس از اعمالِ تغییرات توسط تیم اصل۱۹ و با تست دوبارهی ROS، تغییراتِ انجام شده تایید شد.
در آخر قابل ذکر است که حفظِ امنیت، روندی دائم است و این تست نفوذپذیری تصویری لحظهای از این روند است. وضعیت امنیتی باید همواره ارزیابی و بهبود داده شود. بازرسیهای امنیتی و بهبودسازی دائم برای کنترلِ امنیتِ اطلاعاتی سازمان ضروری است. امیدواریم که این گزارشِ تست نفوذپذیری (و توضیحاتِ مفصل یافتهها) به طور معناداری به این مهم کمک کرده باشد. اگر سوال یا توضیح بیشتری دربارهی گزارش و محتویات آن دارید حتما به ما در ROS اطلاع دهید.