Skip to content

Latest commit

 

History

History
221 lines (218 loc) · 13.9 KB

Lab6_Iptables.md

File metadata and controls

221 lines (218 loc) · 13.9 KB

IPTABLES LABS

NOTE:

1, LAB 1

1.1, Mô hình:

image

  • Client, Server cài hệ điều hành Ubuntu Server.
  • Cấu hình iptables tại Server.

1.2, Mục đích:

  1. Mặc định, DROP INPUT.
  2. Mặc định, ACCEPT OUTPUT.
  3. Mặc định, DROP FORWARD.
  4. ACCEPT Established Connection.
  5. ACCEPT kết nối từ loopback.
  6. ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN.
  7. ACCEPT kết nối SSH từ trong mạng LAN.

1.3, Thực hành:

  • Ở đây mình sử dụng LAN 192.168.181.0/24 thay vì 172.16.69.0/24 như ở đề bài
  • 2 Ubuntu Server Client và Server có IP lần lượt là:
    • Client: 192.168.181.138
    • Server: 192.168.181.139

Kiểm tra các filter hiện đang có

image

M1: Mặc định, DROP INPUT

image

  • Ping thử từ Client đến Server: Đã xịt do gói tin đi vào Server bị DROP. image

M2: Mặc định, ACCEPT OUTPUT

image

M3: Mặc định, DROP FORWARD

image

M4: ACCEPT Establishes Connection

image

M5: ACCEPT kết nối từ Loopback

  • Ping thử về localhost khi vẫn đang mặc định INPUT là DROP (Chưa cấu hình ACCEPT kết nối từ Loopback): xịt. image
  • Sau khi cấu hình: Ping ngon nghẻ. image

M6: ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN

  • Server: image
  • Client: image
  • Nhìn vào icmp_seq có thể thấy là ping không đến liên tục

M7: ACCEPT kết nối từ SSH trong mạng LAN

  • Nếu tổng hợp tất cả các rule ở trên mà chưa cần cấu hình ACCEPT SSH thì sau khi yêu cầu kết nối ssh vẫn có thể ssh thành công, tuy nhiên sau khi xóa hết các rules đi và thử ta có: image
  • Sau khi cấu hình rule ACCEPT SSH: image
  • SSH ngon nghẻ: image

2, LAB 2

2.1, Mô hình:

image

  • Client, Server cài hệ điều hành Ubuntu Server.
  • Cấu hình iptables tại Server.

2.2, Mục đích:

  1. Mặc định, DROP INPUT.
  2. Mặc định, ACCEPT OUTPUT.
  3. Mặc định, DROP FORWARD.
  4. ACCEPT Established Connection.
  5. ACCEPT kết nối từ loopback.
  6. ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN.
  7. ACCEPT kết nối SSH từ trong mạng LAN.
  8. ACCEPT Outgoing gói tin thông qua Server từ mạng LAN (10.10.10.0/24) và nat địa chỉ nguồn của gói tin.

2.3, Thực hành:

Kiểm tra các filter hiện đang có

image

M1: Mặc định, DROP INPUT

image

  • Ping thử từ Client đến Server: Đã xịt do gói tin đi vào Server bị DROP. image

M2: Mặc định, ACCEPT OUTPUT

image

M3: Mặc định, DROP FORWARD

image

M4: ACCEPT Establishes Connection

image

M5: ACCEPT kết nối từ Loopback

  • Ping thử về localhost khi vẫn đang mặc định INPUT là DROP (Chưa cấu hình ACCEPT kết nối từ Loopback): xịt. image
  • Sau khi cấu hình: Ping ngon nghẻ. image

M6: ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN

  • Server: image
  • Client: image
  • Nhìn vào icmp_seq có thể thấy là ping không đến liên tục

M7: ACCEPT kết nối từ SSH trong mạng LAN

  • Nếu tổng hợp tất cả các rule ở trên mà chưa cần cấu hình ACCEP SSH thì sau khi yêu cầu kết nối ssh vẫn có thể ssh thành công, tuy nhiên sau khi xóa hết các rules đi và thử ta có: image
  • Sau khi cấu hình rule ACCEPT SSH: image
  • SSH ngon nghẻ: image

M8: ACCEPT Outgoing gói tin thông qua Server từ mạng LAN (10.10.10.0/24) và NAT địa chỉ nguồn của gói tin.

  • Điều chỉnh bảng route của Client: image
  • Cấu hình RULE NAT:
iptables -A FORWARD -i ens37 -o ens33 -j ACCEPT
iptables -t nat -A POSTROUTING -o ens33 -s 10.10.10.0/24 -j MASQUERADE
  • Ping oke ngay: hình ảnh minh hoạ ping từ Client đến 172.16.69.11 của Server thành công thôi nhưng ảnh lỡ bị xóa mất hihi

