بازدیدها: ۴۳۴

در سیستم‌های عامل لینوکس با نسخه‌های کرنل ۳.۲ به بالا قابلیتی با نام hidepid به سیستم اضافه گردیده است که در بالا بردن امنیت حساب‌های کاربری بسیار مفید خواهد بود و به مسئول امنیت سیستم امکان محدود نمودن دسترسی و مشاهده‌ی پردازش‎های کاربران دیگر به کاربر را خواهد داد. با استفاده از این قابلیت، تنها کاربر root مجاز به مشاهده‌ی کلیه‌ی پردازش‌های در حال اجرا بر روی سیستم است و هر کاربر تنها قادر به مشاهده‌ی پردازش‌هایی خواهد بود که مالک آن‌هاست. به عبارت دیگر، کاربر قادر به مشاهده‌ی پردازش‌های کاربران دیگر نخواهد بود.

hidepid مشخص می‌کند که چه مقدار از اطلاعات پردازش‌های درحال اجرا توسط کاربران دیگر، قابل مشاهده به وسیله‌ی کاربر باشد و با مقادیر ۰ تا ۲ قابل تنظیم است.

اطلاعات پردازش‌های در حال اجرا در سیستم‌عامل در مسیر */proc/PID/ با دسترسی سراسری قابل خواندن است.

درصورتی‌که hidepid=0 تنظیم شود، حالت غیر ایمن و پیش‌فرض فعلی سیستم‌عامل فعال خواهد بود و مشاهده‌ی پردازش‌های هر کاربر یا Daemon توسط دیگر کاربران نیز امکان‌پذیر خواهد بود، بدین معنی که کلیه‌ی اطلاعات موجود در */proc/PID/ بدون محدودیت توسط همه‌ی کاربران قابل خواندن است.

تنظیم به صورت hidepid=1 به معنای آن است که کاربران قادر به دسترسی به هیچ یک از پوشه‌های موجود در /proc/ نیستند، مگر پوشه‌هایی که کاربر مالک آن‌هاست. با انجام این تنظیم، فایل‌های مهم و حساس کاربر مانند خط فرمان (cmdline)، تنظیمات زمانبندی اجرای برنامه‌ها و اطلاعات وضعیت و موقعیت کاربر در سیستم توسط حساب‌های کاربری دیگر قابل دسترسی و مشاهده نخواهد بود.

و در نهایت حالت hidepid=2 به عنوان امن‌ترین پیکربندی پیشنهاد می‌شود، به صورتی ‌که علاوه بر داشتن ویژگی‌های hidepid=1 ، کلیه‌ی اطلاعات موجود در /proc/PID/ را نیز از دید کاربران دیگر پنهان خواهد نمود. با تنظیم hidepid با مقدار ۲، می‌توان تا حد بسیار زیادی از دسترسی نفوذگران به اطلاعات پردازش‌های قابل اجرا توسط دیگر کاربران، مطمئن شد. این پردازش‌ها، هم می‌تواند اطلاعات حساس کاربر باشد، یا اطلاعات عادی، یا اطلاعات یک کاربر با سطح دسترسی بالا.

برای انجام این کار مراحل زیر را انجام می‌دهیم:

mount -o remount,rw,hidepid=2 /proc#

با اجرای دستور بالا، پارتیشن proc/ به همراه پارامتر hidepid=2، در سیستم mount می‌شود و اجازه‌ی انجام تغییرات در آن داده می‌شود.

پس از اجرای دستور فوق می‌توان با استفاده از دستورات ps, top, htop و امثالهم، صحت امور انجام شده را مشاهده نمود.

برای فعال نمودن همیشگی این قابلیت، فایل etc/fstab/ را باز کرده و خط زیر را به آن اضافه می‌کنیم:

proc /proc proc defaults,hidepid=2 0 0

همچنین می‌توان تنها به گروه خاصی امکان مشاهده‌ی کلیه‌ی پردازش‌های کاربران را داد، به صورتی که کاربران عضو این گروه بدون محدودیت، قادر به مشاهده‌ی اطلاعات کاربران دیگر باشد. باید توجه داشت که حساب‌های کاربری سرویس‌ها و Daemon های سیستم مانند www-data عضو گروه مذکور نگردد.

برای این منظور خط زیر را جایگزین خط قبلی خواهیم نمود:

proc /proc proc defaults,hidepid=2,gid=intellicom 0 0

با اضافه نمودن خط فوق به فایل etc/fstab/ ، کاربران عضو گروه intellicom، امکان دریافت اطلاعات مختلف از کاربران دیگر را خواهند داشت.