تنظیم IPTables برای بالا بردن ضریب امنیت سرور تلفنی Asterisk
وقتی از Asterisk به عنوان سوییچ نرم افزاری (SoftSwitch ) برای انتقال ترافیک VoiceOverIP سازمان استفاده می کنید و هزینه زیادی برای ترافیک داخلی و بین الملل پرداخت می کنید ، امنیت Asterisk بیشتر اهمیت پیدا می کند . همیشه هکر هایی در سازمان یا بیرون آن وجود دارند که به دنبال Asterisk های ناامنی هستند که بتوانند به آن نفوذ کرده و در کمتر از چند دقیقه یک صورت حساب میلیونی به شما هدیه بدهند .
در اینجا نمی خواهیم مکانیزم های امنیتی ممکن و موجود را برای امن کردن یک سرور در شبکه بیان کنیم بلکه به طور خاص نکاتی در استفاده از فایروال پیش فرض لینوکس به عنوان اولین مرحله از چرخه تامین امنیت این سرویس را بررسی می کنیم .
[B]مسدود کردن دسترسی به سرور برای همه بجز کاربران معتبر:[/B]
اگز از Asterisk فقط برای سرویس دهی به کاربران سازمان خودتان ، یک رنجه آی پی یا شبکه استفاده می کنید و نیازی به دسترسی به سرور توسط تمامی کاربران ( مثلا برای ارائه یک سرویس تلفن بین الملل عمومی ) ندارید اولین گام مسدود کردن تمامی ترافیک عبوری برای تمامی کاربران است . این مرحله را به صورت Locally برروی سرور Asterisk انجام دهید چون ارتباط خود شما نیز قطع خواهد شد .
[LEFT]iptables -P INPUT DROP[/LEFT]
اکنون تمامی ترافیک ورودی به سرور شما مسدود شده است . در این مرحله به آی پی ، رنجه آی پی یا شبکه ای که می خواهیم با سرور ما تبادل ترافیک داشته باشند را اجازه دسترسی می دهیم . به عنوان مثال:
[LEFT]iptables -I INPUT -s 173.194.32.104 -j ACCEPT[/LEFT]
یا برای یک رنجه شبکه :
[LEFT]iptables -I INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT[/LEFT]
از دستور بالا زمانی که شما چندین کارت شبکه دارید و شبکه مورد اعتماد شما به یکی از کارت شبکه ها متصل است نیز می توانید استفاده کنید .
[B]مسدود کردن دسترسی به اتصال های SIP :[/B]
برای مسدود کردن دسترسی یک آی پی به پورت SIP :
[LEFT]iptables -A INPUT -p TCP -s 192.168.16.1 --dport 5060 -j DROP[/LEFT]
اگر از علامت تعجب قبل از آدرس آی پی استفاده کنید دسترسی تمامی آی پی به پورت SIP بجز آی پی مورد نظر مسدود خواهد شد .
[LEFT]iptables -A INPUT -p TCP -s ! 192.168.16.1 --dport 5060 -j DROP[/LEFT]
البته مسدود کردن دسترسی به یک پورت خاص برای یک آی پی مطمئنا روش مناسبی برای جلوگیری از نفوذ نخواهد بود و دسترسی به صورت کامل باید مسدود شود .
[B]DROP در برابر REJECT[/B]
نکته ای که باید در مسدود کردن دسترسی ها در IPtables مورد توجه قرار بدهیم DROP کردن پکت ها و نه REJECT کردن آنها است
در واقع استفاده از REJECT ، هکر را از اینکه پکت های او REJECT شده مطلع می کند و در پویش توپولوژی شبکه کمک خواهد کرد .
[CENTER]امید مهاجرانی
Omid dot mohajerani at gmail dot com
[URL="http://linux-notes.blogfa.com"]Notes On Computer Networks[/URL][/CENTER]