3, LAB 3

3.1, Mô hình:

image

  • 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) lắng nghê trên port 80.
  • Trên Backend2, cài Web server (apache2) lắng nghê trên port 443.

3.2, Mục đích:

  1. Mặc định, DROP INPUT.
  2. Mặc định, ACCEPT OUTPUT.
  3. Mặc định, DROP FORWARD.
  4. ACCEPT Established Connection.
  5. ACCEPT kết nối từ loopback.
  6. 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.
  7. ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN.
  8. ACCEPT kết nối SSH từ trong mạng LAN. Nhưng DROP gói tin từ 10.10.10.101.
  9. 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.3, Thực hành:

Cài Apache2 trên Backend1 và Backend2 và cấu hình IP

image image

  • Active SSL trên con Backend2: image

Kích hoạt các cấu hình cần thiết cho Server

image

M1: Mặc định, DROP INPUT

image

M2: Mặc định, ACCEPT OUTPUT

image

M3: Mặc định, DROP FORWARD

image

M4: ACCEPT Establishes Connection

image

M5: ACCEPT kết nối từ Loopback

image

M6: FORWARD gói tin

image

  • Test:
    • http:// image
    • https:// image

M7: ACCEPT gói tin 5 lần mỗi phút từ mạng LAN

image

M8: ACCEPT kết nối SSH từ trong mạng LAN. Nhưng DROP gói tin từ 10.10.10.101

image

  • Filter INPUT số 1 và số 5

M9: ACCEPT Outgoing gói tin thông qua Server từ mạng LAN (10.10.10.0/24) và NAT địa chỉ nguồn của gói tin.

  • Cấu hình RULE NAT:
iptables -A FORWARD -i ens37 -o ens33 -j ACCEPT
iptables -t nat -A POSTROUTING -o ens33 -s 10.10.10.0/24 -j MASQUERADE

4, LAB 4

4.1, Mô hình:

image

  • Client, Server cài hệ điều hành Ubuntu Server 16.04.
  • Router, có thể giả lập là VM.
  • Cấu hình iptables tại Server.
  • Trên Backend1, cài SSH lắng nghe trên port 22.
  • Trên Backend2, cài Web server (apache2) lắng nghe trên port 80.

4.2, Mục đích:

  1. Mặc định, DROP INPUT.
  2. Mặc định, ACCEPT OUTPUT.
  3. Mặc định, DROP FORWARD.
  4. ACCEPT Established Connection.
  5. ACCEPT kết nối từ loopback.
  6. 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.
  7. ACCEPT kết nối Ping với 5 lần mỗi phút từ mạng LAN.
  8. ACCEPT kết nối SSH từ trong mạng LAN.
  9. 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.

4.3, Thực hành:

CẤU HÌNH CÁC YÊU CẦU TƯƠNG TỰ NHƯ LAB 3

Backend1 lắng nghe Port 22:

  • Cấu hình iptables ở Server:
iptables -A FORWARD -p tcp -d 10.10.10.51 --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 172.16.69.11 --dport 22 -j DNAT --to-destination 10.10.10.51
iptables -t nat -A POSTROUTING -p tcp -d 10.10.10.51 --dport 22 -j SNAT --to-source 10.10.10.11

5, LAB 5

5.1, Mô hình:

image

  • Client1, Client2, WebServer và Firewall cài hệ điều hành Ubuntu Server 16.04.
  • Cấu hình iptables tại Firewall.
  • Trên WebServer, cài Web server (apache2) lắng nghê trên port 80.

5.2, Mục đích:

  1. Mặc định, DROP INPUT.
  2. Mặc định, ACCEPT OUTPUT.
  3. Mặc định, DROP FORWARD.
  4. ACCEPT Established Connection.
  5. FORWARD gói tin đến port 80 trên ens33 sang port ens38 và đến port 80 trên Webserver.
  6. Cho phép 1 máy (Client1) trong dải 10.10.20.0/24 quản trị Webserver.
  7. Cho phép các máy trong dải 10.10.20.0/24 kết nối ra Internet.

5.3, Thực hành:

M1: Mặc định, DROP INPUT

image

M2: Mặc định, ACCEPT OUTPUT

image

M3: Mặc định, DROP FORWARD

image

M4: ACCEPT Establishes Connection

image

M5: FORWARD gói tin đến port 80 trên ens33 sang port ens38 và đến port 80 trên Webserver.

image

M6: Cho phép 1 máy (Client1) trong dải 10.10.20.0/24 quản trị Webserver.

image

M7. Cho phép các máy trong dải 10.10.20.0/24 kết nối ra Internet.

image

  • ping ra mạng 172.16.69.0/24 image