تنظیم کردن فایروال Centos

فایروال سنتوس معمولا روی سرورهای لینوکسی، سی پنل و دایرکت ادمین نصب می‌شود و در این کنترل پنل‌ها معمولا فایروال همان CSF است. دایرکت ادمین به صورت پیش فرض فایروال ندارد و باید کاربر یا شرکت هاستینگ ارائه دهنده سرویس این دیواره آتش یا سپرواره را روی دایرکت ادمین برای حفاظت از حملات احتمالی به وب سایت نصب کند. وظیفه این فایروال چک کردن ترافیک ورودی به سرور است، فایروال سنتوس این قابلیت را دارد که ترافیک ورودی غیر مجاز را کشف کرده و مسدود کند. با استفاده از فایروال می‌توانید داده‌هایی که مورد انتظارتان نیست را نادیده گرفته و یا حتی مصرف سرویس‌هایتان را نیز مشروط نمایید.

فایروال سنتوس چه ویژگی هایی دارد؟
در فایروال سنتوس تنظیمات فایروال از طریق سرویس iptables انجام می‌شود، فایروال سنتوس در واقع یک سیستم امنیتی است که به شما اجازه می‌دهد تا ترافیک شبکه و اتصالات ورودی و خروجی را با استفاده از این دیوار آتش یا همان firewall کنترل کنید. برای آشنایی کامل firewall محتوای فایروال چیست؟ را مطالعه کنید.
با  این تنظیمات امکان حفاظت از سیستم شما در برابر حملات مختلف همچون حملات DDoS را به راحتی فراهم می‌کند. برخی از مهمترین ویژگی‌های فایروال سنتوس به شرح زیر است:
جلوگیری از دسترسی‌های نامناسب: با استفاده از فایروال سنتوس می‌توانید تنظیماتی برای جلوگیری از دسترسی به سرویس‌ها یا پورت‌های خاص تعریف کنید. به عنوان مثال می‌توانید اجازه دسترسی به سرویس SSH را تنها برای آدرس‌های IP خاصی محدود کنید.
محدود کردن ترافیک ورودی و خروجی: شما می‌توانید تنظیماتی را تعریف کنید که ترافیک ورودی و خروجی را محدود کند. این کار به کاهش ریسک حملات و افزایش امنیت کمک می‌کند.
تنظیم پورت‌ها و خدمات: با استفاده از فایروال سنتوس می‌توانید پورت‌های مربوط به سرویس‌ها را تعیین کنید که در دسترس باشند. این کار به شما اجازه می‌دهد تا کدام سرویس‌ها در دسترس باشند و کدام پورت‌ها بسته شوند.
مدیریت NAT (Network Address Translation): iptables امکان تنظیم NAT را فراهم می‌کند که به شما اجازه می‌دهد آدرس‌های IP و پورت‌ها را در ترافیک شبکه تغییر دهید، که می‌تواند برای مسائل مانند اشتراک اینترنت در شبکه‌های خانگی مفید باشد.

