সক্রিয় এবং প্যাসিভ এফটিপি মধ্যে পার্থক্য কি?


312

সক্রিয় এবং প্যাসিভ এফটিপি-র মধ্যে পার্থক্য কি কেউ আমাকে বলতে পারেন?
কোনটি পছন্দনীয়?

উত্তর:


474

সক্রিয় এবং প্যাসিভ হ'ল এফটিপি যে দুটি মোড চালাতে পারে।

পটভূমির জন্য, এফটিপি আসলে ক্লায়েন্ট এবং সার্ভারের মধ্যে দুটি চ্যানেল ব্যবহার করে , কমান্ড এবং ডেটা চ্যানেলগুলি, যা আসলে পৃথক টিসিপি সংযোগগুলি।

কমান্ড চ্যানেলটি কমান্ড এবং প্রতিক্রিয়ার জন্য যখন ডেটা চ্যানেলটি আসলে ফাইল স্থানান্তর করার জন্য for

কমান্ড তথ্য এবং ডেটা পৃথক চ্যানেলে পৃথক করে বর্তমান ডাটা ট্রান্সফারটির অপেক্ষা না করে সার্ভারে কমান্ড প্রেরণে সক্ষম হওয়ার এক নব্বই উপায়। আরএফসি অনুসারে, এটি কেবলমাত্র কমান্ডের সাবসেটের জন্য বাধ্যতামূলক, যেমন প্রস্থান করা, বর্তমান স্থানান্তর বাতিল করা এবং স্থিতি পাওয়া।


ইন সক্রিয় মোড, ক্লায়েন্ট কমান্ড চ্যানেল স্থাপন কিন্তু সার্ভার ডেটা চ্যানেল প্রতিষ্ঠার জন্য দায়ী। এটি আসলে একটি সমস্যা হতে পারে যদি, উদাহরণস্বরূপ, ক্লায়েন্ট মেশিনটি ফায়ারওয়াল দ্বারা সুরক্ষিত থাকে এবং বাহ্যিক পক্ষগুলি থেকে অননুমোদিত অধিবেশন অনুরোধের অনুমতি না দেয়।

ইন প্যাসিভ মোড, ক্লায়েন্ট স্থাপন উভয় চ্যানেল। আমরা ইতিমধ্যে জানি এটি সক্রিয় মোডে কমান্ড চ্যানেলটি প্রতিষ্ঠিত করে এবং এটি এখানে এটি করে।

তবে এটির পরে সার্ভারকে (কমান্ড চ্যানেলে) ক্লায়েন্টের সাথে সংযোগ স্থাপনের পরিবর্তে কোনও পোর্টে (সার্ভারের বিবেচনার ভিত্তিতে) শোনার জন্য অনুরোধ করা হয়েছে।

এর অংশ হিসাবে, সার্ভার ক্লায়েন্টটি শুনতে পোর্টটি এটি চয়ন করার জন্য বেছে নিয়েছে, যাতে ক্লায়েন্ট কীভাবে এটির সাথে সংযোগ স্থাপন করতে পারে তা জানতে পারে।

ক্লায়েন্টটি এটি জানার পরে, এটি সফলভাবে ডেটা চ্যানেলটি তৈরি করতে এবং চালিয়ে যেতে পারে।

আরএফসিতে আরও বিশদ পাওয়া যায়: https://www.ietf.org/rfc/rfc959.txt


1
Y বন্দরটির চারপাশের বক্তব্যটি সঠিক বলে আমি মনে করি না, সক্রিয় মোডে ক্লায়েন্ট ওয়াই বন্দরটি নির্ধারণ করে না, সার্ভারটি এলোমেলোভাবে একটি বন্দর # বেছে নেওয়ার চেষ্টা করে এবং ক্লায়েন্টটি সেই নির্বাচিত পোর্টের মাধ্যমে যোগাযোগের অনুমতি দেয় কিনা তা দেখার চেষ্টা করে ries । আমি এটি বলার কারণটি হ'ল, যদি এটি সত্য না হয় (আমার যুক্তি) তবে ক্লায়েন্ট পক্ষ এমনকি ফায়ারওয়ালের পিছনে থাকলেও সর্বদা দুটি বহির্মুখী সংযোগের জন্য একটি এবং আগত সংযোগের জন্য একটি ফায়ারওয়াল দুটি নিয়ম তৈরি করতে পারে।
arun.raj.mon

