با گسترش استفاده از سیستم‌های VoIP در کسب‌وکارها، امنیت این بسترهای ارتباطی اهمیت بیشتری پیدا کرده است. VoIP به دلیل ماهیت real-time و وابستگی به پروتکل‌های باز مانند SIP، مستعد انواع حملات سایبری است؛ بخصوص حملات SIP Flooding و DDoS.
در این مقاله به‌عنوان یک مرجع تخصصی، با روش‌های مقابله با این حملات آشنا می‌شویم. تمامی راهکارها بر اساس تجربه عملی در محیط‌های واقعی تنظیم شده‌اند. 

تعریف حملات SIP Flooding و DDoS در VoIP:
 SIP Flooding چیست؟
نوعی حمله است که با ارسال انبوه پیام‌های SIP (REGISTER، INVITE، OPTIONS، ...) باعث اشباع سرور، مصرف منابع و نهایتاً قطع سرویس می شود.
مثال: ارسال 10,000 درخواست REGISTER در ثانیه به Asterisk باعث می‌شود حافظه و CPU سرور اشباع شده و تماس‌ها Fail شوند.
 
DDoS در VoIP چیست؟
حملات توزیع‌شده که با استفاده از صدها یا هزاران آی‌پی، حجم عظیمی از ترافیک را به سمت پورت‌های VoIP ارسال می کند و باعث از کار افتادن سیستم می شود.
 
لایه‌های مقابله: از فایروال تا مانیتورینگ
  1- محافظت با iptables و Rate Limiting
 کد جلوگیری از SIP Flooding در پورت 5060:
iptables -A INPUT -p udp --dport 5060 -m limit --limit 10/sec --limit-burst 20 -j ACCEPT
iptables -A INPUT -p udp --dport 5060 -j DROP
این قانون جلوی افزایش ناگهانی درخواست‌های REGISTER/INVITE رو می‌گیره.
 
  2- استفاده از Fail2Ban برای Asterisk
نصب Fail2Ban در Debain/Ubuntu: 
sudo apt update
sudo apt install fail2ban
تنظیم فایل jail.local برای VoIP:
[asterisk]
enabled  = true
port     = 5060,5061
protocol = udp
filter   = asterisk
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime  = 3600
findtime = 600
  3- استفاده از SBC (Session Border Controller)
 مزایا:
  • حفاظت در برابر SIP Malformed Packets
  • محدودسازی نرخ تماس‌ها (Call Rate Limiting)
  • SIP Header Normalization
  • مخفی‌سازی اطلاعات سرور اصلی
 SBCهای رایگان و تجاری:
نرم افزار نوع امکانات
Kamailio رایگان/اوین سورس SIP Load Balancer, SIP Firewall
FreeSBC تجاری(نسخه رایگان محدود) ddOs Protection, Call Admission Control
Cisco CUBE تجاری Enterprise SBC
 
  4- ACL (Access Control List) در Asterisk
 نمونه کد در `pjsip.conf`:
[trusted-user]
type=endpoint
transport=transport-udp
aors=trusted-aor
auth=trusted-auth
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/24
فقط آی‌پی‌های لوکال اجازه ارسال پیام SIP دارند.

  5- مانیتورینگ با sngrep و Homer
 نصب sngrep:
sudo apt install sngrep
 
کاربرد:
  • نمایش live تماس‌ها و ترافیک SIP
  • بررسی INVITE، BYE، REGISTER
نصب و کاربرد Homer (برای شبکه‌های VoIP بزرگ):
  •  مانیتورینگ SIP + RTP
  • تحلیل QoS تماس‌ها
  • داشبورد گرافیکی و قابل اتصال به Grafana
  6- استفاده از Cloud DDoS Protection
 اگر SIP Server از بیرون اینترنت در دسترس است، می‌توان آن را پشت سرویس‌های ضد DDoS مثل موارد زیر قرار داد:
 
سرویس کاربرد
Cloudflare Spectrum حفاظت از UDP/VoIP Ports
AWS Shield محافظت از سرور های SIP مستقر در AWS
Voxility/Radware محافظت در دیتاسنترهای حرفه ای
 
نکات امنیتی تکمیلی در پیکربندی سرور VoIP
 
غیرفعال کردن SIP Guest:
  allowguest=no
محدود کردن SIP Methods:
  disallow=all
  allow=ulaw,alaw
تعیین User-Agent مشخص برای رد درخواست‌های ناشناس:
  useragent=MySecurePBX
 
جمع‌بندی: 
راهکار سطح اجرا سختی ضروری؟
iptables + Rate Limit شبکه کم
Fail2Ban سیستم عامل متوسط
ACL در SIP سرور SIP متوسط
SBC بین شبکه ها بالا برای سازمان ها
DDoS ابری اینترنت بالا بستگی به نوع دسترسی
مانیتورینگ SIP ابزار متوسط برای پیشگیری