ترا سرور


ارائه دهنده خدمات سرور اختصاصی , سرور مجازی , هاست میزبانی , هاست دانلود , ثبت دامنه
مشاوره :
09199763827
همین حالا تماس بگیرید

حمله FTP Bounce

در چند سال اخیر، بحث های بسیاری در خصوص مشکلات مربوط به دستور PORT در پروتکل FTP وجود داشته است. این مشکلات بر اساس سوء استفاده از دستور PORT در پروتکل FTP به وجود آمده است.

جهت درک این حملات ، شناخت پروتکل FTP ضروری است.

یک client ارتباطی را با پورت ۲۱ یک FTP server برقرار می کند. به طوری که بعدا سرور قادر خواهد بود تا داده را به client ارسال کند. یک ارتباط(data) دومی نیز می بایست بین server و client برقرار شود.

برای ایجاد دومین ارتباط، client دستور PORT را به server می فرستد. این دستور شامل پارامترهایی است که به سرور می گویند به کدام نشانی IP و به کدام پورت در آن نشانی باید متصل شود. (در بیشتر موارد یک شماره پورت بالا در client در نظر گرفته می شود.)

سپس server ارتباطی از پورت ۲۰ با مقصد و پورت تعیین شده در پارامترهای دستور PORT ایجاد می کند.