1
অ্যারুন, ক্লায়েন্ট অগত্যা ফায়ারওয়ালের নিয়ন্ত্রণে নেই। উদাহরণ: কর্পোরেট পরিবেশে, সাধারণত সংস্থা-প্রশস্ত নেটওয়ার্ক এবং বাইরের বিশ্বের মধ্যে একটি ফায়ারওয়াল থাকে, যার উপরে ক্লায়েন্ট এফটিপি চালানো শূন্য শক্তি থাকে।
প্যাক্সডিয়াবলো

প্যাসিভ মোডে, কেন সার্ভার ক্লায়েন্টকে ক্লায়েন্টকে একটি এলোমেলো বন্দর পাঠায় পরিবর্তে ক্লায়েন্ট সরাসরি সার্ভার পোর্ট 20 এর সাথে সংযোগ স্থাপন করে?
চেঙ্গবো

@ প্যাক্সিডিয়াবলো প্যাসিভ মোডে, সার্ভার কেন একটি র্যান্ডম পোর্ট নং বরাদ্দ করে এবং ডেটা সংযোগের জন্য ক্লায়েন্টকে পাঠায়? কেন ক্লায়েন্ট সরাসরি ক্লায়েন্ট পোর্ট থেকে সার্ভারের পাশে 20 নম্বর পোর্টে কোনও ডেটা চ্যানেল খুলতে পারে না?
Zephyr

1
আমি এখনই প্রশ্নটি জিজ্ঞাসা করেছি নেটওয়ারেনজেনারিং.স্ট্যাকেক্সেঞ্জা.কম
জেফির

166

আমি সম্প্রতি আমার কাজের জায়গায় এই প্রশ্নটি চালিয়েছি যাতে আমার মনে হয় এখানে আরও কিছু বলা উচিত। পূর্ববর্তী উত্তরের জন্য কীভাবে অতিরিক্ত উত্স হিসাবে FTP কাজ করে তা বোঝাতে আমি চিত্রটি ব্যবহার করব।

সক্রিয় মোড:

সক্রিয় মোড


প্যাসিভ মোড:

এখানে চিত্র বর্ণনা লিখুন


একটি সক্রিয় মোড কনফিগারেশনে, সার্ভারটি এলোমেলো ক্লায়েন্ট-সাইড পোর্টের সাথে সংযোগ স্থাপনের চেষ্টা করবে। সম্ভাবনা রয়েছে, সেই বন্দরটি পূর্বনির্ধারিত বন্দরগুলির মধ্যে একটি হবে না। ফলস্বরূপ, এটির সাথে সংযোগ স্থাপনের একটি প্রচেষ্টা ফায়ারওয়াল দ্বারা অবরুদ্ধ হয়ে যাবে এবং কোনও সংযোগ স্থাপন করা হবে না।

এখানে চিত্র বর্ণনা লিখুন


প্যাসিভ কনফিগারেশনটিতে এই সমস্যা থাকবে না যেহেতু ক্লায়েন্টই সংযোগের সূচনা করবে। অবশ্যই সার্ভারের পক্ষে ফায়ারওয়াল থাকাও সম্ভব। তবে, যেহেতু সার্ভারটি ক্লায়েন্টের তুলনায় সংখ্যক সংখ্যক সংখ্যক সংখ্যক সংখ্যক অনুরোধ পেয়েছে, তাই সার্ভার অ্যাডমিনের পক্ষে পরিস্থিতিটির সাথে খাপ খাইয়ে নেওয়া এবং প্যাসিভ মোড কনফিগারেশনগুলিকে সন্তুষ্ট করার জন্য পোর্টগুলির একটি নির্বাচন উন্মুক্ত করা যুক্তিযুক্ত হবে be

