آموزشCloudLinux

غیر فعالسازی PTrace در CloudLinux

CloudLinux Disable PTrace

PTrace یا Proccess Trace در کلود لینوکس چیست؟

Ptrace یا Process Trace یک تابع برای عیب یابی در کلود لینوکس است که اجازه می دهد.همچنین به ما این امکان را می دهد که پراسس های Memory را تغییر و ثبت کنیم.کاربرانی که دسترسی روت را ندارند می‌توانند از ptrace() برای گرفتن دسترسی بالاتر، از نرم افزار های در حال اجرا سوءاستفاده کنند پس فعال بودن آن بر روی یک سرور هاست که در اشتراک کاربران است می تواند خطرناک باشد.به مهاجم اجازه می دهد تا بتواند به تابع setuid دسترسی داشته باشد و با استفاده از ptrace یا سایر فانکشن ها دستورات خود را با دسترسی روت اجرا کند و تغییراتی در نتیجه اجرای پراسس ها ایجاد کند.

راهکار غیر فعال کردن PTrace در کلودلینوکس

باید در نظر داشته باشید که به صورت پیش فرض ptrace() در کلود لینوکس فعال می باشد و مقادیر آن به صورت زیر تنظیم شده است:

kernel.user_ptrace = 1
kernel.user_ptrace_self = 1

در اینجا ما از kernel.user_ptrace استفاده می کنیم برای غیر فعالسازی PTRACE_ATTACH، و از kernel.user_ptrace_self استفاده می کنیم برای غیر فعال سازی PTRACE_TRACEME، پس بریم که اصل کار رو شروع کنیم.ما باید مقدار هر دو مورد رو به 0 تغییر دهیم تا غیر فعال شوند برای اینکه باید از طریق sysctl اقدام کنیم. با استفاده از دستور زیر در ویرایشگر nano فایل /etc/sysctl.conf را باز می کنیم:

nano /etc/sysctl.conf

مقادیر را به صورت زیر قرار می دهیم:

## CL. Disable ptrace for users
kernel.user_ptrace = 0
kernel.user_ptrace_self = 0
##

و بعد از طریق دستور زیر تغییراتی که داده ایم را اعمال می کنیم:

sysctl -p

فائزه سیّد بطحائی

فائزه سید بطحائی هستم، کارشناس مترجمی زبان انگلیسی با توجه به علاقه شدیدی که به دنیای فناوری اطلاعات و شبکه داشتم از سال 1389 وارد حوزه فناوری اطلاعات شدم و در زمینه شبکه و سرویس های میزبانی وب دوره های بین المللی متعدد و تجارب بسیاری کسب کردم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا