ডকার / এলএক্সসিতে অ্যাপআরএম প্রোফাইলগুলি


11

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


কেন আপনি ধারকটির ভিতরে অ্যাপারমার ব্যবহার করতে চান?
c4f4t0r

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

উত্তর:


8

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

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

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

দৃশ্যত AppArmor উবুন্টুতে LXC এর সাথেও সমর্থিত ।

আপনার অ্যাপ্লিকেশনটির জন্য আপনার একটি অ্যাপআর্মার প্রোফাইল লেখা উচিত এবং কনটেনারের অভ্যন্তরীণ প্রক্রিয়াগুলি শুরু করার আগে এটি LXC / libcontainer / ডকার / ... এটি লোড করা উচিত তা নিশ্চিত করা উচিত।

এইভাবে ব্যবহৃত প্রোফাইলগুলি প্রয়োগ করা উচিত এবং এটি পরীক্ষা করার জন্য আপনার একটি অবৈধ অ্যাক্সেসের চেষ্টা করা উচিত এবং নিশ্চিত হওয়া উচিত যে এটি ব্যর্থ হয়েছে।

এই ক্ষেত্রে বাইনারি এবং প্রকৃত প্রয়োগকারী প্রোফাইলের মধ্যে কোনও লিঙ্ক নেই। আপনার ধারকটির জন্য এই প্রোফাইলটি ব্যবহার করার জন্য আপনাকে স্পষ্টভাবে ডকার / এলএক্সসিকে বলতে হবে। মাইএসকিউএল বাইনারি জন্য একটি প্রোফাইল লেখার এটি কেবল হোস্টের উপর প্রয়োগ করা হবে, ধারকটিতে নয়।


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

@ সিওজম: এলসিএক্স! = লাইবকন্টেইনার। প্রশ্নটি ছিল এলএক্সসি ড্রাইভার সম্পর্কে।
0xC0000022L

@ 0xC0000022L: পাত্রে প্রক্রিয়াগুলিকে সীমাবদ্ধ করতে ব্যবহৃত কোনও সরঞ্জামের জন্য AppArmor প্রোফাইল প্রয়োগকারী মডেলটি একই।
সায়োসম

3

উত্তর খুব সম্ভবত: না।

উবুন্টু সার্ভার নির্দেশিকা বিষয় LXC আলোচনা প্রায় কাছাকাছি আপনার সঠিক প্রশ্ন ও নিম্নোক্ত বিবৃতি তোলে:

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

অবাঞ্ছিত প্রভাব থাকার শোষণ এড়ানোর জন্য একটি ভাল বিকল্প হ'ল কনটেইনারটি চালিত ব্যবহারকারীকে সীমাবদ্ধ রাখা এবং কার্নেলের বৈশিষ্ট্যটি উপভোগ করার জন্য পাত্রে ব্যবহার করা । যাইহোক, dockerবর্তমানে - আমার জ্ঞানের - সমর্থন করে না userns

এরকম ক্ষেত্রে মাইএসকিউএল - হোস্ট দৃষ্টিকোণ থেকে - অনিবদ্ধ ব্যবহারকারী হিসাবে চালানো হবে, যখন ধারকটির ভিতরে এটি চালানো যেতে পারে root। তারপরে iptablesআপনি প্রয়োজনের সাথে মাইএসকিউএলটিকে হোস্টের একটি বাহ্যিক বন্দরে আবদ্ধ করতে ব্যবহার করতে পারেন।

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