আপনার পক্ষে প্যাসিভ মোড এফটিপি সমর্থন করার জন্য সার্ভারটি কনফিগার করা ভাল। যাইহোক, প্যাসিভ মোড আপনার সিস্টেমে আক্রমণগুলিতে ঝুঁকিপূর্ণ করে তুলবে কারণ ক্লায়েন্টদের র্যান্ডম সার্ভার পোর্টগুলির সাথে সংযোগ স্থাপন করার কথা। সুতরাং, এই মোডটি সমর্থন করার জন্য, কেবল আপনার সার্ভারকে একাধিক পোর্ট উপলব্ধ থাকতে হবে না, আপনার ফায়ারওয়ালকে সেই সমস্ত পোর্টের সাথে সংযোগগুলিও মঞ্জুর করতে হবে!

ঝুঁকিগুলি হ্রাস করতে, একটি ভাল সমাধান হ'ল আপনার সার্ভারে পোর্টের একটি ব্যাপ্তি নির্দিষ্ট করা এবং তারপরে কেবল আপনার ফায়ারওয়ালে কেবলমাত্র পঞ্জির পরিসরকেই অনুমতি দেওয়া।

আরও তথ্যের জন্য, দয়া করে অফিসিয়াল ডকুমেন্টটি পড়ুন


আমি কেবল অনুমান করছি যেটি সুরক্ষা সমস্যা। যদি সার্ভার একই পোর্টটি শুনতে পায় (20) তবে এটি বুঝতে পারে না কোন ক্লায়েন্ট কথা বলছে, তাই এটি একটি এলোমেলো বন্দরটি চয়ন করে ক্লায়েন্টকে প্রেরণ করে, সেই পোর্টটি শুনতে শুরু করে। যখন ক্লায়েন্ট সেই পোর্টের সাথে সংযুক্ত থাকে, সার্ভারটি জানায় যে এটি কোন ক্লায়েন্টের অন্তর্ভুক্ত। তবে একটি এমআইটিএমের পক্ষে একই ক্লায়েন্টের সাথে সংযোগ স্থাপন করা যথেষ্ট। (ভাল, এখানে মিটম আক্রমণ যাইহোক জটিল ...)
ড্যানিয়েল ক্রুসিয়ানি

2
দুর্দান্ত উত্তর, বিশেষত ফায়ারওয়াল সমস্যা সম্পর্কিত তথ্য
আন তুয়ান

14

আমার নিবন্ধের এফটিপি সংযোগ মোডের সক্রিয় সংস্করণ (অ্যাক্টিভ বনাম প্যাসিভ) :

এফটিপি সংযোগ মোড (সক্রিয় বা প্যাসিভ), কীভাবে ডেটা সংযোগ স্থাপন করা হয় তা নির্ধারণ করে। উভয় ক্ষেত্রেই, কোনও ক্লায়েন্ট একটি এফটিপি সার্ভার কমান্ড পোর্ট 21-তে একটি টিসিপি নিয়ন্ত্রণ সংযোগ তৈরি করে। এটি অন্য কোনও ফাইল ট্রান্সফার প্রোটোকল (এসএফটিপি, এসসিপি, ওয়েবডিএভি) বা অন্য কোনও টিসিপি ক্লায়েন্ট অ্যাপ্লিকেশন (যেমন ওয়েব ব্রাউজার) এর মতো এটি একটি প্রমিত আউটগোয়িং সংযোগ is )। সুতরাং, সাধারণত নিয়ন্ত্রণ সংযোগটি খোলার সময় কোনও সমস্যা হয় না।