ناحیه Zone  فایروال چیست؟
در مفهوم firewall سنتوس ناحیه یا منطقه (Zone) یک تقسیم ‌بندی منطقی از شبکه است که به اجزای مختلف آن می‌پردازد. هر ناحیه معمولاً یک سطح از اعتماد و تنظیمات امنیتی را برای دستگاه‌ها و ترافیک درون آن تعیین می‌کند. این تقسیم ‌بندی به مدیران شبکه اجازه می‌دهد تا ترافیک شبکه را بر اساس اعتماد و نیازهای امنیتی به بخش‌های مختلف تقسیم کرده و سیاست‌های امنیتی را به طور مناسب پیکربندی کنند. در زیر توضیح مختصری از هر یک از این نواحی آمده است:
Drop: در این ناحیه از فایروال همه اتصالات ورودی بدون پاسخ رد می‌شوند و تنها برای اتصالات خروجی کاربرد دارد. این سطح کمترین اعتماد به ترافیک ناشناخته را نشان می‌دهد.
Block: در این حالت، درخواست‌های ورودی با پیام‌های ای سی ام پی (ICMP) همچون “icmp-host-prohibited” یا “icmp6-adm-prohibited” رد می‌شوند. این همچنین به منزلهٔ سطح کمترین اعتماد است.
Public: این ناحیه نماینده شبکه‌های عمومی و غیرقابل اعتماد است، اتصالات ورودی تنها به صورت موردی و با اعتبارسنجی ممکن است.
External: این ناحیه برای شبکه‌های خارجی استفاده می‌شود که به عنوان دروازه شبکه عمل می‌کند. NAT masquerading برای حفظ خصوصیت شبکه داخلی پیکربندی شده است.
Internal: این ناحیه به عنوان بخش داخلی دروازه (Gateway) عمل می‌کند، دستگاه‌های داخلی به طور قابل اعتماد شناخته شده‌اند و تعدادی سرویس اضافی در دسترس است.
DMZ (Demilitarized Zone): در این ناحیه، دستگاه‌های جدا شده که به باقی شبکه دسترسی ندارند قرار دارند. تنها اتصالات ورودی معین به این دستگاه‌ها مجاز هستند.
Work: این ناحیه برای دستگاه‌های کاری مورد استفاده قرار می‌گیرد، به اکثر دستگاه‌ها در شبکه اعتماد دارد.
Home: این ناحیه برای محیط خانگی استفاده می‌شود، به طور کلی به اکثر دستگاه‌ها اعتماد دارید و تعدادی سرویس اضافی ممکن است مجاز باشد.
Trusted: در این ناحیه به تمام دستگاه‌ها در شبکه اعتماد دارید. این ناحیه باز و آزادترین گزینه از گزینه‌های موجود در فایروال است و باید با احتیاط استفاده شود.

چطور فایروال سنتوس را نصب کنیم؟
فایروال سنتوس به طور پیش فرض بر روی برخی از سرورهای لینوکس نصب شده است. با این حال ممکن است لازم باشد که فایروال را خودتان نصب کنید، در این شرایط باید تنظیمات firewall در centos 6 را مطابق مراحل زیر انجام دهید.
برای نصب فایروال در سرور لینوکسی باید دستور زیر را وارد کنید:

sudo yum install firewalld

پس از نصب فایروال می توانید سرویس را فعال کرده و سرور خود را مجدد راه اندازی کنید. به خاطر داشته باشید که فعال کردن فایروال باعث راه اندازی سرویس در هنگام بوت می‌شود. از دستور زیر برای راه اندازی مجدد استفاده کنید.

sudo systemctl enable firewalld

sudo reboot
حتما قبل از راه اندازی مجددا سرو، تنظیمات مربوط به پیکربندی فایروال سنتوس را کنترل و بررسی نمایید تا مجبور به دوباره کاری پس از راه اندازی مجدد نشوید. هنگامی که سرور راه اندازی مجدد می‌شود، فایروال هم باید همزمان اجرا شود.

sudo firewall-cmd --state

پیام زیر نشان می‌دهد که فایروال ما با تنظیمات پیش‌ فرض نصب شده و در حال اجرا است.

Output
running

تنظیمات firewall در centos 6
تنظیمات firewall در centos 6 از طریق iptables  انجام می‌شود، iptables یک ابزار کاربردی برای مدیریت تنظیمات فایروال در سیستم‌های لینوکس است. در ادامه نحوه تنظیمات ابتدایی فایروال با استفاده از iptables در CentOS 6 را مرحله به مرحله شرح می‌دهیم. با دسترسی به سرور خود از طریق ترمینال یا SSH ، به حساب کاربری root وارد شوید، ترمینال را باز کنید و دستورات زیر را به ترتیب وارد کنید:

 برای مشاهده قوانین فعلی iptables
برای مشخص شدن رول‌هایی که در حال حاضر در iptables وجود دارند، می توانید از دستور زیر استفاده کنید:
iptables -L

برای تغییر وضعیت فایروال سنتوس
از دستورات زیر به ترتیب برای خاموش ، روشن و ریستارت فایروال می توان استفاده کرد:

service iptables stop
service iptables start
service iptables restart
اگر می خواهید فایروال را خاموش کرده و پس از راه اندازی مجدد  به همین صورت باقی بماند باید از دستور زیر استفاده کنید:

service iptables stop
chkconfig iptables off

برای حذف قوانین و رول‌های فایروال سنتوس
ابتدا به کمک دستورات زیر شماره خط رول را بدست آورید.


iptables -L INPUT -n --line-numbers

iptables -L OUTPUT -n --line-numbers

iptables -L OUTPUT -n --line-numbers | less

iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1

برای حذف کلیه رول‌ها می‌توانید از دستور زیر استفاده کنید:

iptables -F

اگر در جدول nat و mangle هم رولی اضافه کردید،  دو دستور زیر را نیز لازم است وارد نمایید.

iptables -t nat -F

iptables -t mangle -F

نحوه مسدود کردن ترافیک ورودی، خروجی و یا فوروارد در فایروال سنتوس
برای مسدود کردن کل ترافیک می توانید از دستورات زیر استفاده کنید:


iptables -P INPUT DROP

iptables -P OUTPUT DROP

iptables -P FORWARD DROP

برای ذخیره نمودن تغییرات اضافه شده در فایروال از دستور زیر استفاده نمایید:

service iptables save

نحوه مسدود نمودن یک IP بر روی سرور
به کمک دستور اول می‌توانید ترافیک ورودی از سوی ای پی ۱٫۲٫۳٫۴ و با وارد کردن دستور دوم کل ترافیک ورودی برای رنج ای پی مورد نظر را مسدود کنید:


iptables -A INPUT -s 1.2.3.4 -j DROP
iptables -A INPUT -s 192.168.0.0/24 -j DROP

مسدود کردن ترافیک بر روی یک پورت
با وارد کردن دستور زیر به راحتی می‌توانید کل ترافیک ورودی به یک پورت را مسدود کنید:


iptables -A INPUT -p tcp --dport 80 -j DROP

نحوه مسدود کردن ترافیک ورودی بر روی یک پورت خاص
به کمک دستورات زیر می توان ترافیک ورودی را بر روی پورت ۸۰ مسدود کنید:


iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP
برای مسدود کردن ترافیک ورودی بر روی پورت ۸۰ تنها برای یک IP و یا یک رنج IP می‌توانید از دستورات زیر استفاده کنید:

iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

نحوه مسدود نمودن ترافیک خروجی
برای مسدود نمودن ترافیک خروجی برای یک IP خاص و یا یک رنج IP باید از دستورات زیر استفاده نمایید:


iptables -A OUTPUT -d 1.2.3.4 -j DROP

iptables -A OUTPUT -d 192.168.1.0/24 -j DROP

iptables -A OUTPUT -o eth1 -d 192.168.1.0/24 -j DROP

برای لاگ کردن کلیه فعالیت‌ها
خیلی از مواقع نیاز است تا از ریز فعالیت هایی که بر روی شبکه سرور در حال وقوع است مطلع شوید برای این کار باید کلیه فعالیت‌ها را با دستور زیر لاگ کنید:


iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
در این دستور در حالیکه  ترافیک مربوطه مسدود می‌گردد، تلاش‌های صورت گرفته نیز با پیشوند IP_SPOOF A در لاگ ذخیره می شود.
برای بررسی باز یا بسته بودن یک پورت توسط فایروال بر روی شبکه
برای آگاهی از باز بودن و نبودن پورت می‌توانید از دستور زیر در فایروال سنتوس استفاده کنید:
netstat -tulpn 

غیر فعال کردن فایروال سنتوس
اگر با مشکلی در دسترسی به فایروال روبرو هستید و یا فایروال مانع از کارکرد صحیح سرویس‌های اصلی سرور شما شده است، می‌توانید با دستور زیر فایروال را غیر فعال کنید:


service iptables stop
با استفاده از این دستور پس از ریستارت سرور وضعیت به همین منوال باقی خواهد ماند و فایروال مجدد فعال نمی گردد:

chkconfig iptables off