অ্যাপ্লিকেশন স্তরে অদলবদল অক্ষম করা যেতে পারে?


10

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

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

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


2
সম্পর্কিত আপনি মূলত একটি সিগ্রুপ তৈরি করবেন, সুরের অদলবদল করুন যাতে এটি কখনই বদলে না যায় এবং এতে cgexecবজ্রপাত হতে পারে। আপনার এখনও রুট অ্যাক্সেসের প্রয়োজন, তবে এটি অ্যাডমিন-স্তরের রেজোলিউশন। আপনি যদি নিজের অ্যাপ্লিকেশন বিকাশ করছেন তবে আপনি মলক ব্যবহার করবেন
ব্র্যাচলে

1
জিপিজি ইতিমধ্যে কল করতে পারে mlock, আপনার চেক করা উচিত।
স্টিভ উইলস

ধন্যবাদ! আমি এখনও সিগ্রুপ সম্পর্কে জানতাম না, তারা আকর্ষণীয় বলে মনে হচ্ছে।
ব্যবহারকারী54114

1
@SteveWills এটা আছে। থান্ডারবার্ড সম্পর্কে নিশ্চিত না, যা ডিক্রিপ্টেড ফলাফল প্রদর্শন করছে।
ব্যবহারকারী54114

@ ব্র্যাচলে, আপনি কি একটি উত্তর দিতে পারেন? আমি জানতাম না আপনি সিগ্রুপগুলির জন্য স্বচ্ছতা নির্ধারণ করতে পারবেন, এটি আকর্ষণীয় মনে হচ্ছে।
frostschutz

উত্তর:


9

মন্তব্যে, আমি আপনাকে একটি সিগ্রুপ তৈরির পরামর্শ দিয়েছি, memory.swappinessশূন্যে সেট করে ( স্ব্যাপিং কমিয়ে আনতে) এবং এর মধ্যে আপনার অ্যাপ্লিকেশনটি চালিত করব। যদি আপনি এটি করেন তবে আপনার শারীরিক স্মৃতিতে অবিশ্বাস্যভাবে কম চালানো না থাকলে সম্ভবত আপনার অ্যাপ্লিকেশনটি অদলবদল করবে না যে c সিগ্রুপের প্রোগ্রামগুলির জন্য পৃষ্ঠাগুলি অদলবদল করা যথেষ্ট শারীরিক স্মৃতি উপলব্ধ করার একমাত্র উপায় ছিল।