অন্যান্য ফাইল ট্রান্সফার প্রোটোকলগুলির সাথে তুলনা করার ক্ষেত্রে এফটিপি প্রোটোকল আরও জটিল, ফাইল স্থানান্তর। অন্যান্য প্রোটোকলগুলি সেশন নিয়ন্ত্রণ এবং ফাইল (ডেটা) স্থানান্তর উভয়ের জন্য একই সংযোগ ব্যবহার করার সময়, এফটিপি প্রোটোকল ফাইল স্থানান্তর এবং ডিরেক্টরি তালিকার জন্য একটি পৃথক সংযোগ ব্যবহার করে।

ইন সক্রিয় মোড, ক্লায়েন্ট সার্ভার থেকে আগত তথ্য সংযোগের একটি র্যান্ডম পোর্টে শোনার শুরু (ক্লায়েন্ট এফটিপি কমান্ড পাঠায়PORT সার্ভার পোর্ট তে এটি শুনছে অবহিত)। আজকাল, এটি সাধারণ যে ক্লায়েন্টটি ফায়ারওয়ালের (যেমন অন্তর্নির্মিত উইন্ডোজ ফায়ারওয়াল) বা NAT রাউটারের (যেমন ADSL মডেম) পিছনে রয়েছে, আগত টিসিপি সংযোগগুলি গ্রহণ করতে অক্ষম।

এই কারণে প্যাসিভ মোড চালু হয়েছিল এবং বর্তমানে বেশিরভাগ ক্ষেত্রেই ব্যবহৃত হয়। প্যাসিভ ব্যবহার মোডটি করা পছন্দনীয় কারণ বেশিরভাগ জটিল কনফিগারেশনটি কেবলমাত্র সার্ভারের পাশে অভিজ্ঞ প্রশাসক দ্বারা, ক্লায়েন্টের পক্ষ থেকে পৃথক পৃথক পৃথক পরিবর্তে (সম্ভবত) অনভিজ্ঞ ব্যবহারকারী দ্বারা করা হয়।

ইন প্যাসিভ মোড, ক্লায়েন্ট নিয়ন্ত্রণ সংযোগ ব্যবহার একটি পাঠাতেPASV সার্ভারে কমান্ড এবং তারপর সার্ভার, যা ক্লায়েন্ট তারপর সার্ভার IP ঠিকানা এবং সার্ভারে কোনও ডেটা সংযোগ খুলতে ব্যবহার থেকে একটি সার্ভার IP ঠিকানা এবং সার্ভারের পোর্ট সংখ্যা গ্রহণ করে পোর্ট নম্বর প্রাপ্ত

প্যাসিভ মোডের জন্য নেটওয়ার্ক কনফিগারেশন

সঙ্গে প্যাসিভ মোডে, কনফিগারেশন বোঝা অধিকাংশ সার্ভার দিকে থাকে। সার্ভার প্রশাসকের নীচে বর্ণিত হিসাবে সার্ভার সেটআপ করা উচিত।

এফটিপি সার্ভারের পাশের ফায়ারওয়াল এবং নাটকে কেবল এফটিপি পোর্ট ২১-এ আগত সংযোগগুলিকে অনুমতি / রুট করার জন্যই নয়, আগত ডেটা সংযোগের জন্য একাধিক পোর্টের কনফিগার করতে হবে। সাধারণত, এফটিপি সার্ভার সফ্টওয়্যারটিতে পোর্টগুলির একটি পরিসর সেটআপ করার জন্য একটি কনফিগারেশন বিকল্প রয়েছে, সার্ভারটি ব্যবহার করবে। এবং একই পরিসরটি ফায়ারওয়াল / NAT এ খুলতে / রাউটে করতে হয়।

যখন এফটিপি সার্ভারটি একটি NAT এর পিছনে থাকে, তখন এটির বাহ্যিক আইপি ঠিকানাটি জানতে হবে, সুতরাং এটি PASVকমান্ডের প্রতিক্রিয়াতে ক্লায়েন্টকে সরবরাহ করতে পারে ।

অ্যাক্টিভ মোডের জন্য নেটওয়ার্ক কনফিগারেশন

