چندی پیش خبری از وجود یک حفره امنیتی در کنترل پنل محبوب دایرکت ادمین منتشر شد که در اثر SegFault به شخص نفوذ کننده اجازه دسترسی های خاص و غیر مجاز را می داد. بنا بر بررسی های صورت گرفته توسط شرکت آرکانت ، در جدید ترین بروزرسانی منتشر شده به تاریخ 3 اکتبر 2017 ، ضمن پوشش کامل این حفره امنیتی ، چند ویژگی های جدید نیز به این کنترل پنل افزوده شده است . پس از بروزرسانی دایرکت ادمین ، نسخه آن به 1.52 تغییر خواهد یافت که آخرین نسخه پایدار منتشر شده از این کنترل پنل نیز می باشد . در ادامه این مقاله ، روش بروزرسانی دایرکت ادمین به آخرین نسخه از طریق Shell لینوکس و همچنین راهکار موقتی جلوگیری از سوء استفاده از این حفره امنیتی را آموزش خواهیم داد. با ما همراه باشید.
بمنظور بروزرسانی دایرکت ادمین ابتدا به کمک ابزاری مانند پوتی ( Putty ) و با اطلاعات اکانت روت و یا یکی از کاربران Sudoer به شل لینوکس ( Linux Shell ) متصل شوید.
پیشنهاد ما به شما استفاده از روش شماره 1 و بروزرسانی کامل دایرکت ادمین است . لیکن در صورتی که موقتا در بروزرسانی ( روش شماره 1 ) با مشکلی مواجه بودید ، می توانید از روش شماره 2 استفاده نمایید.
روش شماره 1 :
ابتدا اقدام به تهیه پشتیبان از فایل های دایرکت ادمین می کنیم.
tar -zcf /usr/local/directadmin-backup.tar.gz /usr/local/directadmin
حال به پوشه دایرکت ادمین وارد می شویم:
cd /usr/local/directadmin
در این مرحله ابتدا با اکانت ادمین به پنل دایرکت ادمین وارد شده و در بخش Licensing / Updates اقدام به مشاهده License ID و Client ID نمایید.
حال به کمک دستور زیر و با جایگزین کردن مقادیر CID با Client ID و LID با License ID اقدام به دانلود آخرین نسخه از دایرکت ادمین می کنیم.
scripts/getDA.sh CID LID
آغاز پروسه آپدیت :
tar xvzf update.tar.gz
./directadmin p
cd scripts
./update.sh
در پایان اگر نسخه سیستم عامل شما CentOS7 و یا Debian8 است از دستور زیر:
systemctl restart directadmin
و در مورد سایر نسخه ها از این دستور استفاده نمایید:
service directadmin restart
اگر تست های شما هیچ مشکلی در کارکرد دایرکت ادمین را نشان نداد ، می توانید بکاپ تهیه شده در اولین مرحله را نیز حذف فرمایید.
روش شماره 2 :
در این روش تنها کافیست دستور زیر را در محیط ترمینال وارد فرمایید تا پس از اجرا شدن ، حفره امنیتی نامبرده مسدود گردد.
echo "email_ftp_password_change=0" >> /usr/local/directadmin/conf/directadmin.conf && service directadmin restart