Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Bắt đầu với iptables trong Linux

Hướng dẫn chi tiết này giúp bạn bắt đầu dùng iptables – firewall kinh điển, tin cậy – trong Linux.

Máy Linux nổi tiếng an toàn. Nghiên cứu cho thấy Linux được thiết kế an toàn. Tuy nhiên, dù có nhiều tính năng bảo mật built-in, bạn cần cấu hình đúng để chúng hoạt động. Tôi sẽ hướng dẫn setup một công cụ bảo mật máy – firewall. Dùng iptables firewall trong Linux. Giả sử bạn dùng server chạy Red Hat Enterprise Linux 4 hoặc tương tự. Hầu hết bước cũng áp dụng cho distro khác. Ta sẽ setup firewall cho server chạy Apache Web Server, FTP, và SSH.

Trước tiên xem các app dùng port nào và port nào cần mở trên firewall.

  • Apache web server chạy port 80 mặc định. Phục vụ web content trên port này → phải mở.
  • SSH chạy port 22. Cần remote connect → mở.
  • FTP chạy port 21. Cần mở để giao tiếp.

Tiếp, kiểm tra iptables đã cài chưa. Chạy lệnh sebagai root:

# rpm -qa | grep iptables

Nếu cài rồi sẽ ra version. Nếu chưa:

# yum install iptables
# /etc/init.d/iptables start

Kiểm tra config hiện tại:

# iptables –list
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

Lệnh liệt kê tất cả firewall rule hiện tại. Giả sử chưa có rule nào. Cấu hình firewall cho phép giao tiếp trên port 80 (web), 22 (SSH), 21 (FTP), chặn port khác.

Script config firewall. Tạo file mới tên iptable-firewall.sh, copy nội dung sau:

#!/bin/sh

ANY="0/0"
OPEN_PORTS="21 22 80"

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Flush (-F) all specific rules
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT

for port in $OPEN_PORTS
do
iptables -A INPUT -i eth0 -p tcp -s $ANY -d $ANY –destination-port $port –syn -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -s $ANY -d $ANY –destination-port $port –syn -j ACCEPT
done

iptables -A INPUT -i eth1 -p icmp -s $ANY -d $ANY -j ACCEPT

# Allow any related/established connections
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth1 -m state –state ESTABLISHED,RELATED -j ACCEPT

# Kill everything else
iptables -A INPUT -i eth0 -j DROP
iptables -A INPUT -i eth1 -j DROP

# Write for boot
iptables-save > /etc/sysconfig/iptables

Lưu file, cấp quyền thực thi và chạy:

# chmod +x iptable-firewall.sh
# ./iptable-firewall.sh

Kiểm tra rule:

# iptables –list

Tất cả rule đã set. Server đã an toàn. Để sửa đổi, edit dòng OPEN_PORTS thêm/bớt port, chạy lại script.

Nếu command line quá phức tạp, xem tutorial "How to setup Firestarter – an easy to use Linux Firewall" có GUI.