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

آموزش راه اندازی FTPS یا FTP بر روی SSL در IIS

FTP-SSL یک روش رمزنگاری پروتکل FTP است که توسط وب سرور IIS نسخه های 7 و 7.5 در ویندوز سرور 2008 پشتیبانی می شود. خوب راه اندازی این سرویس با این روش چندان بدون مشکل نیست . در اینجا ابتدا به چندین مشکل که در راه اندازی این سرویس با آنها ممکن است مواجه شوید اشاره می کنیم. پروتکل FTP در دو حالت Passive و Active فعالیت می کند و ما در اینجا از Passive Mode در FTP به همراه یک SSL ساده استفاده می کنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

به این دلیل از این روش استفاده می کنیم که بیشتر کاربرانی که از اینگونه FTPS استفاده می کنند در پشت فایروال قرار دارند و این یعنی کانال داده یا Data Channel ای که برای FTP در نظر گرفته می شود معمولا مسدود می شود. شاید به این مشکل خورده باشید ، در این حالت شما می توانید به FTP سرور متصل شوید ، اما نمی توانید دایرکتوری ها و فایل هایی که در آن وجود دارند را لیست و مشاهده کنید. به همین دلیل ما از ساختار Passive FTP در نرم افزار کلاینت سمت کاربر استفاده می کنیم.

در اینجا من تمامی ویندوزهای سرور خود را در پشت یک فایروال قرار داده ام. به دلیل اینکه با استفاده از SSL محتویات FTP رمزنگاری خواهد شد ، فایروال قادر به بررسی درون بسته های اطلاعاتی نبوده و نمی تواند محتویات کانال کنترل و دیتا را بررسی کنید و به همین دلیل اجازه عبود داده ها را خواهد داد. به عنوان یک قانون در نظر داشته باشید که Passive FTP به همراه SSL از فایروال عبور نخواهد کرد مگر اینکه Rule های خاصی بر روی فایروال شما وجود داشته باشند که اجازه عبور Data Channels مربوط به FTP را بدهند. برای اینکه مشکل خاصی در این خصوص وجود نداشته باشد بر روی فایروال هایی که در مسیر وجود دارند یک محدوده پورت مشخص را برای عبور Data Channel های FTP باز کنید که در اینجا من از محدوده پورت 55000 تا 56000 استفاده کرده ام. این Rule بایستی بصورت incoming تعریف شود. تعریف Rule در فایروال به شکل زیر خواهد بود :

Allow TCP/21 inbound from all
Allow TCP/55000-56000 inbound from all

خوب در اینجا فرض می کنیم که شما یک FTP Site موجود دارید و می خواهید آن را توسط SSL امن کنید ، اگر نمی دانید چگونه یک FTP Site ایجاد کنید به دو مقاله زیر مراجعه کنید :

  1. کاملترین آموزش IIS | از معرفی تا ریز به ریز اجزا + معماری IIS

ایجاد یک SSL Certificate

اگر وب سرور شما در حال حاضر دارای یک Certificate است ، می توانید از همان استفاده کنید . در غیر اینصورت هم می توانید از یک CA درخواست Certificate بدهید و یا کاری که ما در اینجا برای ساده کردن کار انجام داده ایم را انجام دهید و یک Self-Signed SSL Certificate برای سرور ایجاد کنید و از همان استفاده کنید. به قسمت IIS Manger بروید . بر روی سرور مورد نظر در سمت چپ تصویر کلید کنید . از قسمت IIS گزینه Server Certificates را انتخاب کنید و بر روی Create Self-Signed Certificate کلیک کنید . نام این Certificate را ITPRO FTPS Certificate بگذارید.

ایجاد Self-Sigend Certificate  در IIS

مشخص کردن محدوده Data Channel برای FTP

مجددا از همان قسمت قبلی سرور مورد نظر را انتخاب کنید. گزینه FTP Firewall Support را انتخاب کنید .توجه کنید که این قسمت را حتما از طریق سرور انتخاب کنید ، انتخاب سایت در اینجا ممکن نیست زیرا این محدوده از طریق سرور به سایت ها اعمال می شود. اگر در اینجا سایت FTP را انتخاب کنید گزینه مورد نظر grayed-out خواهد بود. در اینجا هم محدوده پورت هایی که در فایروال درست کرده بودیم را تعیین کنید. ( 55000 تا 56000 ) ، توجه کنید که اگر فایروال شما عملیات NAT را نیز انجام می دهد ، حتما آدرس IP معتبر یا Valid فایروال خود را نیز در اینجا وارد کنید.

ایجاد محدوده Data Channel FTP  در IIS

قرار دادن Certificate بر روی سایت FTP مورد نظر

بر روی FTP سایت مورد نظر خود کلیک کنید . قسمت FTP SSL Settings را باز کنید . از قسمت SSL Certificate نام Certificate ای که بصورت Self-Signed در مرحله قبلی ایجاد کرده بودید را انتخاب کنید و از گزینه های پایین Require SSL Connection را انتخاب کنید و گزینه Apply را کلیک کنید.

راه اندازی FTP و SSL

Restart کردن سرویس IIS

خوب در اینجا باید شما سرویس FTP یا سرور IIS را Restart کنید تا تنظیماتی که انجام داده اید اعمال شود. نکته قابل توجه در اینجاست که اگر سرویس FTP یا حتی سرور IIS را از کنسول IIS Manager بتوانید Restart کنید ، باز هم تنظیمات اعمال نخواهد شد و برای اینکار حتما بایستی از قسمت Control Panel و قسمت Services گزینه Microsoft FTP Service را انتخاب و آنرا Restart کنید.

تنظیمات FTP Client

توجه کنید که استفاده از FTP و SSL بدون داشتن نرم افزارهای جانبی اتصال به FTP و با استفاده از Windows Explorer و Internet Explorer ممکن نیست و این نرم افزارها قادر به برقراری چنین ارتباطی نیستند . بنابراین پیشنهاد می کنیم از نرم افزاهایی مثل Filezilla برای اتصال به FTP سرور خود استفاده کنید . تنظیمات این کلاینت رو در حالت passive mode و Explicit SSL قرار داده و به سرور متصل شوید.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

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

نظرات