معمولا به صورت پیش فرض از دستور PORT فقط در “active mode” FTP استفاده می شود. و در “passive mode”(به صورت [PASV[2 شناخته شده است) از این دستور استفاده نمی شود. لطفا توجه داشته باشید که FTP server ها معمولا توانایی اجرای هر دو مد را دارند و client تعیین کننده مد استفاده از آن است.

حمله FTP Bounce

بر طبق پروتکل FTP، دستور PORT، توسط originating machine، ماشین و پورتی دلخواه جهت ارتباط داده تعیین می کند. هرچند که این روش موجب می شود تا یک مهاجم بتواند با انتخاب ماشینی که originating client نیست، ارتباطی را با پورت مهاجم برقرار کند.

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

1

جهت توضیح بیشتر، چندین مثال از اینکه چگونه مهاجمان FTP bounce Attack را به کار می برند، در ادامه آمده است.

۱- Port scan

مهاجمی قصد انجام port scan در خصوص یک سایت را دارد. او از طریق یک FTP server به عنوان جایگاهی جهت scan بهره می گیرد. بدین روش scan از طریق FTP server انجام می شود به جای اینکه از منبع معمول(FTP client) انجام گیرد.

در مواردی مشابه، این تکنیک برای مهاجم مزایای بیشتری جز اینکه منبع اصلی جستجو را پنهان کند، دارد. زمانی که سایت قربانی در همان subnet مربوط به FTP server باشد یا زمانی که سایت قربانی ترافیک FTP server را فیلتر نمی کند، مهاجم می تواند از server به جای client، به عنوان منبع port scan استفاده نماید تا بدین روش کنترل کننده های احتمالی دسترسی را bypass کند.

۲- Bypassکردن واحدهای فیلترpacket اولیه

امکان دارد یک مهاجم در پیکربندی شبکه certain، یک Firewall (یا دیگر اقدامات امنیتی مرزی)را Bypass کند.

برای مثال فرض کنید که یک سایت در پشت Firewall، anonymous FTP server دارد. با استفاده از روش port scan بالا، مهاجم متوجه می شود که یک web server داخلی در آن سایت بر روی پورت ۸۰۸۰ وجود دارد، پورتی که به طور معمول توسط block ، firewall شده است.

با اتصال به public FTP server آن سایت، مهاجم ارتباط بعدی بین FTP server و پورت دلخواه را در یک non-public machine در آن سایت پایه ریزی می کند.(برای مثال سرور وب داخلی و پورت ۸۰۸۰). در نتیجه مهاجم ارتباطی را با ماشینی که توسط یک firewall محافظت می شود برقرار می کند.

۳- Bypass کردن واحدهای dynamic فیلتر packet اولیه

این مسئله مشکل دیگری است که سایت clientهایی که جهت حفاظت خودشان از firewallهایی با فیلترهای dynamic packet استفاده می نمایند، روبرو می شوند. این سایت ها در مقابل حملات بی دفاع هستند چرا که firewallها به اطلاعاتی که دریافت می کنند اعتماد دارند.

در این مثال سایت قربانی تمامی سیستم هایش را پشت firewallهایی که از فیلترهای dynamic packet استفاده می کنند، قرار داده است. شخصی در سایت قربانی صفحه های وب را مرور کرده و یک Java applet را که توسط مهاجم تولید شده است download می کند. بدون اینکه آن شخص بداند، Java applet یک ارتباط خروجی FTP با ماشین مهاجم برقرار می کند. سپس Java applet دستور PORT را به صورتی که جهت ایجاد ارتباط سرور و ارائه پورت Telnet در سیستمی در پشت firewall قربانی برقرار کند، صادر می کند.

از آنجا که dynamic packet filtering firewall، بسته های خروجی را جهت تعیین هرگونه عملیات لازم بر روی آن بخش بررسی می کند. به دستور PORT پاسخ داده و اجازه می دهد تا یک ارتباط ورودی از سرور وب راه دور جهت پورت Telnet بر روی ماشین قربانی برقرار شود. به صورت معمول این ارتباط توسط firewall امکانپذیر نیست. این مورد زمانی امکانپذیر است دستور PORT توسط client صادر شده باشد.

– راه حل

حمله ای که به عنوان مثال بیان شد، بخش های اصلی آسیب پذیری را مشخص می کند: محتویات دستور PORT قابل اعتماد نیستند چرا که یک پتانسیل قوی برای مهاجم ایجاد می کنند. مثال FTP bounce نشان می دهد که چه اتفاقهایی می افتد اگر که سرور به اطلاعات اعتماد کند. همچنین مثال فیلتر dynamic نیز نشان می دهد که چه اتقاقی می افتد اگر که firewall به اطلاعات اعتماد کند.

از آنجایی که عنصر هسته ای حمله FTP bounce مورد توافق RFC می باشد، راه حل روشن و صریحی برای آن وجود ندارد. نکته مهمی که می بایست به خاطر داشت، این است که اگرچه در شرایط RFC آمده است که ویژگی و امکانات می بایست در نرم افزار سرور موجود بوده و در دسترس دیگر توافق کنندگان RFC باشند ولی در آن شرایطی وجود ندارد که طی آن هر کاربر end user می بایست اجبارا از این امکانات استفاده نماید.

۱- نرم افزار FTP Server

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

۱- پیروی سرسختانه از قابلیت RFC: تنها عملکرد مورد قبول دستور PORT جهت ارتباط مستقیم با یک ماشین third-party است. برخی فروشندگان مشکل را با تغییر دیگر سرویس های شبکه حل می کنند به طوری که ارتباط هایی را که از پورت داده FTP(پورت ۲۰) ایجاد می شوند را رد می کنند.

۲- توقیف سرسختانه دستور PORT: دستور PORT جهت ارتباط با originating client مورد استفاده قرار گیرد و این تنها قابلیت مجاز است.

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

پیشنهاد ما این است که روش۲ یا روش۳ را با توقیف دستور PORT استفاده نمایید.

۲- پیکربندی سرور FTP

برخی از حمله های FTP bounce که پیشتر توصیف شد تکیه بر یک یا چند سرور دارند(بسته به نوع حمله) تا امکان upload فایل از طریق FTP را ایجاد کنند.(معمولا در خصوص anonymous FTP).

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

۳- پیکربندی شبکه

چند مورد وجود دارند که می بایست در هنگام پیکربندی محدوده شبکه تان به خاطر بسپارید.(برای مثال فیلتر کردن packet در routerها و firewallها.)

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

برای مثال سایتهایی که سرور FTP دارند تا بدین وسیله به دستور PORT امکان دهند تا ارتباط هایی را با ماشینهای third-party برقرار کنند، می بایست ترافیک بین سرور FTP و ماشین هایی را که سرویس های وابسته به hostname یا نشانی IP جهت احراز هویت دارند را مسدود نماید. مثالهای از این نوع سرویس ها: rlogin، rsh و NFS هستند. از طرفی یک firewall یا filtering router می بایست همیشه از دسترسی خارجی مستقیم به چنین سرویس هایی جلوگیری نماید. بهتر است همچنین ترافیکی که یک سرور داخلی FTP که در این مسیر ایجاد می کند را فیلتر نماید. بدین ترتیب از استفاده شدن سرور FTP به عنوان ماشین واسط که جهت حمله به پروتکل هایی با مکانیزم های احراز هویت ضعیف، بر پایه hostname یا نشانی IP جلوگیری می نماید.

موفق باشید…

  teraserver.ir  :منبع
برچسب ها : ، ، ، ، ،
برای دریافت آخرین اخبار سایت و پیشنهادات به لینک زیر مراجعه کنید
اخبار ترا سرور