ডকার পাত্রে নেটওয়ার্ক অ্যাক্সেস সীমাবদ্ধ


14

আমি একটি এসএফটিপি কেবলমাত্র ডকার কনটেইনার তৈরির প্রক্রিয়াধীন , এটি একাধিক ব্যক্তি তাদের নিজস্ব chrootপরিবেশ পরিবেশে ফাইলগুলি আপলোড এবং পরিচালনার একক উদ্দেশ্যে ব্যবহার করবে ।

কাগজে, এটি বেশ সুরক্ষিত: আমি bashলগইন প্রতিটি ফর্ম অক্ষম করব , এবং আমি এটিতে অন্য কোনও প্রক্রিয়া চালাব না। তবে আমি এটি আরও কিছুটা আরও শক্ত করতে চাই:

এসএফটিপি সার্ভার হওয়ার উদ্দেশ্য ব্যতীত আমি এই ধারকটিকে ভিতরে থেকে ইন্টারনেট অ্যাক্সেস করা থেকে বিরত রাখতে চাই।

বিষয়গুলি পরিষ্কার করার জন্য: আমি জানি যে কীভাবে বাইরের বিশ্বকে আমার ধারক অ্যাক্সেস করা থেকে বিরত রাখতে হবে - আমি আগত iptablesনিয়মগুলি সেটআপ করতে পারি এবং আমি আমার ডকার রান কমান্ডের মধ্যে কেবল এসএফটিপি পোর্টকেই প্রকাশ করতে পারি।

তবে আমি ধারকটির ভিতরে দৌড়ানোর সময় নিম্নলিখিত কমান্ডটি (উদাহরণ হিসাবে) ব্যর্থ করতে চাই :

curl google.com

আমার উদ্দেশ্য হ্যাকড কনটেইনার যে পরিমাণ ক্ষয়ক্ষতি করতে পারে তা হ্রাস করা (স্প্যাম ইমেল প্রেরণে ব্যবহার করতে সক্ষম না হওয়া ইত্যাদি)।


এখানে বেশ কয়েকটি দর্শনীয় অনুরোধ রয়েছে যা এই ধরণের স্টাফগুলিতে সহায়তা করতে পারে। # 6743 যা আপনাকে ধারকটি শুরু হওয়ার আগে হোস্টের উপরে iptables নিয়মগুলি প্রাক-তৈরি করতে দেয় এবং # 6982 যা কনটেইনার শুরু হওয়ার সাথে সাথে আপনাকে iptables নিয়ম যুক্ত করতে দেয়।
প্যাট্রিক

ডকার আপনাকে একটি ধারকের নেটওয়ার্ক ইন্টারফেসের উপর সম্পূর্ণ নিয়ন্ত্রণ দেয়; ডকার কীভাবে একটি ধারক নেটওয়ার্ক করে তা দেখুন । উদাহরণস্বরূপ, --net=noneপতাকাটি সেট করা docker runসমস্ত বাহ্যিক নেটওয়ার্ক অ্যাডাপ্টারকে অক্ষম করবে, আপনাকে নিজের যোগ করতে এবং নেটওয়ার্ক ট্রাফিক নিয়মগুলিকে কাস্টমাইজ করতে সক্ষম করে।
এসএফসিসি

উত্তর:


4

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


ঠিক আছে, সুতরাং এমন কিছু মন্তব্য পাওয়ার পরে যা বোঝায় যে ফিল্টারিংটি ধারকটির হোস্টের উদ্দেশ্যে করা হয়েছিল, এটি কী পরিষ্কার করার চেষ্টা করছে তা একটু পরিষ্কার। হোস্টে কোন ক্ষেত্রে আপনি এর মতো কিছু নিয়ম যুক্ত করবেন:

iptables -A FORWARD -s lo.cal.sub.net -d con.tai.ner.ip -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -d lo.cal.sub.net -j ACCEPT
iptables -A FORWARD -s ! lo.cal.sub.net -d con.tai.ner.ip -p tcp --dport sftp -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -d ! lo.cal.sub.net -p tcp --sport sftp -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -m state --state related,established -j ACCEPT
iptables -A FORWARD -s con.tai.ner.ip -j DROP

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


আকর্ষণীয় ডাউনওয়েট, প্রদত্ত যে ধারকটির সামগ্রীতে সম্পূর্ণ বিশ্বাস না রেখে কনটেইনারটির ভিতরে এটি করার কোনও উপায় নেই
অ্যাভেরি পেইন

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

(দীর্ঘশ্বাস) কেবলমাত্র 6 ঘন্টা ঘুমের সময় আমার উত্তরগুলি আর লেখা উচিত নয়। আমি দেওয়া উত্তর সংশোধন করেছি।
অ্যাভেরি পেইন

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

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

1

এটি আসলে কোনও ডকার নির্দিষ্ট সমস্যা নয়। আপনি এটি সমাধান করতে পারে এমন কয়েকটি উপায় রয়েছে।

  1. iptablesসংযোগগুলি অন্তর্মুখী এবং সম্পর্কিত / প্রতিষ্ঠিত ট্র্যাফিকের অনুমতি দেওয়ার জন্য রাষ্ট্রীয় নিয়মগুলি ব্যবহার করুন তারপরে অন্য সমস্ত কিছু অবরুদ্ধ করুন।

  2. কেবলমাত্র SFP পরিষেবাদি যেমন ProFTPD ব্যবহার করুন যা শেল চালাতে অক্ষম।

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


১) ডকার ডিফল্টরূপে নিজস্ব কিছু বিধিগুলি সেট আপ করে এবং এর মধ্যে সংযুক্তকরণ ইতিমধ্যে স্থানে ক্যাচ-এলিশ নিয়ম থাকায় কিছুই করতে পারে না এবং প্রিপেন্ডিং যদি কোনও সতর্ক না হয় তবে বিদ্যমান কার্যকারিতা (যেমন লিঙ্কগুলি) ভেঙে দেবে, সুতরাং এটি তুচ্ছ নয়। ২) প্রশ্নের উত্তর দেয় না। এবং ওপি ইতিমধ্যে এটি সেট আপ। এছাড়াও, আমার ব্যবহারের কেস আলাদা।
তার্নে কলমেন

0

এটি কেবলমাত্র একটি দ্রুত বুদ্ধি এবং আমি এখনও এটি পরীক্ষা করে দেখিনি। আপনি এটি পরীক্ষায় নেওয়ার আগে ল্যাবটিতে এটি পরীক্ষা করতে চান।

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

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

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

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