راهکارهای جلوگیری از شکایت (Abuse) توسط دیتاسنترها
برای محافظت از سرور خود در برابر شکایات (Abuse) از سوی دیتاسنترها که میتواند منجر به مسدود شدن و از دست دادن هزینه شما شود، انجام اقدامات امنیتی ضروری است. این راهنما به شما کمک میکند تا دلایل رایج این شکایات و راههای پیشگیری از آنها را بشناسید.
ابیوز سرور چیست و چرا اتفاق میافتد؟
«ابیوز» به هرگونه فعالیت غیرمجاز یا مخرب اشاره دارد که از طریق سرور شما انجام شود و قوانین دیتاسنتر را نقض کند. این فعالیتها میتوانند ناخواسته و بدون اطلاع شما رخ دهند. دلایل رایج آن شامل موارد زیر است:
- آلودگی بدافزاری: اگر از برنامههای V-P-N، پرو-کـسی یا SSH-tunnel (مانند Soft-Ether) روی سرور لینوکس یا ویندوز استفاده میکنید، ممکن است موبایل یا کامپیوتر شما آلوده به بدافزار باشد.
- افزونهها و اسکریپتهای آسیبپذیر: نصب پلاگینها (افزونهها) یا اسکریپتهای نامعتبر و دارای باگ (مثلا از گیتهاب) میتواند به سرور شما دسترسی غیرمجاز بدهد یا فایلهای آلوده را در آن قرار دهد.
این بدافزارها و آسیبپذیریها میتوانند باعث شوند که سرور شما بدون اطلاع شما فعالیتهای مخربی مانند حملات دیداس (DDoS)، اسکن شبکه (Netscan)، ارسال ایمیل اسپم و… انجام دهد. در نتیجه، شکایت مربوط به این فعالیتها به دیتاسنتر ارسال شده و سرور شما مسدود میشود.
نمونه فعالیتهای ممنوعه با سرور که منجر به ابیوز میشوند
دیتاسنترها نسبت به برخی فعالیتها حساس هستند و در صورت مشاهده، سرور شما را مسدود میکنند. بنابراین، لازم است همیشه طبق قوانین دیتاسنترها عمل کنید.
- حملات شبکه و نفوذ:
انجام Netscan، Port scan، IP scan (برای یافتن پورتهای باز یا IPهای سالم کلودفلر).
انجام حملات دیداس (DDoS)، هک، فیشینگ (Phishing).
انجام حملات نفوذ و کرک اکانت مانند Credential Stuffing Attack و Brute Force (تلاش برای ورود با لیستهای یوزر/پسورد). - ارسال محتوای ناخواسته:
ارسال اسپم (SPAM) و ایمیل اسپم (Email Spam).
نقض قوانین کپیرایت:
نگهداری یا استفاده از فایلهایی که دارای قانون کپیرایت هستند (مانند استفاده از سرور برای هاست دانلود غیرمجاز یا استریم ویدئوهای کپیرایتدار مثل مسابقات ورزشی). - سوءاستفاده از منابع:
انجام ماینینگ ارز دیجیتال یا راهاندازی Node کریپتو (بهویژه در دیتاسنترهایی مانند هتزنر مجاز نیست).
راهکارهای امنیتی برای پیشگیری از ابیوز
فعالسازی و تنظیم فایروال (Firewall)
فعال کردن فایروال احتمال دریافت شکایات رایج از دیتاسنتر را به شدت کاهش میدهد. توصیه میشود حتما در هر دو سیستمعامل ویندوز و لینوکس فایروال را فعال کرده و فقط پورتهایی که نیاز دارید را در بخشهای ورودی (Inbound) و خروجی (Outbound) مجاز کنید. فایروالها به شما کمک میکنند تا پورتهای غیرضروری را که ممکن است توسط بدافزارها بدون اطلاع شما فعال شوند، مسدود کنید.
فایروال UFW (برای اوبونتو)
UFW (Uncomplicated Firewall) فایروال پیشفرض اوبونتو است. برای تنظیم آن ابتدا تمام اتصالات ورودی و خروجی را بهطور پیشفرض مسدود کنید
sudo ufw default deny incoming sudo ufw default deny outgoing
سپس پورت های مورد نیاز ورودی و خروجی را باز کنید:
# اجازه دادن به درخواستهای ضروری خروجی sudo ufw allow out 53 # DNS sudo ufw allow out 80 # HTTP sudo ufw allow out 443 # HTTPS sudo ufw allow out 2200 # در صورتی که برای SSH نیاز باشد (پورت پیشفرض 22 یا پورت تغییر داده شده) # اجازه دادن به درخواستهای ورودی مورد نیاز sudo ufw allow in 53 sudo ufw allow in 80 sudo ufw allow in 443 sudo ufw allow in 2200 # پورت SSH
برای اعمال تغییرات و فعالسازی فایروال:
sudo ufw reload sudo ufw enable sudo ufw status verbose
برای بستن یک پورت خاص (مثلا پورت 25 برای خروجی ایمیل)
sudo ufw deny out 25
نکات مهم برای تنظیم پورتها
- پورتهای رایج مانند 53 (DNS), 80 (HTTP), 443 (HTTPS) و همچنین پورت SSH سرورتان باید همیشه در هر دو حالت ورودی و خروجی باز باشند.
اگر از CDN Cloudflare استفاده میکنید، میتوانید پورتهای 8080, 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096, 8443 را نیز باز کنید.
اگر از سرور برای ارسال ایمیل استفاده نمیکنید، بهتر است پورتهای 25, 587, 465 خروجی را ببندید.
برای جلوگیری از حملات Brute Force که معمولا از پورت 22 خروجی انجام میشود، اگر از داخل سرورتان به سرور دیگری SSH نمیزنید، پورت 22 خروجی (TCP_OUT) را ببندید.
نصب و تنظیم فایروال CSF (برای لینوکس)
CSF (ConfigServer Firewall) یک فایروال قدرتمند برای لینوکس است. برای نصب و فعالسازی آن، دستورات زیر را به ترتیب در ترمینال لینوکس وارد کنید:
sudo apt-get update -y cd /usr/src rm -fv csf.tgz wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf sh install.sh perl /usr/local/csf/bin/csftest.pl apt-get install zip unzip echo '#!/bin/sh' > /usr/sbin/sendmail chmod +x /usr/sbin/sendmail apt-get install libwww-perl -y sudo service csf start sudo service csf status
فایل تنظیمات فایروال CSF در مسیر /etc/csf/csf.conf قرار دارد. میتوانید تنظیمات را از طریق رابط کاربری گرافیکی (Web UI) یا با استفاده از ویرایشگری مانند nano انجام دهید. با دستور nano /etc/csf/csf.conf فایل را باز کرده و تغییرات زیر را اعمال کنید:
- مقدار TESTING را به “0” تغییر دهید.
- مقدار RESTRICT_SYSLOG را به “3” تغییر دهید.
سپس پورتهای مورد نیاز را در بخشهای TCP_IN, TCP_OUT, UDP_IN, UDP_OUT باز کنید. مثال تنظیم پورتها در csf.conf:
# Allow incoming TCP ports TCP_IN = "80,53,443,8080,8880,2052,2082,2086,2095,2053,2083,2087,2096,8443,2200" # Allow outgoing TCP ports TCP_OUT = "80,53,443,8080,8880,2052,2082,2086,2095,2053,2083,2087,2096,8443" # Allow incoming UDP ports UDP_IN = "80,53,443,8080,8880,2052,2082,2086,2095,2053,2083,2087,2096,8443" # Allow outgoing UDP ports # To allow outgoing traceroute add 33434:33523 to this list UDP_OUT = "80,53,443,8080,8880,2052,2082,2086,2095,2053,2083,2087,2096,8443"
پس از انجام تنظیمات و ذخیره فایل، CSF را با دستور زیر ریستارت کنید:
csf -r
(تصویر زیر برای ipv4 هست، داخل همین صفحه تنظیمات و کمی پایینتر، تنظیمات برای Ipv6 هم قرار داره که اگر سرورتون Ipv6 داره، باید تنظیمات رو هم برای اون انجام بدید.)
مسدود کردن IP در CSF:
برای مسدود کردن یک IP خاص در فایروال CSF، فایل /etc/csf/csf.deny را باز کرده، IP مورد نظر را در آن وارد کنید و سپس CSF را ریستارت کنید.
nano /etc/csf/csf.deny # Add the IP address on a new line, e.g., 192.168.1.1 csf -r
تغییر پورت SSH
حملاتی تحت عنوان brute force توسط botnet ها روی صفحات لاگین مثل SSH یا صفحات ورود cPanel و DirectAdmin انجام میشه تا با لیستی از هزاران و میلیون ها user و password هایی که در اختیار Bot ها هست، به صفحات لاگین حمله کنند و تک تک اون مشخصات رو برای هر سرور تست میکنن و در صورت مطابقت با اطلاعات شما، وارد سرور شما شوند. پس حتما از روزهای قوی استفاده کنین و اینطور فکر نکنین که از کجا ممکن هست که رمز سرور شمارو داشته باشند.
به هیچ عنوان از پورت پیش فرض 22 استفاده نکنین، ما در بلوسرور پورت SSH سرورهارو عوض میکنیم.
bash <(curl -Ls https://gist.github.com/blueserver1/45a9ac3b7230cd3ba4bb9116fde8536b/raw)