ابیوز (Abuse) در مبحث سرور، شکلها و موضوعات متنوعی را پوشش میدهد. بنابراین راهکارها برای رفع مشکل Abuse میتواند بر اساس سیستم عامل، نرم افزار یا نوع Abuse متفاوت باشد. در همه موارد به شدت توصیه میشود که سرور خود را به روز نگه دارید و در صورتی که تحت تاثیر Abuseهای زیر قرار گرفتهاید، همه رمزهای عبور خود را تغییر داده و دسترسی SSH را محدود کنید.
به دلیل این تنوع بسیار زیاد، رسیدگی به همه راهکارها، غیرممکن است. با این حال، بر اساس اطلاعات ذکر شده در ادامه مطلب، میتوانید پیشنهاداتی در مورد چگونگی یافتن علت Abuse و اقدامات لازم برای جلوگیری از آن بیابید.
چند نمونه از انواع Abuse سرور کدام است؟
- اسپم (هرزنامهها)
- حملات bruteforce خروجی
- فیشینگ
- بد افزار (Malware)
- پورت اسکن
- نقض قوانین حق تکثیر
- حملات DoS خروجی (به عنوان مثال UDP / SYN floods)
- ماینرهای کریپتو
خرید سرور مجازی در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
اسپم (Spam)
شایعترین علت Abuse، اسکریپتهای اسپم هستند که از طریق اکسپلویت(Exploit)، معمولا در یک CMS محبوب مانند وردپرس، جوملا، دروپال و... به VPS تزریق میشوند.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS و افزونهها همیشه به آخرین نسخه آپدیت میشوند. برای نسخههای قدیمیتر، آسیب پذیریها تقریبا همیشه شناخته شدهاند!
- مطمئن شوید که تمها و افزونهها را از وب سایتهای ناشناس دانلود نمیکنید. اگر یک افزونه پولی را رایگان دانلود کردی، اینکه به بدافزار آلوده باشد، غیر معمول نیست.
- از افزونهای مانند WordFence برای بهبود امنیت وبسایت وردپرس خود استفاده کنید. برای جوملا میتوانید به Securitycheck به عنوان یک افزونه احتمالی نگاه کنید.
- اگر از هیچ فرم ایمیلی در وبسایت خود استفاده نمیکنید، PHPmailer را غیرفعال کنید. یا ارسال ایمیل از طریق پورت پیشفرض 25 را برای وبسایت غیرفعال نمائید.
- اگر میخواهید از فرمهای ایمیل PHP در وبسایت خود استفاده کنید، مطمئن شوید که آدرس ایمیل 'TO:' را نمیتوان مستقیم تغییر داد. در غیر این صورت، بازدیدکنندگان را قادر میسازید تا مستقیم از آن فرم شروع به ارسال اسپم کنند.
- برای هر نوع Abuse مرتبط با وبسایت، تنظیم مجوزهای فایل مناسب بسیار مهم است. تقریبا هر فریمورک و CMS لیستی از مجوزهای توصیه شده دارد. با استفاده از این مجوزهای توصیه شده، میتوانید از استفاده از آسیب پذیریها برای تغییر فایلهای اصلی یک فریمورک جلوگیری کنید.
- اسکن مداوم را با ابزارهایی مانند ClamAV یا Linux Malware Detect (LMD) اجرا کنید تا در اسرع وقت بدافزار را روی سرور خود شناسایی نمائید. برای مثال میتوانید این اسکنها را در یک cronjob برنامه ریزی کنید.
- برای جلوگیری از استفاده مخرب از آدرس ایمیل خود به دلیل دریافت رمز عبور، هرگز از اتصال بدون SSL استفاده نکنید (در این صورت رمز عبور شما به صورت plain text ارسال میشود) و همیشه یک رمز عبور قوی انتخاب کنید.
بروت فورس (Outgoing bruteforce)
این حملات اغلب توسط بدافزارهایی انجام میشوند که بر روی نصب وردپرس یا جوملا مورد اکسپلویت قرار میگیرند و اغلب روی سایر نصبهای وردپرس متمرکز میشوند. احتمال دیگر این است که آسیبپذیریها توسط بدافزار یا یک کاربر root در معرض خطر استفاده شده باشد، مثلا به این دلیل که یک رمز عبور ضعیف کاربر root را bruteforce کرده باشند.
معمولا علت را میتوان با بررسی تمام فرآیندهای فعلی از طریق دستور زیر پیدا کرد
ps aux | less
اگر یک فرآیند عجیب یا ناشناخته در آن لیست نشان داده شده، میتوانید استفاده کنید
lsof -p $processid
تا ببینید کدام فایلها با این پروسس باز میشوند. در این دستور باید processid$ را با شناسه فرآیند در خروجی ps aux جایگزین کنید.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS و افزونه ها همیشه به آخرین نسخه به روز میشوند. برای نسخههای قدیمیتر، آسیب پذیریها تقریبا همیشه شناخته شدهاند!
- از Bruteforce protection مانند Fail2Ban استفاده کنید.
- مطمئن شوید که تمها و افزونهها را از وب سایتهای ناشناس دانلود نمیکنید. اگر یک افزونه پولی را رایگان دانلود کردید، اینکه به بدافزار آلوده باشد، اصلا عجیب نیست.
- از افزونهای مانند WordFence برای بهبود امنیت وب سایت وردپرس خود استفاده کنید. برای جوملا میتوانید به Securitycheck به عنوان یک افزونه احتمالی نگاه کنید.
- برای هر نوع Abuse مرتبط با وبسایت، تنظیم مجوزهای فایل مناسب بسیار مهم است. تقریبا هر فریمورک و CMS لیستی از مجوزهای توصیه شده دارد. با استفاده از این مجوزهای توصیه شده، میتوانید از استفاده از آسیب پذیریها برای تغییر فایلهای اصلی یک فریمورک جلوگیری کنید.
- اسکن مداوم را با ابزارهایی مانند ClamAV، rkhunter، chrootkit یا Linux Malware Detect (LMD) اجرا کنید تا بدافزار را در سرور خود در اسرع وقت شناسایی کنید. برای مثال می توانید این اسکن ها را در یک cronjob برنامه ریزی کنید.
- نرم افزار خود و خود سیستم عامل را همیشه به روز کنید!
- پورتها و سرویسهای غیر ضروری را در فایروال سیستم عامل خود برای ترافیک ورودی و خروجی غیرفعال کنید. وقتی از VPS خود فقط برای میزبانی وب سرور استفاده میکنید و از ایمیل یا SSH استفاده نمینمائید، دلیلی برای فعال بودن این سرویسها و باز شدن پورتهای مربوطه وجود ندارد. اگر یک پورت بسته شود، هر سرویسی که از آن پورت استفاده میکند نمیتواند توسط خارجیهای مخرب مورد سوء استفاده قرار گیرد. بنابراین مهم است که بررسی کنید کدام سرویسها و پورتها برای اهداف سرور شما مورد نیاز هستند. برای سادهتر کردن مدیریت فایروال، میتوانید به ابزارهایی مانند CSF (ConfigServer Security Firewall) نگاه کنید.
- از رمزهای عبور قوی و سخت برای حدس زدن استفاده کنید و دسترسی root را از طریق SSH غیرفعال کنید. همچنین تغییر پورت پیش فرض SSH و سایر سرویسهای آسیب پذیر، امنیت سرور شما را بهبود میبخشد.
فیشینگ (Phishing)
در اکثر موارد وبسایتها و صفحات فیشینگ در سرور، به علت نصب وردپرس، جوملا یا CMS محبوب آلوده دیگری است. تقریبا هر بار که یک اکسپلویت شناخته شده توسط افراد مخرب خارجی برای قرار دادن این صفحات فیشینگ در سرور مورد سوء استفاده قرار می گیرد.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS و افزونه ها همیشه به آخرین نسخه به روز میشوند. برای نسخههای قدیمیتر، آسیب پذیریها تقریبا همیشه شناخته شدهاند!
- مطمئن شوید که تمها و افزونهها را از وب سایتهای ناشناس دانلود نمیکنید. اگر یک افزونه پولی را رایگان دانلود کردید، اینکه به بدافزار آلوده باشد، اصلا عجیب نیست.
- از افزونهای مانند WordFence برای بهبود امنیت وب سایت وردپرس خود استفاده کنید. برای جوملا میتوانید به Securitycheck به عنوان یک افزونه احتمالی نگاه کنید.
- برای هر نوع Abuse مرتبط با وبسایت، تنظیم مجوزهای فایل مناسب بسیار مهم است. تقریبا هر فریمورک و CMS لیستی از مجوزهای توصیه شده دارد. با استفاده از این مجوزهای توصیه شده، میتوانید از استفاده از آسیب پذیریها برای تغییر فایلهای اصلی یک فریمورک جلوگیری کنید.
- اسکن مکرر را با ابزارهایی مانند ClamAV یا Linux Malware Detect (LMD) اجرا کنید تا در اسرع وقت بدافزار را روی سرور خود شناسایی کنید. برای مثال می توانید این اسکن ها را در یک cronjob برنامه ریزی کنید. وقتی محتوایی را در سرور خود پیدا کردید، می توانید آن را از طریق (s)FTP یا خط فرمان حذف کنید.
بد افزار (Malware)
در اکثر موارد بدافزاری که از سرور شما پخش میشود، علت آن نصب آلوده وردپرس، جوملا یا CMS محبوب دیگری است. تقریبا هر بار که یک سوء استفاده شناخته شده توسط افراد خارجی مخرب برای قرار دادن این بدافزار در VPS شما مورد سوء استفاده قرار می گیرد.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS (و افزونه ها) شما همیشه به آخرین نسخه به روز می شوند. برای نسخه های قدیمی تر، آسیب پذیری ها تقریباً همیشه شناخته شده اند!
- مطمئن شوید که تم ها و افزونه ها را از وب سایت های ناشناس دانلود نمی کنید. اگر دانلود رایگان یک افزونه معمولی پولی به بدافزار آلوده شود، غیر معمول نیست.
- از افزونه ای مانند WordFence برای بهبود امنیت وب سایت وردپرس خود استفاده کنید. برای جوملا می توانید به Securitycheck به عنوان یک افزونه احتمالی نگاه کنید.
- برای هر نوع سوء استفاده مرتبط با وب سایت، تنظیم مجوزهای فایل مناسب بسیار مهم است. تقریباً هر فریمورک و CMS لیستی از مجوزهای توصیه شده دارد. با استفاده از این مجوزهای توصیه شده، می توانید از استفاده از آسیب پذیری ها برای تغییر فایل های اصلی یک چارچوب جلوگیری کنید.
- اسکن مکرر را با ابزارهایی مانند ClamAV یا Linux Malware Detect (LMD) اجرا کنید تا در اسرع وقت بدافزار را روی سرور خود شناسایی کنید. برای مثال می توانید این اسکن ها را در یک cronjob برنامه ریزی کنید. وقتی محتوایی را در سرور خود پیدا کردید، می توانید آن را از طریق (s)FTP یا خط فرمان حذف کنید.
- پورت ها و سرویس های غیر ضروری را در فایروال سیستم عامل خود برای ترافیک ورودی و خروجی غیرفعال کنید. وقتی از VPS خود فقط برای میزبانی وب سرور استفاده می کنید و از ایمیل یا SSH استفاده نمی کنید، دلیلی برای فعال بودن این سرویس ها و باز شدن پورت های مربوطه وجود ندارد. اگر یک پورت بسته شود، هر سرویسی که از آن پورت استفاده میکند نمیتواند توسط خارجیهای مخرب مورد سوء استفاده قرار گیرد. بنابراین مهم است که بررسی کنید کدام سرویس ها و پورت ها دقیقاً برای اهداف VPS شما مورد نیاز هستند. برای سادهتر کردن مدیریت فایروال، میتوانید به ابزارهایی مانند CSF (ConfigServer Security Firewall) نگاه کنید.
پورت اسکن (Port scans)
اسکن پورت اسکنی بر روی همه پورتهای ممکن روی سرور برای بررسی پورتهای باز است. هنگامی که پورتهای open شناسایی میشوند، افراد خارجی مخرب سعی می کنند به سرویس های زیربنایی دسترسی پیدا کنند. اسکن پورت که از VPS شما می آید اغلب توسط آسیب پذیری های مورد سوء استفاده ایجاد می شود.
با استفاده از دستوری مانند
netstat -a
می توانید ترافیک شبکه را در هر فرآیند مشاهده کنید. سپس میتوانید از این اطلاعات برای بررسی اینکه کدام فرآیند باعث پورت اسکن میشود استفاده نموده و اقداماتی را برای متوقف کردن آن انجام دهید.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS (و افزونه ها) شما همیشه به آخرین نسخه به روز می شوند. برای نسخه های قدیمی تر، آسیب پذیری ها تقریباً همیشه شناخته شده اند!
- اسکن مکرر را با ابزارهایی مانند ClamAV، rkhunter، chrootkit یا Linux Malware Detect (LMD) اجرا کنید تا بدافزار را در سرور خود در اسرع وقت شناسایی کنید. برای مثال می توانید این اسکن ها را در یک cronjob برنامه ریزی کنید.
- نرم افزار خود و خود سیستم عامل را اغلب به روز کنید!
- پورت ها و سرویس های غیر ضروری را در فایروال سیستم عامل خود برای ترافیک ورودی و خروجی غیرفعال کنید. وقتی از VPS خود فقط برای میزبانی وب سرور استفاده می کنید و از ایمیل یا SSH استفاده نمی کنید، دلیلی برای فعال بودن این سرویس ها و باز شدن پورت های مربوطه وجود ندارد. اگر یک پورت بسته شود، هر سرویسی که از آن پورت استفاده میکند نمیتواند توسط خارجیهای مخرب مورد سوء استفاده قرار گیرد. بنابراین مهم است که بررسی کنید کدام سرویس ها و پورت ها دقیقاً برای اهداف VPS شما مورد نیاز هستند. برای سادهتر کردن مدیریت فایروال، میتوانید به ابزارهایی مانند CSF (ConfigServer Security Firewall) نگاه کنید.
- از رمزهای عبور قوی و سخت برای حدس زدن استفاده کنید و دسترسی root را از طریق SSH غیرفعال کنید. بسیاری از نصبهای پیشفرض ما به دلایل امنیتی از قبل دسترسی ریشه را غیرفعال کردهاند. همچنین تغییر پورت پیش فرض SSH و سایر سرویس های آسیب پذیر، امنیت سرور شما را بهبود می بخشد.
نقض قوانین حق تکثیر (Copyright Infringement)
هنگامی که محتوایی را به طور غیرقانونی به اشتراک میگذارید، می توانید گزارشهایی در مورد نقض حق نسخه برداری(copyright) یا علامت تجاری(trademark) دریافت کنید که میتواند ناشی از اشتراک گذاری تورنت در سرور مجازی (مستقیم یا از طریق VPN) باشد. یکی دیگر از دلایل احتمالی چنین اخطار نقضی، میتواند تصویر یا لوگوی برندی باشد که در فروشگاه اینترنتی شما نمایش داده میشود. سادهترین راه حل این است که فقط این محتوا را از سرور خود حذف کنید.
به عنوان مثال، مشکل میتواند یک فایل تورنت، یا تصویری از یک برند تجازی نشان داده شده در فروشگاه اینترنتی روی سرور باشد. ساده ترین راه حل حذف محتوای متخلف در VPS شما است.
چگونه میتوانم از آن جلوگیری کنم؟
- مطمئن شوید که هیچ برنامه تورنتی روی VPS خود اجرا نمیکنید. علاوه بر این، توصیه نمیشود فایل Media را که در سرور خود آپلود کردهاید به صورت عمومی به اشتراک بگذارید.
- هنگامی که یک سرور VPN را روی VPS خود نیز اجرا می کنید، مطمئن شوید که کاربران متصل نمی توانند از ترافیک تورنت استفاده کنند (مثلا با مسدود کردن این پورتها).
- هنگام فروش محصولات برند یا شرکتهای خاصی که از تصاویر آنها (مانند لوگو) استفاده میکنید، مطمئن شوید که با صاحب این برند قرارداد (مجوز) دارید.
- از ثبت یا میزبانی دامنههایی که شباهت زیادی با برندهای معروف یا شرکتهای بزرگ دارند خودداری کنید. تقریبا در هر موردی مجبور خواهید بود محتوا را حذف کنید یا دامنه را به دارنده برند منتقل کنید.
حملات DDos خروجی (Outgoing DDoS-attacks)
تعداد زیادی از انواع مختلف حملات DDoS وجود دارد که توسط افراد یا سازمانهای مخرب در اینترنت استفاده میشود. در یک حمله DDoS سرور شما مقدار زیادی بسته(packet) را به سرور دیگر ارسال میکند تا آن را برای سایر بازدیدکنندگان غیر قابل دسترس کند. دو مورد از متداولترین حملاتی که مشاهده میشوند، UDP flood و SYN flood هستند.
در UDP flood سرور شما مقدار زیادی بسته UDP را به پورتهای تصادفی (معمولا بدون استفاده) به سروری که مورد حمله قرار میگیرد ارسال میکند. از آنجایی که این پورتها سرویسهای فعالی ندارند، بستههای ICMP Destination Unreachable پس فرستاده میشوند که منجر به استفاده بیش از حد از منابع و غیرقابل دسترس شدن سرور میشود.
در یک حمله SYN flood، هرگز سیگنال ACK ارسال نمیشود (این می تواند به دلیل جعل یک IP نیز ایجاد شود) پس از اینکه سرور شما یک SYN ارسال کرد (سیگنالی که برای برقراری ارتباط بین 2 سرور استفاده میشود). از آنجا که ACK ارسال نمیشود، سروری که مورد حمله قرار میگیرد منتظر این ACKها میماند که در نهایت باعث میشود سرور از دسترس خارج شود.
در هر دو مورد، احتمال زیاد سرور شما توسط بدافزار آلوده شده و اکنون بخشی از یک botnet است. به همین دلیل افراد خارجی مخرب می توانند کنترل سرور شما را در دست بگیرند و از آن برای این حملات سوء استفاده کنند.
چگونه میتوانم از آن جلوگیری کنم؟
- اطمینان حاصل کنید که CMS (و افزونه ها) شما همیشه به آخرین نسخه به روز می شوند. برای نسخه های قدیمی تر، آسیب پذیری ها تقریباً همیشه شناخته شده اند!
- اسکن مکرر را با ابزارهایی مانند ClamAV، rkhunter، chrootkit یا Linux Malware Detect (LMD) اجرا کنید تا بدافزار را در سرور خود در اسرع وقت شناسایی کنید. برای مثال می توانید این اسکن ها را در یک cronjob برنامه ریزی کنید.
- نرم افزار خود و خود سیستم عامل را اغلب به روز کنید!
- پورت ها و سرویس های غیر ضروری را در فایروال سیستم عامل خود برای ترافیک ورودی و خروجی غیرفعال کنید. وقتی از VPS خود فقط برای میزبانی وب سرور استفاده می کنید و از ایمیل یا SSH استفاده نمی کنید، دلیلی برای فعال بودن این سرویس ها و باز شدن پورت های مربوطه وجود ندارد. اگر یک پورت بسته شود، هر سرویسی که از آن پورت استفاده میکند نمیتواند توسط خارجیهای مخرب مورد سوء استفاده قرار گیرد. بنابراین مهم است که بررسی کنید کدام سرویس ها و پورت ها دقیقاً برای اهداف VPS شما مورد نیاز هستند. برای سادهتر کردن مدیریت فایروال، میتوانید به ابزارهایی مانند CSF (ConfigServer Security Firewall) نگاه کنید.
- از رمزهای عبور قوی و سخت برای حدس زدن استفاده کنید و دسترسی root را از طریق SSH غیرفعال کنید. بسیاری از نصبهای پیشفرض ما به دلایل امنیتی از قبل دسترسی ریشه را غیرفعال کردهاند. همچنین تغییر پورت پیش فرض SSH و سایر سرویس های آسیب پذیر، امنیت سرور شما را بهبود می بخشد.
ماینرهای کریپتو (Crypto miners)
اگر یک آسیبپذیری قابل سوءاستفاده برای نصب ماینر وجود داشته باشد، یا زمانی که یک کاربر مخرب از طریق روشهای دیگر به سرور دسترسی پیدا کرده و ماینر را نصب کند، ماینرهای کریپتو میتوانند به سرور شما ختم شوند.
چگونه میتوانم از آن جلوگیری کنم؟
هنگامی که یک ماینر کریپتو روی سرور شما فعال است، این امر معمولا با لود بالای CPU سرور قابل مشاهده است که در نمودارهای موجود در کنترل پنل TransIP یا با استفاده از دستور TOP قابل مشاهده است.
مرحله 1
ابتدا با استفاده از یکی از دستورات زیر متوجه شوید که کدام فرآیند در واقع ماینینگ است:
top
Shift + p را فشار دهید تا براساس میزان مصرف CPU مرتب شود تا مقصر پیدا شده و شماره PID آن را یادداشت کنید.
مرحله 2
اگر فرآیندی با استفاده زیاد از CPU را مشاهده کردید که برای شما ناآشنا است، میتوانید با استفاده از یکی از این دستورات، فرآیند را از بین ببرید:
kill 9 $processid
lsof -p $processid
همانطور که در مرحله 2 مشاهده می شود، «$processid» را با PID جایگزین کنید.
اکنون می توانید ماینر را حذف کنید. در مورد یک برنامه و نه یک اسکریپت جداگانه، از دستور زیر استفاده کنید:
CentOS 7:
yum -y remove minername
CentOS Stream، AlmaLinux، Rocky Linux:
dnf -y remove minername
Debian/Ubuntu
apt -y remove minername
آیا ماینر یک فایل اسکریپت تنها است؟ مکان فایل را جستجو کرده و به صورت زیر حذف کنید:
find /dir/ -name minernaam
rm -f /dir/minernaam
/dir/ را با دایرکتوری که میخواهید جستجو کنید جایگزین کنید. برخی از نمونههای خوب /var/ /etc/ و /home/ هستند. minername را با نام اسکریپت موجود در مرحله 2 جایگزین کنید.
نظرتون برامون مهمه شما اولین نظر رو بنویسید