تنظیمات فایروال سنتوس

| دسته بندی: آموزش امنیت سرور مجازی سرور مجازی لینوکس |
تنظیمات فایروال سنتوس

آموزش تنظیمات فایروال سنتوس توسط دستورات لینوکس

در این آموزش از سری آموزش های لینوکس قصد داریم نحوه عملکرد فایروال سنتوس را بررسی کرده و کار با آن را بیاموزیم.

در صورتی که شما از لینوکس CentOS استفاده می کنید می توانید با یادگیری دستورات زیر، به طور کامل فایروال خود را کانفیگ و بررسی نمایید.

1.نمایش وضعیت فایروال سنتوس

برای مشخص شدن رول هایی که در حال حاضر در iptables وجود دارند، می توانید از دستور زیر استفاده فرمائید

iptables -L -n -v

توضیح دستور استفاده شده بالا

L- : لیست رول ها

v- : نمایش جزئیات

n- :  نمایش ip و پورت بصورت عددی

2.تغییر وضعیت فایروال سنتوس

از دستورات زیر به ترتیب برای خاموش ، روشن و ریستارت فایروال می توان استفاده کرد.

service iptables stop
service iptables start
service iptables restart

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

service iptables stop
chkconfig iptables off

3.حذف قوانین و رول های فایروال سنتوس

ابتدا به کمک دستورات زیر شماره خط رول را بدست آورید.

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

حال به عنوان مثال برای حذف رول موجود در خط شماره 4 می توانید از دستور زیر استفاده کنید.

iptables -D INPUT 4

و یا از دستور زیر برای حذف قوانین مروبطه به ای پی مورد نظر خود استفاده کنید.

iptables -D INPUT -s 202.54.1.1 -j DROP

توضیح:

D- : حذف یک یا چند رول از زنجیره انتخاب شده

3.1 حذف کلیه رول ها از فایروال ( Flush iptables ):

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

iptables -F

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

iptables -t nat -F
iptables -t mangle -F

برای مشاهده وضعیت رول ها مجدد از دستور زیر استفاده کنید.

iptables -L -v -n

4.نحوه مسدود کردن ترافیک ورودی ، خروجی و یا فوروارد در فایروال سنتوس

برای مسدود کردن کل ترافیک می توانید از دستورات زیر استفاده فرمائید ( دقت نمائید که این دستورات می تواند مانع از دسترسی شما به سرور گردد.).

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

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

service iptables save

5.نحوه مسدود نمودن یک IP بر روی سرور

به کمک دستورات اول شما می توانید ترافیک ورودی از سوی ای پی 1.2.3.4 و به وارد کردن دستور دوم کل ترافیک ورودی برای رنج ای پی مورد مثال مسدود می گردد.

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

6.نحوه مسدود کردن ترافیک ورودی بر روی یک پورت خاص

به کمک دستورات زیر می توان ترافیک ورودی را بر روی پورت 80 مسدود نمائید. لازم به توضیح است که معمولا وب سرور از پورت 80 برای نمایش وب سایت استفاده می کند.

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

برای مسدود کردن ترافیک ورودی بر روی پورت 80 تنها برای یک 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

7.نحوه مسدود نمودن ترافیک خروجی

برای مسدود نمودن ترافیک خروجی برای یک 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

8.لاگ کردن فعالیت ها

خیلی از مواقع نیاز است تا از ریز فعالیت هایی که بر روی شبکه سرور در حال وقوع است مطلع شوید برای مثال برای جلوگیری از IP spoofing بر روی اینترفیس eth1  می توانید از دستور زیر استفاده فرمایید.

در این دستور در حالیکه  ترافیک مربوطه مسدود می گردد ، تلاش های صورت گرفته نیز با پیشوند IP_SPOOF A در لاگ ذخیره می شود.

iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

معمولا لاگ ها در مسیر /var/log/messages قرار دارند که البته با توجه به ویرایش لینوکس مورد استفاده، می تواند متفاوت باشد.

برای مشاهده لاگ های مربوطه می توانید از دستورات زیر استفاده کنید.

tail -f /var/log/messages
grep --color 'IP SPOOF' /var/log/messages

برای جلوگیری از حجیم شدن لاگ فایل می توان از قابلیت سوکت m- در دستور استفاده کرد که به کمک آن می توان تنظیم نمود که برای هر 5 دقیقه بیش از 7 مورد را در لاگ ذخیره نکند.

iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP

9.چگونه از باز یا بسته بودن یک پورت توسط فایروال بر روی شبکه آگاه شویم؟

برای آگاهی از باز بودن و نبودن پورت می توانید از دستور زیر استفاده فرمایید.

netstat -tulpn

به عنوان مثال برای اطلاع از اینکه آیا پورت tcp 80 باز است یا خیر از دستور زیر استفاده کنید.

netstat -tulpn | grep :80

برای اطلاع یافتن از باز بودن یک پورت در iptables دستور زیر را وارد کنید.

به عنوان مثال ما در این دستور می خواهیم وضعیت باز بودن پورت 80 را بررسی کنیم.

iptables -L INPUT -v -n | grep 80

در صورتیکه یک پورت مسدود بود می توانید از دستور زیر استفاده فرمایید.

توسط دستور زیر پورت 80 باز می شود.

iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
service iptables save

10.غیر فعال کردن فایروال سنتوس

اگر با مشکلی در دسترسی به فایروال روبرو هستید و یا فایروال مانع از کارکرد صحیح سرویس های اصلی سرور شما شده است؛ می توانید به کمک دستورات زیر فایروال را خاموش کنید.

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

service iptables stop
chkconfig iptables off

برای آشنایی بیشتر با iptables و مطالعه manual های آن می توانید از دستور زیر استفاده فرمایید.

man iptables

برای مشاهده راهنمای آن دستور زیر قابل استفاده خواهد بود.

iptables -h

اگر بدنبال راهنمای فایروال تنها برای یک دستور خاص هستید از دستور زیر استفاده نمایید.

iptables -j DROP -h

از دستورات توضیح داده شده بالا می توانید برای تنظیمات فایروال سنتوس استفاده کرده تا امنیت سرور خود را برقرار نمایید.