ویرگول
ورودثبت نام
شایان کیان پور
شایان کیان پورمقالات در حوزه امنیت، DevOps و بازیسازی بصورت مرتب در این صفحه آپلود میشود ، این مقالات یا نوشته من هست یا بهترین اطلاعات جمع آوری شده . knpshayan@gmail.com
شایان کیان پور
شایان کیان پور
خواندن ۳ دقیقه·۳ ماه پیش

بررسی TCP IN / OUT و UDP IN / OUT در CSF و خطرات پورت‌های باز در لینوکس

📌 مقدمه

CSF (ConfigServer Security & Firewall) یکی از محبوب‌ترین فایروال‌های مبتنی بر iptables برای لینوکس است که به‌ویژه در سرورهای دارای cPanel یا Webmin استفاده می‌شود. این فایروال دسترسی ورودی و خروجی را بر اساس پروتکل و پورت مدیریت می‌کند. اما عدم تنظیم صحیح یا باز گذاشتن بیش از حد پورت‌ها می‌تواند به راحتی منجر به نفوذ شود.

📡 مفاهیم پایه: TCP IN / TCP OUT / UDP IN / UDP OUT

در فایل پیکربندی CSF (/etc/csf/csf.conf) چهار بخش کلیدی برای کنترل ترافیک وجود دارد:

  • TCP_IN لیست پورت‌هایی که سرور اجازه دریافت اتصال ورودی TCP را دارد (مثلاً SSH، HTTP).

  • TCP_OUT لیست پورت‌هایی که سرور می‌تواند از طریق TCP به بیرون اتصال برقرار کند (مثلاً آپدیت یا ارسال ایمیل).

  • UDP_IN لیست پورت‌هایی که سرور اجازه دریافت ترافیک UDP را دارد (مثلاً DNS درخواست).

  • UDP_OUT لیست پورت‌های مجاز برای ارسال ترافیک UDP از سرور به بیرون.

🚨 خطرات باز بودن بیش از حد پورت‌ها (Lazy Firewalling)

باز گذاشتن پورت‌های غیرضروری یا تنظیم اشتباه این چهار بخش، سرور را به روی تهدیدات متعددی باز می‌کند:

🔹 1. پورت‌های بلااستفاده = درگاه‌های پنهان نفوذ
مهاجمان می‌توانند با اسکن پورت‌ها (Port Scanning) پورت‌های باز را شناسایی کنند و سرویس‌های احتمالی را هدف قرار دهند.

🔹 2. استفاده از پورت‌های باز برای برقراری Reverse Shell
اگر پورت TCP OUT یا UDP OUT باز باشد، مهاجم در صورت موفقیت در اجرای کد روی سرور می‌تواند از طریق پورت‌های باز ارتباط با سیستم خود برقرار کرده و دستورات دلخواه اجرا کند.

🔹 3. پورت‌های باز = کانال‌های اکسفیلتر داده
پورت‌های باز UDP (مثلاً 53) ممکن است برای ارسال داده به بیرون بدون شناسایی توسط IDS/IPS استفاده شوند.

🧪 مثال واقعی از نفوذ از طریق پورت باز

فرض کنیم تنظیمات فایروال شما به شکل زیر است:

TCP_IN = "22,80,443,3306"
TCP_OUT = "1:65535"
در این حالت:

پورت MySQL (3306) برای همه آی‌پی‌ها باز است.

تمام پورت‌های خروجی TCP باز هستند.

سناریوی حمله🦾:

مهاجم با اسکن سرور شما متوجه باز بودن پورت 3306 می‌شود.

با ابزارهایی مانند nmap و mysql-client تلاش می‌کند به دیتابیس وصل شود.

اگر رمز عبور ضعیف باشد یا حتی بدون پسورد تنظیم شده باشد، مهاجم دسترسی کامل به دیتابیس خواهد داشت.

سپس با اجرای یک دستورات UDF یا بارگزاری یک اسکریپت در یک جدول، یک reverse shell روی پورت خروجی باز (مثلاً 4444) راه‌اندازی می‌کند.

✅ راهکارهای امنیتی

🔐 1. بستن پورت‌های بلااستفاده
فقط پورت‌هایی را در TCP_IN یا UDP_IN باز بگذارید که واقعاً مورد نیاز هستند.

🧱 2. محدود کردن IP برای پورت‌های حساس
برای مثال پورت 3306 فقط برای IP خاصی باز شود:

iptables -A INPUT -p tcp --dport 3306 -s YOUR_IP -j ACCEPT

🚫 3. محدود کردن TCP_OUT و UDP_OUT
باز گذاشتن 1:65535 در TCP_OUT و UDP_OUT بسیار خطرناک است. فقط پورت‌هایی مثل 53 (DNS)، 80/443 (HTTP/HTTPS)، 25/587/465 (SMTP) و ... را باز بگذارید.

🛡️ 4. فعال‌سازی حالت "RESTRICT_SYSLOG"
در CSF با فعال‌سازی این گزینه از مشاهده لاگ توسط کاربران غیراساس جلوگیری می‌کنید:

RESTRICT_SYSLOG = "3"

🔄 5. بررسی و مانیتورینگ پورت‌ها
به طور منظم با ابزارهایی مثل netstat, ss, lsof یا nmap پورت‌های باز را بررسی کنید.

📌 نتیجه‌گیری

فایروال CSF با وجود سادگی، ابزار قدرتمندی برای محافظت از سرور است. اما تنها در صورتی مؤثر خواهد بود که پیکربندی دقیق و حساب‌شده‌ای داشته باشد. باز بودن بیش‌از‌حد پورت‌ها، به‌ویژه در بخش TCP_OUT یا UDP_IN می‌تواند راهی آسان برای نفوذگران فراهم کند. با محدودسازی صحیح پورت‌ها و نظارت مداوم، می‌توان ریسک نفوذ را به‌شدت کاهش داد.

امنیتفایروالامنیت سایبریهک و امنیتتکنولوژی
۱
۰
شایان کیان پور
شایان کیان پور
مقالات در حوزه امنیت، DevOps و بازیسازی بصورت مرتب در این صفحه آپلود میشود ، این مقالات یا نوشته من هست یا بهترین اطلاعات جمع آوری شده . knpshayan@gmail.com
شاید از این پست‌ها خوشتان بیاید