PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش حرفه ای پیدا کردن Symlink های کاربران بصورت pointing root



nginxweb
November 16th, 2013, 15:23
درود بر شما

با یک آموزش حرفه ای و مفید جدید در خدمتتون هستیم

یکی از دغدغه هایی که مدیران سرور درگیرش هستند مشکل symlink هستش که همه جوره در سیستم های لینوکس مشکل ساز خواهد بود و باعث به خظر اقتادن امنیت در صورت secure نبودن سرور خواهد شد گاهی پیدا کردن اینکه از کدام اکانت این symlink اجرا و صورت گرفته است کاری دشوار است

در این آموزش اختصاصی nginxweb به شما می آموزیم که چطور با یک دستور بتوانید حملات symlink که از طریق command از سمت user ها در پوشه /home اجرا شده اند را پیدا نمایید که فوق العاده مفید برای امنیت سرور میباشد.

خدمتتون عرض شود برای اینکار ابتدا به ssh وصل شوید و دستور زیر را وارد نمایید:


find /home*/*/public_html -type l -exec ls -l {} \; | grep "\-> /$"

سپس صبر بفرمایید تا اسکن کامل انجام شود بستگی به حجم فایل ها و اکانت ها و قدرت پردازنده این زمان بطول خواهند انجامید

اگر scan به پایان رسید و شما با هیچ نتیجه یا اصطلاحا result روبرو نشدید خوب میتوانید یک نفس راحت بکشید...

اما اگر با ایک نتیجه مشابه زیر رو برو شدید:

مثلا یوزری بنام nginxweb:


lrwxrwxrwx 1 nginxweb nginxweb 1 date time /home/nginxweb/public_html/folder -> /

در اینصورت مشخص میشود که در اکانت nginxweb و folder مشخص اقدام به symlink به root انجام شده است.

خوب حالا چه کارهای انجام دهیم برای کنترل این مسئله.... عرض میکنیم خدمتتون

اولین کار این هستش که پسورد اکانت فوق یعنی nginxweb را تغییر دهید چون احتمالا پسورد توسط کسی از طریق حملاتی مانند brute force و یا مهندسی اجتماعی لو رفته است
و همینطور بوسیله symlink انجام شده پسورد ها لو رفته است در این موارد پیشنهاد میشه اگر فایل مانند فایل های config اسکریپت های مختلف مانند وردپرس که به نام wp-config.php و یا جولا که بنام config.php . یا configuration.php میباشد را باز کنید و پسورد ها را تعییر دهید که اگر لود رفته باشد بتوانید براحتی جلوگیری نمایید

در اخر نیز فولدر فوق را با دستور زیر حذف نمایید:


rm /home/nginxweb/public_html/folder


امیدوارم این آموزش خدمتتون مفید واقع شده باشد

تهیه و تنظیم مهندس عیسی محمدزاده
nginxweb.ir

(با کلیک بر روی دکمه تشکر ما را برای ادامه موارد آموزشی پیشرفته تر دلگرم کنید)

secure_host
November 16th, 2013, 15:46
با سلام
دستور درست این است .

find /home/*/public_html -type l -exec ls -l {} \; | grep "\-> /$"

دستورات دیگری نیز مانند find -lname برای پیداکردن کاربرد دارد.

nginxweb
November 16th, 2013, 15:48
با سلام
دستور درست این است .

find /home/*/public_html -type l -exec ls -l {} \; | grep "\-> /$"

دستورات دیگری نیز مانند find -lname برای پیداکردن کاربرد دارد.

تشکر مسافر جان

دستور بالا نیز صحیح بوده است بدلیل استفاده از چندین هارد در سرور که چند قولدر home را ایجاد کرده اند مانند
/home
/home1
/home2
بصورت home* نوشته شده است

secure_host
November 16th, 2013, 15:52
با یک دستور بتوانید حملات symlink که از طریق command از سمت user ها در پوشه /home اجرا شده اند را پیدا نمایید که فوق العاده مفید برای امنیت سرور میباشد.


با سلام
جناب محمدزاده عزیز بنده با توجه به جمله بالا دستور را گفتم.
ولی اگر چندین شاخه وجود دارد. بله دستور اولی صحیح است.
باتشکر

shivahost
November 16th, 2013, 16:09
خب به نظر ما بهتره فقط از home استفاده بشه چون مثلا ساختار داخل home برای دایرکت ادمین با cpanel فرق می کنه

nginxweb
November 16th, 2013, 16:13
خب به نظر ما بهتره فقط از home استفاده بشه چون مثلا ساختار داخل home برای دایرکت ادمین با cpanel فرق می کنه

درود

برای دایرکت ادمین به اینصورت خواهد بود

find /home/*/domains/*/public_html

secure_host
November 16th, 2013, 16:17
برای دایرکت ادمین :


find /home/*/domains/*/public_html -type l -exec ls -l {} \; | grep "\-> /$"

nginxweb
November 16th, 2013, 18:42
درود بر شما بزرگواران

برخی از دوستان در مورد پنل های دیگر سوال کردند
لازم به ذکر هستش شکل دستور بسته به نوع پنل متغیر است که در بالا سی پنل و دایرکت ادمین ذکر شد خدمتتون که به چه صورت هستش

در پنل kloxo lxadmin نیز بصورت زیر قابل استفاده است:

find /home/*/public_html -type l -exec ls -l {} \; | grep "\-> /$"

shahab-f
November 16th, 2013, 20:30
ممنون بابت وقتی که گذاشتین

زنده باشید