Cấu hình rules firewall Iptables (Phần 3)

1.Mô hình

  • Client, Server cài hệ điều hành Ubuntu Server 16.04.
  • Cấu hình iptables tại Server.
  • Trên Backend1, cài Web server (apache2) chạy port 80.
  • Trên Backend2, cài Web server (apache2) chạy port 443.

2.Mục đích

  • Mặc định, DROP INPUT.
  • Mặc định, ACCEPT OUTPUT.
  • Mặc định, DROP FORWARD.
  • ACCEPT Established Connection.
  • ACCEPT kết nối từ loopback.
  • FORWARD gói tin đến port 80 trên ens33 đến port tương tự trên Backend1.
  • FORWARD gói tin đến port 443 trên ens33 đến port tương tự trên Backend2.
  • Nhưng DROP gói tin từ 172.16.69.2.
  • ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN.
  • ACCEPT kết nối SSH từ trong mạng LAN
  • Nhưng DROP gói tin từ 10.10.10.101.
  • ACCEPT Outgoing Packets thông qua Server từ mạng LAN (10.10.10.0/24) và nat địa chỉ nguồn của packet.

3.Cấu hình

Đặt IP Tĩnh cho client, backend01 và backend02 trỏ về gateway 10.10.10.11

1. Trên Backend1

  • Cấu hình IP như mô hình, gateway là 10.10.10.11.
  • Cài đặt apache2:
apt install apache2

Sửa nôi dụng file /var/www/html/index.html như sau:

<h1>This is Backend1</h1>

2.Trên Backend2

  • Cấu hình IP như mô hình, gateway là 10.10.10.11.
  • Cài đặt apache2:
apt install apache2

Sửa nôi dụng file /var/www/html/index.html như sau:

<h1>This is Backend2</h1>

Cài đặt và kích hoạt SSL

a2enmod ssl
a2ensite default-ssl.conf
systemctl restart apache2

Trên Server

Kích hoạt iptables fordward packet sang máy khác sửa file /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Chạy lệnh sysctl -p /etc/sysctl.conf để kiểm tra cài đặt.

Sau đó:

/etc/init.d/procps restart

ACCEPT SSH && DROP FROM CLIENT

iptables -A INPUT -p tcp -s 10.10.10.0/24 -d 10.10.10.11 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 10.10.10.101 -j DROP

ACCEPT Established Connection.

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Accept loopback

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

Tao chain default DROP INPUT, ACCEPT OUTPUT, DROP FORWARD.

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

Accept PING from 10.10.10.0

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/m --limit-burst 5 \
	-s 10.10.10.0/24 -d 10.10.10.11 -j ACCEPT

Accept forward package ens38 –> ens33 port 80,443

iptables -A FORWARD -p tcp --dst 10.10.10.51 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp --dst 10.10.10.52 --dport 443 -j ACCEPT

Rule DNAT ens33 –> ens38

iptables -t nat -A PREROUTING -i ens33 -p tcp -d 172.16.69.11 --dport 80 \
	-j DNAT --to-destination 10.10.10.51:80
iptables -t nat -A PREROUTING -i ens33 -p tcp -d 172.16.69.11 --dport 443 \
	-j DNAT --to-destination 10.10.10.52:443

Rule SNAT ens38 –> ens33

4. Kết Quả

Truy cập vào http://172.16.69.11

Truy cập vào https://172.16.69.11

Trên client

ping 10.10.10.11
PING 10.10.10.11 (10.10.10.11) 56(84) bytes of data.

--- 10.10.10.11 ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13103ms

5.Save rule permanent

/sbin/iptables-save > /etc/iptables/rules.v4

Related posts

Leave a Comment