পরিবেশের ভেরিয়েবলগুলি কি লিনাক্সে অনিবদ্ধ ব্যবহারকারীদের জন্য দৃশ্যমান?


12

আমি নির্ধারণ করার চেষ্টা করছি যে, লিনাক্সে, কোনও প্রক্রিয়াটির জন্য পরিবেশের ভেরিয়েবলগুলি অন্যান্য (মূলবিহীন) ব্যবহারকারীদের দ্বারা পর্যবেক্ষণযোগ্য কিনা।

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

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

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

আমার পরীক্ষাগুলিতে একটি অনিবদ্ধ ব্যবহারকারী প্রসেস টেবিলের মাধ্যমে অন্য ব্যবহারকারীর জন্য পরিবেশের পরিবর্তনগুলি পর্যবেক্ষণ করতে পারে না ('পিএস অক্সউ') ' পরিবেশে পরিবর্তনশীল (যেমন রফতানি) নির্ধারণ করে এমন কমান্ডগুলি শেল বিল্টিন যা প্রসেস টেবিলের উপরে তৈরি করে না এবং এক্সটেনশনের মাধ্যমে / proc / id pid / cmdline এ থাকে না। / proc / id pid / এনভায়রনমেন্ট কেবলমাত্র প্রক্রিয়া মালিকের ইউআইডি দ্বারা পঠনযোগ্য।

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

লিনাক্সে, কোনও অ-সুযোগ-সুবিধা প্রাপ্ত ব্যবহারকারী কীভাবে অন্যের প্রক্রিয়াগুলির জন্য পরিবেশের পরিবর্তনগুলি পর্যবেক্ষণ করতে পারে?

উত্তর:


7

গিলস যেমন সুরক্ষা.স্ট্যাকেক্সচেঞ্জ ডটকম-এ একটি অনুরূপ প্রশ্নের খুব বিস্তৃত উত্তরে ব্যাখ্যা করেছেন , প্রক্রিয়া পরিবেশটি কেবলমাত্র ব্যবহারকারী (যার অবশ্যই মূল প্রক্রিয়া) এর মালিক তার কাছে অ্যাক্সেসযোগ্য।


আপনি যে পোস্টটির অর্থ দিয়েছিলেন তার কোনও লিঙ্ক?
সাইক 115

@ সাইক 115 "উত্তর" শব্দটিতে ক্লিক করুন :)
গুন্টবার্ট

6

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

আপনি কেবল 2 পরিবেশে পরিবেশে পরিবর্তনশীল সঞ্চিত ডেটা অ্যাক্সেস করতে পারবেন:

1. প্রক্রিয়া চলমান পরিবেশ

প্রক্রিয়াটি চলাকালীন, সেই প্রক্রিয়াটির পরিবেশের ভেরিয়েবলগুলি অ্যাক্সেস করা যায় /proc/$PID/environ। তবে, কেবলমাত্র সেই ব্যবহারকারী যা প্রক্রিয়াটির মালিক, বা মূল, সেই ফাইলটি অ্যাক্সেস করতে পারবেন।

2. পরিবেশের পরিবর্তনশীলগুলির উত্স

আপনি যদি একটি init স্ক্রিপ্ট ব্যবহার করছেন এবং ভেরিয়েবলগুলি সেই আরআর স্ক্রিপ্টে সংরক্ষণ করা হয় তবে অবশ্যই সেই স্ক্রিপ্টটি পড়ে ভেরিয়েবলগুলি পাওয়া যায়।

বা যদি পরিবেশের ভেরিয়েবলগুলি অন্য কোথাও থেকে আসে, তবে যেখানেই হোক।

৩. 'পিএস' আউটপুট

হ্যাঁ, আমি জানি যে আমি বলেছিলাম 2, এবং যে কোনও শালীন পদ্ধতিতে এটি 2 হবে However তবে অ্যাডমিন যদি জানেন না যে তিনি কী করছেন, তবে 3 য় অ্যাভিনিউ খোলা সম্ভব।

প্রক্রিয়া যদি এমন কোনও কিছুর মাধ্যমে চালু করা হয় sh -c 'cd /foo/bar; POP=tart /my/executable', তবে সেই shপ্রক্রিয়াটি এতে দৃশ্যমান হবে ps:

$ sh -c 'cd /; POP=tart sleep 10' &
[1] 3085

$ ps ax | grep POP
phemmer   3085  14   5  0.0  0.0 SN         00:00 sh -c cd /; POP=tart sleep 10

1
আপনি এছাড়াও eসংশোধক উল্লেখ করা উচিত ps। এটি কেবলমাত্র ব্যবহারকারীদের নিজস্ব প্রক্রিয়াগুলির পরিবেশনা দেখার অনুমতি দেয়।
বর্মার

1
আরও একটি সম্ভাব্য অবস্থান: যদি পরিবেশের পরিবর্তনশীলটি শেল (উদাহরণস্বরূপ export FOO=bar) এর মাধ্যমে সেট করা থাকে তবে এটি ইতিহাসের ফাইলটিতেও উপস্থিত হতে পারে (উদাহরণস্বরূপ ~/.bash_history) যদি ব্যবহারকারী এটি সংরক্ষণ থেকে রক্ষা না রাখার জন্য সতর্কতা অবলম্বন না করে বা অপসারণ করে।
tavnab
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.