RHEL 6.5 এ এটি করতে:

  • libcgroupপ্যাকেজ ইনস্টল করা আছে তা নিশ্চিত করুন । এটি আপনাকে ইউজারস্পেস সরঞ্জামগুলিতে cgcreateএবং এর মত অ্যাক্সেস দেয় cgexec

  • cgconfigপরিষেবাটি চালু করুন এবং সক্ষম করুন যাতে সিগ্রুপ কনফিগারেশনে পরিবর্তনগুলি পুনরায় বুটের মধ্যে স্থির থাকে। আরএইচইএলে এই পরিষেবাটি /cgroupগাছের নীচে প্রয়োজনীয় ফাইল সিস্টেমগুলিও মাউন্ট করা উচিত ।

  • এর সাথে সিগ্রুপ তৈরি করুন cgcreate -g memory:thunderbird

  • এর সাথে এই গ্রুপে অদলবদলকে শূন্যে সেট করুন cgset -r memory.swappiness=0 thunderbird

  • পরিষেবার cgsnapshot -s > /etc/cgconfig.confজন্য একটি আপডেট ধ্রুবক কনফিগারেশন সংরক্ষণ করতে ব্যবহার করুন cgconfig(এখন পর্যন্ত সমস্ত পরিবর্তন আপ রানটাইম পরিবর্তিত হয়েছে You আপনি সম্ভবত ডিফল্ট কনফিগারেশন ফাইলটি কোথাও সংরক্ষণ করতে এবং স্থির কনফিগারেশন করার আগে এটি একবারে দিতে চান want

  • আপনি এখন সিগ্রুপের cgexecমধ্যে কাঙ্ক্ষিত অ্যাপ্লিকেশন শুরু করতে ব্যবহার করতে পারেন thunderbird:

    [মূল @ xxx601 ~] # সিজেক্সেক-জি মেমরি: থান্ডারবার্ড ls

    anaconda-ks.cfg a.out foreman.log index.html install.log.syslog node.pp স্লিপ স্লিপ সিএসএস-বিল্ড স্ট্যাক পরীক্ষা

    [মূল @ xxx601 ~] #

আমি thunderbirdআসলে ইনস্টল না করে অন্যথায় আমি এটি করে ফেলতাম। উপরের ফর্ম্যাটিংটি কেন গণ্ডগোল হয়েছে তা নিশ্চিত নয়।

  • এর বিকল্প cgexecহ'ল থান্ডারবার্ড শুরু করা এবং tasksঅ্যাপ্লিকেশনটির জন্য ফাইলটিতে পিআইডি যুক্ত করা । উদাহরণ স্বরূপ:

    [মূল @ xxx601 ~] # বিড়াল / সিগ্রুপ / মেমরি / থান্ডারবার্ড / কার্যগুলি

    [মূল @ xxx601 ~] # পিডোফ httpd

    25926 10227 10226 10225 10163 10162 10161 10160 10159 10157 10156 10155 10152 10109

    [মূল @ xxx601 ~] # প্রতিধ্বনি 25926> / সিগ্রুপ / মেমরি / থান্ডারবার্ড / কার্যসমূহ

    [মূল @ xxx601 ~] # বিড়াল / সিগ্রুপ / মেমরি / থান্ডারবার্ড / কার্যগুলি

    25926

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


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


@ গিলস উল্লেখ করেছেন যে সমস্ত অন্যান্য fs এর সমস্ত পরিচালনা করতে আপনিও chrootএকটি unshareডি --mountনেমস্পেসে চাইবেন বলে আমি মনে করি। এটি করুন এবং আমি শেষের পারফরম্যান্সের প্রভাবটি কোনও এনক্রিপ্ট হওয়া অদলবদলের চেয়ে ভাল bet
মাইকজার্ভ

হ্যাঁ সন্দেহ নেই যে কোনও প্রশাসক কেবলমাত্র এত কিছু করতে পারে, শেষ পর্যন্ত অ্যাপ্লিকেশনটিকে এই ধরণের জিনিসগুলি বিবেচনায় নেওয়া দরকার কারণ অ্যাডমিন-স্তরের নিয়ন্ত্রণগুলি বেশ বিস্তৃত হতে পারে।
ব্র্যাচলে

memory.swappiness=0আপনি কি মনে করেন এমনকি একটি স্বেচ্ছাসেবীর প্রক্রিয়াটি কী ঘটে তা প্রকাশ করার জন্য কি এখনও কোনও কর্ডাম্প পরীক্ষা করা যেতে পারে ? আমি জানতাম না - তবে আমি কৌতূহলী।
মাইকজার্ভ

1
হ্যাঁ তবে এটি ম্লকযুক্ত অ্যাপ্লিকেশন সহ প্রায় কোনও কিছুর ক্ষেত্রে সত্য তবে তা করবেন না MADV_DONTDUMP। যদিও বেশিরভাগ সময় সংবেদনশীল তথ্য অদলবদল করতে উদ্বিগ্ন লোকেরা ল্যাপটপগুলি চুরি হয়ে যায় এবং অদলবদলটি কম্বাইড হওয়ার বিষয়ে চিন্তিত থাকে। এই মুহুর্তে তারা কোর ডাম্পগুলি শুরু করছে সিস্টেমটি ইতিমধ্যে সম্পূর্ণ সমঝোতা হয়ে গেছে।
ব্র্যাচলে

5

অ্যাপ্লিকেশনগুলি তাদের স্মৃতিটিকে লক করতে পারে যাতে এটি অদলবদল করা যায় না।

mlock, munlock, mlockall, munlockall - lock and unlock memory

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

এছাড়াও মেমলকের সাথে এমনকি আপনার অদলবদল বিভক্ত হওয়ার সম্ভাবনা রয়েছে - যখন আপনি ডিস্কে সাসপেন্ড ব্যবহার করেন যা কোনও স্মৃতিবিহীন পছন্দ পছন্দ না করেই ডিস্কে সমস্ত মেমরি লেখায়।

প্রথম স্থানে পুরো ডিস্ক এনক্রিপশন নেওয়া আরও সহজ।


5

হ্যাঁ, একটি অ্যাপ্লিকেশন mlockসিস্টেম কলের সাহায্যে এর কিছু স্মৃতি থেকে সরে যেতে বাধা দিতে পারে । তবে এটি আপনার ক্ষেত্রে সত্যই কার্যকর নয়।

গোপনীয় তথ্য কেবল অ্যাপ্লিকেশন মেমরিতে থাকে না। এটি বিভিন্ন স্থান (অস্থায়ী ফাইল শেষ পর্যন্ত /tmp, /var/spool, ইত্যাদি)। থান্ডারবার্ড নিজেই ডিক্রিপ্ট করা ইমেল প্রদর্শন করছে, সুতরাং আপনাকে এটি র‌্যামেও লক করতে হবে।

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

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


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

0

আমি কেবল ভাবছি যদি উদাহরণস্বরূপ অ্যাপ্লিকেশন প্রক্রিয়াটির অগ্রাধিকার পরিবর্তন করা শুরু করা ভাল তবে উদাহরণস্বরূপ একটি স্টার্ট-আপ স্ক্রিপ্টটি এটি উচ্চ অগ্রাধিকারের সাথে শুরু করে niceএবং reniceI / O অগ্রাধিকার পরিবর্তনের সাথে ioniceএবং তারপরে কী দেখুন ঘটবে।

আপনি সর্বোচ্চ অগ্রাধিকার স্তরে অ্যাপ্লিকেশনটি 'সুন্দর' করতে পারেন যেমন -20অ্যাপ্লিকেশন প্রক্রিয়াগুলি কখন অদলবদল করা উচিত সে সম্পর্কে সিদ্ধান্ত নিয়ে আপনি এখনও ওএসকে সর্বোত্তম কাজটি করতে ছেড়ে যান।

তবে অন্যদের পরামর্শ দিয়েছেন যদি আপনি আরও নিয়ন্ত্রণ এবং গ্রানুলারিটি চান তবে আপনার দিকে তাকানো cgroupsএবং সেট করা শুরু করতে হবেmemory.swappiness

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