সঙ্গে সক্রিয় মোড, কনফিগারেশন বোঝা অধিকাংশ ক্লায়েন্ট দিকে থাকে।

আগত ডেটা সংযোগের জন্য ক্লায়েন্টের পক্ষের ফায়ারওয়াল (যেমন উইন্ডোজ ফায়ারওয়াল) এবং NAT (যেমন এডিএসএল মডেম রাউটিং বিধি) কনফিগার করতে হবে / পোর্টের একটি পরিসরকে অনুমতি দিতে। উইন্ডোজে পোর্টগুলি খুলতে কন্ট্রোল প্যানেল> সিস্টেম ও সুরক্ষা> উইন্ডোজ ফায়ারওয়াল> অ্যাডভান্সড সেটিংস> ইনবাউন্ড বিধি> নতুন নিয়মে যান । NAT এ পোর্টগুলি রাউটিং করার জন্য (যদি থাকে), এর ডকুমেন্টেশনটি দেখুন।

আপনার নেটওয়ার্কে NAT থাকলে এফটিপি ক্লায়েন্টকে তার বাহ্যিক আইপি ঠিকানা জানতে হবে যা উইনসিসিপি PORTকমান্ড ব্যবহার করে এফটিপি সার্ভারকে সরবরাহ করতে হবে । যাতে সার্ভারটি সঠিকভাবে ক্লায়েন্টের সাথে ডেটা সংযোগটি খোলার জন্য আবার সংযোগ করতে পারে। কিছু এফটিপি ক্লায়েন্ট বাহ্যিক আইপি অ্যাড্রেসটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে সক্ষম, কিছুকে ম্যানুয়ালি কনফিগার করতে হবে।

স্মার্ট ফায়ারওয়ালস / ন্যাটস

কিছু ফায়ারওয়াল / নাটগুলি এফটিপি নিয়ন্ত্রণ সংযোগ পরিদর্শন করে এবং / অথবা নিয়ন্ত্রণ সংযোগ ট্র্যাফিকে ডেটা সংযোগ আইপি ঠিকানাগুলি অনুবাদ করে ডেটা পোর্টগুলি স্বয়ংক্রিয়ভাবে খুলতে / বন্ধ করার চেষ্টা করে।

যেমন একটি ফায়ারওয়াল / NAT দিয়ে, উপরের কনফিগারেশনটি সরল আনইনক্রিপ্ট করা FTP- র জন্য প্রয়োজনীয় নয়। তবে এটি এফটিপিএসের সাথে কাজ করতে পারে না, কারণ নিয়ন্ত্রণ সংযোগ ট্র্যাফিক এনক্রিপ্ট করা হয়েছে এবং ফায়ারওয়াল / এনএটি এটি পরীক্ষা বা পরিবর্তন করতে পারে না।



1

অ্যাক্টিভ মোড client ক্লায়েন্ট সার্ভারকে একটি পোর্ট কমান্ড জারি করে যে এটি ক্লায়েন্টের কাছে ডেটা সংযোগটি খোলার জন্য "সক্রিয়ভাবে" একটি আইপি এবং পোর্ট নম্বর সরবরাহ করবে।

প্যাসিভ মোড client ক্লায়েন্ট একটি আইপি এবং পোর্ট নম্বর সরবরাহ করার জন্য সার্ভারের জন্য "প্যাসিভলি" অপেক্ষা করবে তা বোঝাতে একটি প্যাসভি কমান্ড জারি করে, তারপরে ক্লায়েন্টটি সার্ভারে একটি ডেটা সংযোগ তৈরি করবে।

উপরে অনেকগুলি ভাল উত্তর রয়েছে, তবে এই ব্লগ পোস্টটিতে কিছু সহায়ক গ্রাফিক্স অন্তর্ভুক্ত রয়েছে এবং এটি একটি দুর্দান্ত দৃ explanation় ব্যাখ্যা দেয়: https://titanftp.com/2018/08/23/ কি-is-tif--between-active- এবং -passive-FTP /

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.