اینجاست که بستن پورت های غیر ضروری سرور اهمیت پیدا میکند. البته قرار نیست بدون بررسی، هر پورتی را که باز است مسدود کنیم چون ممکن است همین کار باعث از دسترس خارج شدن یک سرویس حیاتی شود. مدیریت صحیح پورتها یعنی ابتدا بدانید چه چیزی روی سرور در حال اجراست، چه پورتی به آن اختصاص دارد و آیا به دسترسی شبکه نیاز دارد یا خیر رویکردی که در کنار راهکارهایی مانند خرید فایروال فورتی گیت میتواند بخشی از استراتژی دفاعی شبکه باشد و در این مقاله با اهمیت آن و روشهای اجرای این سیاست آشنا میشوید.
چرا بستن پورت های غیر ضروری سرور اهمیت دارد؟
باز بودن یک پورت به خودی خود به معنی وجود مشکل امنیتی نیست، زیرا بسیاری از سرویسهای ضروری سرور برای ارائه خدمات شبکه باید روی پورت مشخصی Listen کنند. مسئله زمانی ایجاد میشود که پورتی بدون نیاز واقعی باز باشد، سرویس مربوط به آن قدیمی یا آسیبپذیر باشد، یا دسترسی به آن بدون محدودیت مناسب انجام شود.
به همین دلیل، مدیریت پورتها بخشی از Attack Surface Reduction یا کاهش سطح حمله است. هرچه سرویسها و مسیرهای ارتباطی غیرضروری کمتری در دسترس باشند، تعداد نقاطی که مهاجم میتواند بررسی یا هدف قرار دهد نیز کاهش پیدا میکند.
پورت باز چه خطری برای سرور دارد؟
وقتی یک پورت روی سرور باز است، اغلب یک سرویس شبکه در حال Listen کردن روی آن است. بنابراین مهاجم میتواند در صورت دسترسی به شبکه، اطلاعاتی درباره آن سرویس به دست آورد برای مثال نوع سرویس، نسخه نرمافزار یا رفتار پورت را بررسی کند.
آیا باز بودن هر پورت به معنای آسیبپذیری است؟
خیر. یک پورت باز نشاندهنده وجود یک سرویس فعال است و اگر آن سرویس برای عملکرد سرور ضروری باشد، باز بودن پورت طبیعی است. برای مثال، یک Web Server ممکن است برای ارائه سرویس HTTP یا HTTPS به پورتهای مربوطه نیاز داشته باشد. بنابراین نباید با مشاهده یک Port Scan تصمیم بگیریم که تمام پورتهای باز را مسدود کنیم.
قبل از بستن پورتهای سرور چه مواردی را بررسی کنیم؟
یکی از رایجترین اشتباهات هنگام ایمنسازی سرور این است که مدیر شبکه مستقیم سراغ فایروال میرود و شروع به مسدود کردن پورتها میکند. این کار میتواند باعث قطع شدن سرویسهای حیاتی، از دست رفتن دسترسی مدیریتی یا اختلال در ارتباط بین سرورها شود. از این رو، شما باید قبل از ایجاد هر Rule، چهار مرحله زیر را طی کنید:
شناسایی پورتهای باز
اولین مرحله پیش از بستن پورت های غیر ضروری سرور، تهیه فهرستی از پورتهایی است که روی سرور در وضعیت Listen قرار دارند یا از شبکه قابل دسترسی هستند. در این مرحله هدف این نیست که پورتها را ببندیم بلکه باید بدانیم:
- چه پورتهایی باز هستند؟
- روی چه Interfaceهایی Listen میکنند؟
- TCP هستند یا UDP؟
- آیا از شبکه داخلی قابل دسترسیاند؟
- آیا از اینترنت نیز قابل دسترسی هستند؟
![]()
مشخص کردن سرویس مرتبط با هر پورت
شناخت شماره پورت بهتنهایی کافی نیست، بلکه باید مشخص کنید که کدام Process یا Service از آن استفاده میکند. برای مثال، دیدن TCP Port 443 فقط به ما میگوید یک سرویس روی این پورت در دسترس است اما برای تصمیمگیری باید بدانیم این سرویس متعلق به کدام Application است و آیا واقعا موردنیاز سازمان است یا خیر.
بررسی وابستگی سرویسها
اجرای این مرحله پیش از اقدام به بستن پورت های غیر ضروری سرور بسیار مهم است زیرا ممکن است یک سرویس ظاهرا غیرضروری به نظر برسد اما سایر سیستمهای سازمان به آن وابسته باشند. برای مثال، یک Application Server ممکن است برای ارتباط با Database Server به یک پورت خاص نیاز داشته باشد. اگر این پورت بدون بررسی مسدود شود، برنامه اصلی نیز از کار میافتد.
تهیه مستندات و نسخه پشتیبان از تنظیمات
قبل از اعمال تغییرات، وضعیت فعلی سرور و فایروال را مستند کنید. این کار باعث میشود اگر پس از مسدود کردن یک پورت مشکلی ایجاد شد، بتوانید تغییرات را سریعتر شناسایی و در صورت نیاز به وضعیت قبلی برگردید. همچنین در صورت امکان، از Configuration فایروال و تنظیمات مرتبط سرور Backup تهیه کنید.
روشهای بستن پورتهای غیرضروری سرور
بستن پورت های غیر ضروری سرور را میتوانید در چند لایه مختلف انجام دهید. انتخاب روش مناسب به معماری شبکه، سیستمعامل، نوع سرویس و سطح دسترسی موردنیاز بستگی دارد این روشها عبارتند از:
بستن پورت با فایروال سیستمعامل
یکی از سادهترین روشها، استفاده از فایروال داخلی خود سیستمعامل است. در ویندوز میتوانید از Windows Defender Firewall و در لینوکس از ابزارهایی مانند UFW، firewalld یا nftables برای کنترل ترافیک استفاده کنید. در این روش میتوانید برای پورت مورد نظر یک Rule ایجاد کنید تا ترافیک ورودی یا خروجی آن مسدود شود.
محدود کردن دسترسی به پورت به IPهای مشخص
در بسیاری از مواقع، بستن کامل یک پورت بهترین راهکار نیست. ممکن است یک سرویس موردنیاز باشد، اما فقط تعداد محدودی از کاربران یا سرورها باید به آن دسترسی داشته باشند. در چنین شرایطی میتوانید دسترسی را به IPهای مشخص یا یک Subnet مشخص محدود کنید.
بستن پورت در فایروال شبکه
روش دیگر بستن پورت های غیر ضروری سرور، اعمال محدودیت در فایروال شبکه است. در این حالت ترافیک قبل از رسیدن به سرور بررسی میشود و میتوانید Ruleهایی برای مسدود کردن پورتهای غیرضروری یا محدود کردن آنها به IPهای مشخص ایجاد کنید.
کدام پورتهای سرور نیاز به بررسی بیشتری دارند؟
هیچ فهرست ثابتی از پورتهای «خطرناک» وجود ندارد زیرا میزان ریسک به سرویس، نسخه نرمافزار، نحوه پیکربندی و محل دسترسی بستگی دارد. با اینحال، برخی پورتها به دلیل ارتباط با سرویسهای مدیریتی، اشتراک فایل، پایگاه داده یا سرویسهای قدیمی، باید با دقت بیشتری بررسی شوند برخی از مهمترین انواع این پورتها عبارتند از:
|
پورت/محدوده
|
سرویس رایج
|
چرا نیاز به بررسی دارد؟
|
|
22/TCP
|
SSH
|
دسترسی مدیریتی به سرورهای لینوکس
|
|
23/TCP
|
Telnet
|
فاقد رمزنگاری مناسب
|
|
25/TCP
|
SMTP
|
در سرورهای ایمیل کاربرد دارد در سایر سرورها باید بررسی شود.
|
|
53/TCP/UDP
|
DNS
|
برای DNS ضروری است، اما نباید بدون نیاز در معرض دسترسی عمومی قرار گیرد.
|
|
3306/TCP
|
MySQL
|
پایگاه داده نباید برای کل شبکه یا اینترنت باز باشد.
|
|
3389/TCP
|
RDP
|
دسترسی مدیریتی ویندوز بهتر است مستقیم از اینترنت در دسترس نباشد.
|
آنچه درباره بستن پورت های غیر ضروری سرور گفتیم
بستن پورتهای غیرضروری یکی از اقدامات ساده اما مؤثر برای کاهش سطح حمله سرور است بااینحال، این کار نباید به شکل کورکورانه انجام شود. ابتدا باید پورتهای باز شناسایی، سرویس مرتبط با هرکدام مشخص و وابستگی سرویسها بررسی شود. سپس با تهیه مستندات و Backup از تنظیمات، میتوانید Ruleهای مناسب را در فایروال سرور یا فایروال شبکه اعمال کنید.
در نهایت، هدف اصلی مدیریت پورتها این نیست که تعداد پورتهای باز را صرفا به صفر برسانیم بلکه باید کاری کنیم که هر پورت باز، دلیل مشخص، سرویس موردنیاز و محدوده دسترسی کنترلشده داشته باشد. این رویکرد در کنار بهروزرسانی منظم، احراز هویت مناسب، مانیتورینگ و استفاده صحیح از فایروال، امنیت سرور را به شکل قابلتوجهی بهبود میدهد.
پایان خبر / رکنا / کدخبر 1246447


