عنوان
|
نويسنده
|
مشاهده
|
آشنائی با پروتكل FTP ( بخش دوم ) |
مديريت آموزش |
11629 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
آشنائی با پروتكل FTP
آشنائی با پروتكل FTP
( بخش دوم )
FTP
، يك پروتكل ارسال فايل است كه با استفاده از آن سرويس گيرندگان می توانند
به سرويس دهندگان متصل و صرفنظر از نوع سرويس دهنده اقدام به دريافت و يا ارسال
فايل نمايند . پروتكل FTP به منظور ارائه خدمات خود از
دو حالت متفاوت استفاده می نمايد : Active Mode و
Passive Mode . مهمترين تفاوت بين روش های فوق
جايگاه سرويس دهنده و يا سرويس گيرنده در ايجاد و خاتمه يك ارتباط است .
همانگونه كه در
بخش اول
اشاره گرديد ، يك اتصال پروتكل
TCP/IP ( نسخه شماره چهار) شامل دو نقطه
مجزا می باشد كه هر نقطه از يك آدرس IP و يك شماره پورت
استفاده می نمايد . برقراری ارتباط بين يك سرويس گيرنده و يك سرويس دهنده منوط به
وجود چهار عنصر اطلاعاتی است : آدرس سرويس دهنده ،پورت سرويس دهنده ، آدرس سرويس
گيرنده و پورت سرويس گيرنده . در زمان برقراری يك ارتباط ، سرويس گيرنده از يك
شماره پورت استفاده می نمايد . اين شماره پورت می تواند متناسب با
نوع عملكرد برنامه
سرويس گيرنده به صورت اختياری و يا اجباری باشد . مثلا" برخی برنامه های
سرويس گيرنده به منظور ارتباط با سرويس دهنده ، نيازمند استفاده از يك شماره پورت
خاص می باشند ( نظير برنامه های سرويس گيرنده وب و يا مرورگرهای وب كه از پورت
شماره 80 به منظور ارتباط با سرويس دهنده وب استفاده می نمايد) . در مواردی كه
الزامی در خصوص شماره پورت وجود ندارد از يك شماره پورت موقتی و يا
ephemeral استفاده می گردد . اين نوع پورت ها موقتی بوده و توسط
IP stack ماشين مربوطه به متقاضيان نسبت داده شده و پس
از خاتمه ارتباط ، پورت آزاد می گردد . با توجه به اين كه اكثر
IP Stacks بلافاصله از پورت موقت آزاد شده استفاده نخواهند كرد ( تا زمانی
كه تمام pool تكميل نشده باشد ) ،در صورتی كه سرويس
گيرنده مجددا" درخواست برقراری يك ارتباط را نمايد ، يك شماره پورت
موقتی ديگر به وی تخصيص داده می شود .
پس از اين مقدمه
، در ادامه به بررسی هر يك از روش های Active و
Passive در پروتكل FTP خواهيم
پرداخت .
Active Mode
Active Mode ، روش سنتی ارتباط بين يك سرويس گيرنده FTP
و يك سرويس دهنده می باشد كه عملكرد آن بر اساس فرآيند زير است :
-
سرويس گيرنده يك
ارتباط با پورت 21 سرويس دهنده FTP برقرار می
نمايد . پورت 21 ،
پورتی است كه سرويس دهنده
به آن گوش فرا می دهد تا از صدور فرامين آگاه و آنان را به ترتيب پاسخ دهد . سرويس
گيرنده برای برقراری ارتباط با سرويس دهنده از يك پورت تصادفی و موقتی ( بزرگتر از
1024 ) استفاده می نمايد( پورت x ).
-
سرويس گيرنده شماره
پورت لازم برای ارتباط سرويس دهنده با خود را از طريق صدور دستور
PORT N+1 به وی اطلاع می دهد ( پورت
x+1 )
-
سرويس دهنده يك ارتباط
را از طريق پورت 20 خود با پورت مشخص شده سرويس گيرنده ( پورت
x+1 ) برقرار می نمايد .
لطفا" به من از طريق پورت
1931 بر روی آدرس
IP:
192.168.1.2 متصل و سپس داده را ارسال
نمائيد .
|
سرويس گيرنده
|
تائيد دستور |
سرويس دهنده
|
در فرآيند فوق ، ارتباط
توسط سرويس گيرنده آغاز و پاسخ به آن توسط
سرويس دهنده و از طريق پورت x+1 كه توسط سرويس گيرنده
مشخص شده است ، انجام می شود . در صورتی كه سرويس گيرنده از سيستم ها و
دستگاه های امنيتی خاصی نظير فايروال استفاده كرده باشد ، می بايست تهميدات لازم به
منظور ارتباط كامپيوترهای ميزبان راه دور به سرويس گيرنده پيش بينی تا آنان بتوانند
به هر پورت بالاتر از 1024 سرويس گيرنده دستيابی داشته باشند . بدين منظور لازم است
كه پورت های اشاره شده بر روی ماشين سرويس گيرنده open
باشند . اين موضوع می تواند تهديدات و چالش های امنيتی متعددی را برای سرويس
گيرندگان به دنبال داشته باشد .
Passive Mode
در Passive Mode ، كه به آن " مديريت و يا
اداره سرويس گيرندگان FTP" نيز گفته می شود از فرآيند
زير استفاده می گردد :
-
سرويس گيرنده دو پورت
را فعال می نمايد ( پورت x و x+1
)
-
ارتباط اوليه از طريق
پورت x سرويس گيرنده با پورت 21 سرويس دهنده
آغاز می گردد .
-
سرويس دهنده يك پورت را
فعال ( Y ) و به سرويس گيرنده شماره پورت را اعلام می
نمايد .
-
در ادامه سرويس گيرنده
يك اتصال از طريق پورت x+1 با پورت y
سرويس دهنده برقرار می نمايد .
لطفا" به من بگوئيد
كه از كجا می توانم داده را دريافت نمايم
|
سرويس گيرنده
|
با من از طريق پورت 4023
بر روی آدرس
IP:
192.168.1.25 ارتباط برقرار نمائيد . |
سرويس دهنده
|
در فرآيند فوق ، سرويس
گيرنده دارای نقش محوری است و فايروال موجود بر روی سرويس گيرنده می تواند درخواست
های دريافتی غيرمجاز به پورت های بالاتر از 1024 را به منظور افزايش امنيت بلاك
نمايند . در صورتی كه بر روی كامپيوترهای سرويس دهنده نيز فايروال نصب شده
باشد ، می بايست پيكربندی لازم به منظور استفاده از پورت های بالاتر از 1024 بر روی
آن آنجام و آنان open گردند . باز نمودن پورت های فوق بر
روی سرويس دهنده می تواند چالش های امنيتی خاصی را برای سرويس دهنده به دنبال داشته
باشد .
متاسفانه تمامی سرويس گيرندگان FTP از
Passive Mode حمايت نمی نمايند . اگر يك سرويس گيرنده
بتواند به يك سرويس دهنده login نمايد ولی قادر به
ارسال داده بر روی آن نباشد ، نشاندهنده اين موضوع است كه فايروال و يا
Gateway برای استفاده از Passive
Mode به درستی پيكربندی نشده
است .
ملاحضات امنيتی
در صورتی كه فايروال های موجود بر روی كامپيوترهای سرويس گيرنده به درستی پيكربندی
نگردند ، آنان نمی توانند از Active Mode استفاده نمايند
. در Passive Mode استحكام سيستم امنيتی در سمت
سرويس دهنده و توسط فايروال مربوطه انجام خواهد شد . بنابراين لازم است به سرويس
دهنده اجازه داده شود كه به اتصالات هر پورت بالاتر از 1024 پاسخ دهد .
ترافيك فوق ، معمولا" توسط فايروال سرويس دهنده بلاك می گردد
. در چنين شرايطی
امكان استفاده از Passive Mode وجود نخواهد داشت .
Passive Mode و يا Active
Mode ؟
با توجه به مستندات درج شده در RFC 1579 ،
استفاده از Passive Mode
به دلايل متعددی به Active Mode ترجيح داده می شود :
-
تعداد سرويس
دهندگان موجود بر روی اينترنت به مراتب كمتر از سرويس گيرندگان می باشد .
-
با استفاده از امكانات
موجود می توان سرويس دهندگان را پيكربندی
تا بتوانند از مجموعه پورت های محدود و تعريف شده ای با در نظر گرفتن مسائل امنيتی
، استفاده نمايند.
پيكربندی فايروال
جدول زير پيكربندی فايروال در
Active Mode و Passive Mode
را نشان می دهد .
Active
Mode |
Server Inbound |
from any client port >1024 to
port 21 on the server |
Server Outbound |
from port 20 on the client on
any port > 1024 |
Client Inbound |
ports 20 from the server to any port >1024 on
client |
Client Outbound |
from any port >1024 to port
21 on the server |
Passive
Mode |
Server Inbound |
port 21 and any port >1024 from
client/anywhere, from any port >1024 |
Server Outbound |
port 21 and any port >1024 to
client/anywhere, to any port >1024 |
Client Inbound |
Return traffic, any port > 1024 from server
using any port >1024 |
و
اما يك نكته ديگر در رابطه با پروتكل FTP !
در صورتی كه در زمان دريافت يك فايل با استفاده از پروتكل
FTP مشكلات خاصی ايجاد كه
منجر به قطع ارتباط با سرويس دهنده
FTP گردد ، سرويس گيرنده می تواند با مشخص كردن يك offset
از فايل دريافتی به سرويس دهنده اعلام نمايد كه عمليات ارسال را از جائی كه
ارتباط قطع شده است ، ادامه دهد ( سرويس گيرنده از محلی شروع به دريافت فايل می
نمايد كه ارتباط غيرفعال شده بود ) . استفاده از ويژگی فوق به امكانات سرويس دهنده
FTP بستگی دارد .