اوبونتوسنت او اسسیستم عامل لینوکسمقالات وب
چگونه پورت ها را در اوبونتو و سنت او اس به کمک IPtable باز کنیم؟
پیکربندی صحیح فایروال یکی از نکات مهم برای داشتن سرور مجازی امن است. در این مقاله به شما نشان خواهیم داد که چگونه می توانید فایروال را تنظیم کنید و پورت های مورد نیاز در سرور مجازی لینوکس را باز کنید. با اینکه ابزارهای قدرتمند زیادی برای مدیریت فایروال بر روی سرور وجود دارد اما ما در این مقاله از IPtable استفاده می کنیم. پس همراه وب ایده باشید.
از طریق SSH به سرور مجازی خود متصل شوید:
قبل از هر کاری به سرور مجازی خود متصل شوید و قوانین فعلی IPtable را به کمک دستور زیر فهرست کنید:
sudo iptables -L
اگر اخیرا سرور خود را تنظیم کرده اید قانونی برای این فایروال وجود نخواهد داشت و خروجی باید شبیه خروجی زیر باشد:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
پاک کردن قوانین ناخواسته:
اگر در حال حاضر فایروال شما قوانینی دارد که نمی خواهید از آن استفاده کنید می توانید آن را به کمک دستور زیر پاک کنید:
sudo iptables -F
مراقب این دستور باشید به خصوص اگر سیاست پیش فرض شما بر روی Chainهای Input و Output بر روی چیز دیگری تنظیم شده است.
قوانین فایروال را اضافه کنید:
اولین قانونی که باید برای فایروال خود اضافه کنید قانون زیر است:
sudo iptables -A INPUT -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
این قانون به فایروال می گوید که ارتباط فعلی SSH شما را بپذیرد. در مرحله بعدی باید به ترافیک رابط Loopback اجازه ورود و خروج دهید:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp –dport 80 -j ACCEPT
قوانین فعلی را فهرست کنید:
قوانین فعلی را به کمک دستور زیر فهرست کنید:
sudo iptables -L
خروجی باید شبیه خروجی زیر باشد:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all — anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all — anywhere anywhere
ACCEPT tcp — anywhere anywhere tcp dpt:ssh
ACCEPT tcp — anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all — anywhere anywhere
برای دریافت خروجی دقیق تر از دستور زیر استفاده کنید:
sudo iptables -nvL
خروجی باید شبیه خروجی زیر باشد:
Chain INPUT (policy ACCEPT 4 packets, 255 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
0 0 ACCEPT all — lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 4 packets, 283 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all — * lo 0.0.0.0/0 0.0.0.0/0
استفاده از قانون DROP:
حالا می توانید از قانون Drop استفاده کنید که تمامی پکت های ورودی که با قوانین Accept همخوانی ندارد را رد می کند.
sudo iptables -P INPUT DROP
نصب iptables-persistent:
اخرین کاری که باید انجام دهید، ذخیره سازی قوانین و دائمی کردن آن هاست. اگر از سرور مجازی اوبونتو استفاده می کنید دستور زیر را اجرا کنید:
sudo apt-get install iptables-persistent
بر روی اوبونتو 14.04 از دستور زیر برای ذخیره یا بارگذاری قوانین استفاده کنید:
sudo /etc/init.d/iptables-persistent save
sudo /etc/init.d/iptables-persistent reload
بر روی اوبونتو 16.04 از دستور زیر استفاده کنید:
sudo netfilter-persistent save
sudo netfilter-persistent reload
اگر از سنت او استفاده می کنید از دستور زیر بهره مند شوید:
service iptables save