sandbox-exec
কমান্ডের মাধ্যমে আমি নিম্নলিখিত অনুমতি ছাড়াই একটি সম্ভাব্য অবিশ্বস্ত অ্যাপ্লিকেশন চালানোর চেষ্টা করছি :
- ফাইল রাইটিং (ফাইলের দুর্নীতি / ইনজেকশন এড়াতে)
- নেটওয়ার্ক (আমার নেটওয়ার্কের বাইরে যোগাযোগ এড়াতে)
- প্রক্রিয়া তৈরি (কাঁটাচামচ এড়ানোর জন্য)
- সিস্টেম ডেটা অ্যাক্সেস (সিস্টেম দুর্নীতি এড়ানোর জন্য)
ধরা যাক আমার অ্যাপ্লিকেশনটি চালানো দরকার MyApp
। আমি জানি myprofile.sb
যে নিম্নলিখিতটির মতো একটি প্রোফাইল তৈরি করা সম্ভব , তবে আমি নিশ্চিত না যে সবকিছু অন্তর্ভুক্ত রয়েছে।
(version 1)
(allow default)
# bullet point #1
(deny file-write*)
(deny file-write-data)
# bullet point #2
(deny network*)
# bullet point #3
(deny process-fork)
(deny job-creation)
(deny process-exec)
# bullet point #4
(deny sysctl-write)
# logging every action possible
(trace "/tmp/myapp_output.sb")
(debug all)
এই মুহুর্তে, MyApp
নিরাপদে চালাতে আমি নিম্নলিখিত কমান্ডটি চালাচ্ছি :
sandbox-exec -f ./myprofile.sb MyApp
আমি যদি নমুনা কমান্ডগুলি চালনা করি (যেমন ping google.it
বা touch /tmp/file.txt
), কমান্ডগুলি সঠিকভাবে সম্পাদিত হয়। কেন? আমি কিছু অনুপস্থিত করছি?