1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án IPTABLES trên LINUX tài liệu, ebook, giáo trình

62 666 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

Muc Luc CHUONG I: GIOI THIEU VE IPTABLES .c.scssssssssssssssssssssssscsscsscsssssssssscsecsecssenseaseass 6 iư 05 1n -.-13 Ra 6

2 Tải về và cài đặt trọn gĩi Iptables 6

3 Lam thé nao dé bat đầu iptables 2 - 2-52 2s SE 1 212211211211211211211211211 011112211 re 7

4 Xac dinh Cac trang thai cia iptables 7 5 Cơ chế xir ly package trong iptables

JEu c8

Là) Z9 000 1

§ Redirect cỔng -+csccse- "

9 Cách đổi địa chỉ IP động (dynamie NATT) -2¿©22+S++2Et2E22EEE21122127121121122121.2122Xe2 17

10 Cách đĩng giả địa chỉ IP (masque€ra(€) - c5 21122112311 321 11 119 119 1 1111111 1 ky 18 11 Quá trình chuyển gĩi đữ liệu qua Netfilter T9

12 Các tham số địng lệnh thường gặp của Iptables 2 2 s2 +E2+EE+2E2EE+zxerxezzxerxez 20 PA cu v2

12.2 Các tùy chọn để thao tác với chain " 12.3 Các tùy chọn dé thao tác với luật ¿+ s-©s+S£+EE+E2EEEE9E12212112112122111 1x1 xe

12.4 Các tùy chọn đề chỉ định thơng sỐ - 2 2 St+EE2E12EE9211221271711211 21.11.2112

12.5 Sử dụng user defined chains: 12.6 Lưu lại những đoạn mã iptables:

13.1 Cơ bản về hoạt động của hệ thống bảo vệ:

13.2 Ưu điểm của sự khởi tạo iptables: LH 2H TH HH TH HH HH HH HH gr 33 13.3 Sự cho phép máy chủ DNS truy cập đên Firewall:

13.5 Firewall cho phép bạn để truy cập Internet -2- 2552 +2222x+2x2x2zxerxezxxerxee 13.6 Cho phép mạng Trang chủ của bạn đề truy cập Các Firewall se

13.7 Mặt nạ (Masquerade_ many to one NAT): - ác Sàn HH ng ng 38

13.8 Giá mạo (Nhiều NATT) - 2-52 S< 2< 212112212212112212211211211111 21111112 11011 ce

13.9 NAT Port Forwarding (DHCP DSL) "

13.10 SNAT & MASQUERADE << 11 SE S221 T1 HH H10 rệt

IE5S0SĐ V/V d4 4.35

CHƯƠNG II: Vi DU VE CAU HINH IPTABLES CHO MAY CHU PHUC VU WEB Thiết lập các tham $6 cho mane cccecccessesssesssesssesssecssecssessseseseessesssesssesessessessestaseeaeessees Nạp các mơđun cần thiết cho Iptables - 2 2£ 2+2E+SE+SEE£EE+EE22EE221252211271212222 2222

Nguyên tắc đặt luật là "drop trước, accept sau" "

NYU(00: À9 0 0 0u) c1

Reject quét cơng TCP và UDP ¿- 2 2+St+Et+k9EE9EE9E191521521211111111211211211 1111111 x02

Trang 2

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

062i ‹‹iIỚIA II ÃAốẶAốa 59

11 Lọc UDP vào và chặn ngập lụt UDP 30

CHUONG III: KET LUẬN w 61

TAI LIEU THAM 4 011 HO 62

Trang 4

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

Lời Mở Đâu

An ninh mạng được xem là mơt điều rất quan trọng trong bất kì quyết định của tơ chức một trang web như là mối đe dọa thường trực đang ngày càng trở lên phổ biens rộng rãi hơn Một trong nhưng các bảo vệ là sử dụng firewall

Ban đầu, các bức tường lửa phổ biến nhất / NAT gĩi chạy trên Linux là ipchains, nhưng nĩ đã cĩ một số thiếu sĩt Để khắc phục điều này, các tổ chức Netfilter

quyết định tạo ra một sản phẩm mới được gọi la iptables, né cai tién như:

Tích hợp tốt hơn với các hạt nhân Linux với khả năng tái hạt nhân iptables cụ thê phần được thiết ké dé cải thiện tốc độ và độ tin cậy

Kiểm tra trạng thái gĩi Điều này cĩ nghĩa rằng tường lửa theo dõi các kết

nối đi qua nĩ và trong trường hợp nhất định sẽ xem nội dung của các luồng

dữ liệu trong một nỗ lực để dự đốn các hành động tiếp theo của giao thức nhất định Đây là tính năng quan trọng trong việc hỗ trợ các hoạt động FTP và DNS, cũng như các dịch vụ mạng khác

Lọc packet dựa trên địa chỉ MAC và các giá trị của những lá cờ trong phần đầu TCP Điều này hữu ích trong việc ngăn chặn các cuộc tấn cơng bằng cách sử dụng các gĩi dữ liệu bị thay đổi và hạn chế truy cập từ các máy chủ tại địa phương thuộc các mạng khác

Hệ thống đăng nhập, cung cấp các tùy chọn điều chỉnh mức độ chỉ tiết của báo cáo

Dịch địa chỉ mạng tốt hơn

Hỗ trợ cho hội nhập trong suốt với các chương trình như Web proxy như Squid

Một tý lệ hạn chế tính năng giúp iptables chặn một số loại từ chối dịch vụ

(DoS) tan cơng

Trang 5

Trong thời gian học tập tại trung tâm đào tao Bách Khoa Npower, dưới sự hướng dẫn của các thầy giáo chuyên ngành quản trị mạng đặc biêt là thầy Vũ Quý Hịa, em đã chọn đề tài "IPTABLES trên LINUX " cho đồ án mơn học SECURITY Mục đích của đề tài là giúp mọi người cĩ được cái nhìn tổng quát nhất về PTABLES trên LINUX Với các tài liệu thu thập được em đã hồn thành đồ án

"IPTABLES trên LINUX" biết được IPTABLES là gì?, cách cài đặt iptables, cơ chế xử lý package trong iptables, Target và Jumps, các tham số dịng lệnh của

Trang 6

DO an mén SECURITY: IPTABLES trén LINUX

CHUONG I: GIOI THIEU VE IPTABLES

1 Iptables là gì?

Iptables là một tường lửa ứng dụng lọc gĩi dữ liệu rất mạnh, miễn phí và cĩ sẵn trên Linux Netfilter/Iptables gồm 2 phần là Netfilter ở trong nhân Linux và

Iptables nằm ngồi nhân Iptables chịu trách nhiệm giao tiếp giữa người dùng và Netfilter để đây các luật của người dùng vào cho Netfiler xử lí Netfilter tiến hành lọc các gĩi dữ liệu ở mức IP Netfilter làm việc trực tiếp trong nhân, nhanh và

khơng làm giảm tốc độ của hệ thống TẬP LUẬT E——|IrTaaLes ]k—3|NETFILTER NHAN LINUX Hinh 1: So dé Netfilter/Iptables

2 Tải về và cài đặt trọn gĩi Iptables

Trước khi bạn bắt đầu, bạn cần phải chắc chắn rằng các RPM iptables phần mềm

được cài đặt Khi tìm kiếm các RPM, hãy nhớ rằng tên tập tin thường bắt đầu với

tên gĩi phần mềm của một số phiên bán, như trong iptables-1.2.9-1.0 ¡386.rpm

Trang 7

3 Lam thé nao dé bat dau iptables ?

Để cĩ được cấu hình iptables để bắt đầu lúc khởi động, sử dụng lệnh chkconfig:

[Root @ bigboy tmp] # chkconfig iptables on

Bạn cĩ thể bắt đầu, dừng lại, và khởi động lai iptables sau khi khởi động bằng cách sử dụng các lệnh:

[Root @ bigboy tmp] # service iptables start

[Root @ bigboy tmp] # service iptables stop [Root @ bigboy tmp] # service iptables restart

4 Xác dinh Cac trang thai cua iptables

Bạn cĩ thể xác định xem iptables đang chạy hay khơng thơng qua lệnh iptables

trạng thái dịch vụ Fedora Core sẽ cung cấp cho một thơng báo trạng thái đơn giản Ví dụ:

[Root @ bigboy tmp] # service iptables status

[Root @ bigboy tmp] #

5 Co ché xir ly package trong iptables

Tất cả gĩi kiểm tra iptables đi qua một chuỗi các được xây dựng trong các bảng (hàng đợi) để xử lý Mỗi hàng đợi là dành riêng cho một loại hình cụ thê của hoạt

Trang 8

DO én mén SECURITY: IPTABLES trén LINUX

Cĩ ba bàn trong tổng số Đầu tiên là bảng mangle cĩ trách nhiệm cho những thay

đổi về chất lượng dịch vụ của các bit trong phần đầu TCP Đây là hầu như khơng được sử dụng trong một mơi trường nhà hoặc SOHO

Bảng xếp hàng thứ hai là bộ lọc này cĩ trách nhiệm lọc gĩi Nĩ cĩ ba được xây dựng trong các chuỗi trong đĩ bạn cĩ thể đặt các quy tắc chính sách tường lửa của bạn Đây là những:

Chuyên tiếp chuỗi: Bộ lọc các gĩi đữ liệu đến các máy chủ được bảo vệ bởi

tường lửa

Nhập chuỗi: Bộ lọc gĩi tin cho tường lửa

Đầu ra chuỗi: Bộ lọc gĩi cĩ nguồn gốc từ các bức tường lửa

Bảng xếp hàng thứ ba là nat cĩ trách nhiệm cho dịch địa chỉ mạng Nĩ cĩ hai được xây dựng trong các dây chuyên, đĩ là:

Dự bị định tuyến chuỗi: NAT gĩi tin khi địa chỉ đích của gĩi tin cần phải

được thay đổi

Post-routing chain: NAT gĩi tin khi địa chỉ nguồn của gĩi tin cần phải được

thay đơi

Bang 1 : Cac loai queues va chain cùng chức năng của nĩ

Trang 9

Bộ lọc gĩi đi ra khỏi tường lửa (gĩi dữ liệu cĩ

OUTPUT nguồn gốc từ các bức tường lửa)

Nat Network Thay đổi địa chỉ đích xảy ra trước khi định

Address PREROUTING tuyến Tạo điều kiện cho việc chuyển đổi dia chi

Translation IP dich tương thích với bảng định tuyến của tường

( Biên dịch lửa Được sử dụng với NAT của địa chỉ IP đích,

địa chỉ mạng) cịn được gọi là destination NAT hoặc DNAT Thay đổi địa chỉ đích xảy ra sau khi định POSTROUTING tuyến Điều này cĩ nghĩa rằng khơng cĩ cần phải thay đơi địa chỉ IP đích của gĩi tin như trong định

tuyến trước Được sử dụng với NAT của địa chỉ IP nguồn bằng cách sử dụng một-một hoặc NAT-một nhiều Điều này được gọi là source

NAT, hoặc SNAT

NAT sử dụng cho các gĩi đữ liệu xuất phát từ

OUTPUT tường lửa.Rất hiếm khi được sử dụng trong mơi trường SOHO)

Mangle ' Chỉnh sửa Điêù chỉnh các bit quy định chất lượng dịch vụ TCP header PREROUTING trước khi dẫn đường Rất hiếm khi được sử dụng

POSTROUTING trong m6i truong SOHO (small office — home KET QUA office)

INPUT FORWARD

Trang 10

DO an mén SECURITY: IPTABLES trén LINUX

Để giúp thực hiện điều này rõ ràng hơn, hãy xem cách các gĩi dữ liệu được xử lý

bởi iptables Trong Hình 2 một gĩi tin TCP từ Internet về đến giao diện của tường lửa trên mang A để tạo ra một kết nối dữ liệu

Gĩi tin này được kiểm tra bởi các quy tắc đầu tiên trong chuỗi mangle Table PREROUTING Chạin (nếu cĩ) Sau đĩ nĩ được kiểm tra bởi các quy tắc trong chudi nat Table PREROUTING Chain dé xem liéu géi tin yêu cầu DNAT khơng

.DNAT sẽ thay đổi địa chỉ đích của gĩi dữ liêu Sau đĩ nĩ được định tuyến —

Routing

Nếu gĩi dữ liệu được đưa vào một mạng lưới bảo vệ, sau đĩ nĩ được lọc theo các

quy tắc trong chuỗi FORWARD của báng lọc và, nếu cần thiết, gĩi trải qua SNAT trong chuỗi POSTROUTING để thay đổi IP nguơn trước khi đến mạng B

Khi máy chủ đích quyết định trả lời, gĩi trải qua cùng một trình tự các bước Cả hai FORWARD va POSTROUTING chuỗi cĩ thể được cấu hình đề thực hiện chất lượng dịch vụ (QoS) các tính năng trong bảng mangle của họ, nhưng điều này khơng thường được thực hiện trong mơi trường SOHO

Nếu gĩi dữ liệu được định hướng đi vào bên trong bức tường lửa chính nĩ, nĩ duoc kiêtra qua các bảng mangle của chuỗi INPUT Nếu gĩi dữ đĩ

thành cơng vượt qua các thử nghiệm này sau đĩ nĩ được xử lý bởi các ứng dụng định trên tường lửa

Tại một số điểm, tường lửa cần phải trá lời trả lời này được định tuyến và kiểm tra

bởi các quy tắc trong chuỗi OUTPUT của bảng mangle, nếu cĩ Tiếp theo, các quy tắc trong chuỗi OUTPUT cua bang nat x4c dinh xem DNAT là cần thiết và các quy

tắc trong chuỗi OUTPUT của báng này sau đĩ được kiểm tra bộ lọc để giới hạn

các gĩi dữ liệu trái phép Cuối cùng, trước khi gĩi tin được gửi trở lại vào Internet, hong SNAT va QoS duoc thực hiện bang các chuỗi POSTROUTING

Trang 11

Hình 2 Iptables gĩi lưu lượng Sơ đồ Packet In

nat Table mangle Table

POSTROUTING Chain PREROUTING Chain

mangle Table nat Table

POSTROUTING Chain PREROUTING Chain

filter Table Routin

OUTPUT Chain g

Data for

Yes the firewall? 1

nat Table mangle Table mangle Table

OUTPUT Chain INPUT Chain FORWARD Chain

mangle Table filter Table

OUTPUT Chain FORWARD Chain

A mangle Table

U99 POSTROUTING Chain

Firewall Reply nat Tabla

POSTROUTING Chain

Local Processing filter Table Packet Out

of Data INPUT Chain

Trang 12

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

6 Target va Jumps

> Jump là cơ chế chuyển một packet đến một target nào đĩ để xử lý thêm một số

thao tác khác

> Target là cơ chễ hoạt động trong iptables, ding dé nhan dién va kiém tra packet Các target được xây dựng sẵn trong iptables như bảng sau:

Bảng 2 : Miêu tả các target mà iptables thường dùng nhất

Trang 13

REJECT Tuong tu nhu DROP , reject-with qualifier

nhưng nĩ sẽ gởi trả lại cho

phía người gởi một Tham số qualifer sẽ cho

thơng báo lỗi rằng gĩi đã bị| biết loại thơng báo gửi trả

chặn và loại bỏ lại phía gti Qualifier gồm các loại sau: icmp-port-unreachable (default) icmp-net-unreachable icmp-host-unreachable icmp-proto-unreachable icmp-net-prohibited icmp-host-prohibited tcp-reset echo-reply DNAT Dùng đề thực hiện to-destination ipaddress Destination network

address translation , dia) Iptables sé viét lai dia chi

chỉ đích của gĩi dữ liệu sẽ| ipaddres vào dia chỉ

được viết lại đích của gĩi dữ liệu SNAT Dùng để thực hiện Source| to-souree <address>[-

network address translation| <address>/][:<port>-

, viét lai dia chi nguén ctial <port>]

goi dir liéu Miêu tả IP và port sẽ được

viết lại bởi iptables

MASQUERADE Ding dé thyc hién Source |/ to-ports <port>[-

Networkaddress <port>]] Translation Mac định

thì địa chỉ IP nguồn sẽ| Ghi rõ tầm các port nguồn giống như IP nguồn củal mà port nguồn gốc cĩ

firewall thể ánh xạ được

Trang 14

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

Phân biệt giữa ACCEPT, DROP va REJECT packet - ACCEPT: chap nhan packet

- DROP: tha packet (khong hdi 4m cho client)

- REJECT: loai bo packet (hồi âm cho client bằng một packet khác) Ví dụ:

† iptables -A INPUT -i eth0 dport 80 -j ACCEPT chấp nhận các packet vào cơng 80 trên card mạng eth0

# iptables -A INPUT -i eth0 -p tcp dport 23 -j DROP thả các packet đến cơng 23

dùng giao thức TCP trên card mạng eth0

# iptables -A INPUT -i eth1 -s ! 10.0.0.1-10.0.0.5 dport 22 -j REJECT reject-

wifh tcp-resef gởi gĩi TCP với cờ RST=I1 cho các kết nối khơng đến từ dãy địa chi

IP 10.0.0.1 5 trên cơng 22, card mạng ethl

# iptables -A INPUT -p udp dport 139 -j REJECT reject-with icmp-pori-

unreachable g6i gi ICMP `port-unreachable` cho các kết nỗi đến cơng 139, dùng

giao thức UDP

Phân biệt giữa NEW, ESTABLISHED và RELATED - NEW: mở kết nối mới

- ESTABLISHED: đã thiết lập kết nối

- RELATED: mở một kết nối mới trong kết nối hiện tại

Ví dụ:

Trang 15

# iptables -P INPUT DROP dat chính sách cho chain INPUT la DROP

# iptables -A INPUT -p tcp syn -m state state NEW -j ACCEPT chi chap nhan các gĩi TCP mở kết nĩi đã set cờ SYN=1

# iptables -A INPUT -m state state ESTABLISHED, RELATED -j ACCEPT khong

đĩng các kết nối đang được thiết lập, đồng thời cũng cho phép mở các kết nối mới

trong kết nối được thiết lập

# iptables -A INPUT -p tcp 2ÿ DROP các gĩi TCP cịn lại đều bị DROP

7 Tùy chọn limit, limit-burst limit-burst: mức đỉnh, tính bằng số packet limit: tốc độ khi chạm mức đỉnh, tinh bằng số packet/s(giây), m(phút), d(giờ) hoặc h(ngày) VD: # iptables -N test

# iptables -A test -m limit limit-burst 5 limit 2/m -] RETURN # iptables -A test -| DROP

# iptables -A INPUT -i lo -p icmp icmp-type echo-request -j test

Đầu tiên lénh iptables -N test dé tao mot chain mdi tên là test (table mặc định là filter) Tuy chon -A test (append) dé thém luat mdi vao chain test Déi vi chain test, mình giới hạn limit-burst ở mức 5 gĩi, limit là 2 gĩi/phút, néu thỏa luật sẽ trở về (RETURN) cịn khơng sẽ bị DROP Sau đĩ mình néi thém chain test vao chain

Trang 16

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

request Luat nay sẽ giới hạn các gĩi PING tới lo là 2 gĩ1⁄phút sau khi đã đạt tới 5 goi

Ban thir ping dén localhost xem sao? 8 ping -c 10 localhost

Chi 5 gĩi đầu trong phút đầu tiên được chấp nhận, thỏa luật RETURN đĩ Bây giờ

đã đạt đến mức đỉnh là 5 gĩi, lập tức Iptables sẽ giới hạn PING tới lo là 2 gĩi trên

mỗi phút bất chấp cĩ bao nhiêu gĩi được PING tới lo đi nữa Nếu trong phút tới

khơng cĩ gĩi nào PING tới, Iptables sẽ giảm limit đi 2 gĩi tức là tốc độ đang là 2 gĩi/phút sẽ tăng lên 4 gĩi/phút Nếu trong phút nữa khơng cĩ gĩi đến, limit sẽ giảm

đi 2 nữa là trở về lại trạng thái cũ chưa đạt đến mức đỉnh 5 gĩi Quá trình cứ tiếp tục như vậy Bạn chỉ cần nhớ đơn gián là khi đã đạt tới mức đỉnh, tốc độ sẽ bị giới hạn bởi tham số limit Nếu trong một đơn vị thời gian tới khơng cĩ gĩi đến, tốc độ

sẽ tăng lên đúng bằng limit đến khi trở lại trạng thái chưa đạt mức limit-burst thì

thơi

Để xem các luật trong Iptables bạn gõ lệnh $ iptables -L -nv (-L tất cả các luật trong tat cd cdc chain, table mac dinh Ia filter, -n liét kê ở dang số, v để xem chỉ

tiét)

# iptables -L -nv

Chain INPUT (policy ACCEPT 10 packets, 840 bytes) pkts bytes target prot opt in out source destination

10 840 test icmp lo * 0.0.0.0/0 0.0.0.0/0 icmp type 8

Trang 17

Chain OUTPUT (policy ACCEPT 15 packets, 1260 bytes) pkts bytes target prot opt in out source destination

Chain test (1 references)

pkts bytes target prot opt in out source destination

5 420 RETURN all * * 0.0.0.0/0 0.0.0.0/0 limit: avg 2/min burst 5

5 420 DROP all * * 0.0.0.0/0 0.0.0.0/0

# iptables -Z reset counter

# iptables -F flush luật

# iptables -X xĩa chain đã tạo 8 Redirect cơng

Iptables hỗ trợ tùy chọn -j REDIRECT cho phép bạn đơi hướng cổng một cách dễ

dang Vi du nhu SQUID dang listen trên cổng 3128/tcp Đề redirect cơng 80 đến

cổng 3128 này bạn làm như sau:

# iptables -t nat -A PREROUTING -p tcp dport 80 -j REDIRECT to-port 3128 Luu y: tuy chon -j REDIRECT cho c6 trong chain PREROUTING

9 Cach doi dia chi IP dong (dynamic NAT)

Giới thiệu về cơng nghệ đổi địa chỉ NAT động và đĩng giả IP Masquerade

Trang 18

ĐỒ án mơn SECURITY: IPTABLES trén LINUX src 192.168.0 164 sre 203.162.2.164 ———————ŠW⁄24TReuer a sre 192.166.0.200 q B NAT œ1 src 203.162.2.200 © la) a] ơ fae | â dst 192.168.0.290 g 2 dst *209.162.2.200 < + E on ™N “ = ` ` Bảng NAT động T cục bộ IP NAT 192°.168.0.164 | 203.162 2.164 169.169.0.200 | 203.162.2.200 `

Hình 3 Cách đơi địa chỉ Ip đơng

NAT Router đảm nhận việc chuyên dãy IP nội bộ 169.168.0.x sang dãy IP mới

203.162.2.x Khi cĩ gĩi liệu với IP nguồn là 192.168.0.200 đến router, router sẽ đối

IP nguồn thành 203.162.2.200 sau đĩ mới gởi ra ngồi Quá trình này gọi là SNAT (Source-NAT, NAT nguồn) Router lưu dữ liệu trong một bảng gọi là báng NAT động Ngược lại, khi cĩ một gĩi từ liệu từ gởi từ ngồi vào với IP đích là 203.162.2.200, router sẽ căn cứ vào bảng NAT động hiện tại để đổi địa chi đích

203.162.2.200 thành địa chỉ đích mới là 192.168.0.200 Quá trình này gọi là DNAT (Destination-NAT, NAT đích) Liên lạc giữa 192.168.0.200 và 203.162.2.200 là

hồn tồn trong suốt (transparent) qua NAT router NAT router tiến hành chuyên

tiếp (forward) gĩi đữ liệu từ 192.168.0.200 đến 203 162.2.200 và ngược lại

10 Cách đĩng giả địa chi IP (masquerade) Day là một kĩ thuật khác trong NATT

Trang 19

NAT Router| Bang NAT zrc 192.168.0.164: 1204 dst 211.200.51.15:60 sre 203.162.2.4: 26314 dst 211.200.51.15:80 srt 203 162.24: 26312 dst 210.56.15.188: 442 sre 192.158.0.200:1205 +” dst 210.56.15 188: 443: - L192.1ð8.0x + # „| 203.162.2.4 Bang NAT (Masquerade) TP cục bộ / Cổng Cổng NAT 7 : 182⁄168.0.164 1204 26314 192.168.0.200 1205 26312,

Hinh 4 Cach dong gia dia chi IP

NAT Router chuyên dãy IP nội bộ 192.168.0.x sang một IP duy nhất là 203.162.2.4

bằng cách dùng các số hiệu cơng (port-number) khác nhau Chẳng hạn khi cĩ gĩi

dữ liệu IP với nguồn 192.168.0.168:1204, dich 211.200.51.15:80 dén router, router

sẽ đổi nguén thanh 203.162.2.4:26314 va hu dif liệu này vào một bảng gọi là bảng masquerade động Khi cĩ một gĩi dữ liệu từ ngồi vào với nguồn là

221.200.51.15:80, đích 203.162.2.4:26314 đến router, router sẽ căn cứ vào bảng masquerade động hiện tại để đổi dich từ 203.162.2.4:26314 thành

192.168.0.164:1204 Liên lạc giữa các máy trong mạng LAN với máy khác bên

ngồi hồn tồn trong suốt qua router

11 Quá trình chuyển gĩi dữ liệu qua Netfilter

Gĩi dữ liệu (packet) chạy trên chạy trên cáp, sau đĩ đi vào card mạng (chăng hạn như eth0) Đầu tiên packet sé qua chain PREROUTING (truéc khi định tuyến) Tai

Trang 20

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

packet cĩ thê được chấp nhận hoặc bi hủy bỏ Tiếp theo packet sẽ được chuyền lên cho các ứng dụng (client/server) xử lí và tiếp theo là được chuyển ra chain

OUTPUT Tại chan OUTPUT, packet cĩ thể bị thay đổi các thơng số và bị lọc

chấp nhận ra hay bị hủy bỏ Đối với packet forward qua may, packet sau khi rời chain PREROUTING sẽ qua chain FORWARD Tại chan FORW ARD, nĩ cũng bị lọc ACCEPT hoặc DENY Packet sau khi qua chan FORWARD hoặc chain

OUTPUT sẽ đến chain POSTROUTING (sau khi định tuyến) Tại chain

POSTROUTING, packet cĩ thể được đổi địa chỉ IP nguồn (SNAT) hoặc

MASQUERADE Packet sau khi ra card mạng sẽ được chuyển lên cáp để đi đến máy tính khác trên mạng 12 Các tham số dịng lệnh thường gặp của Iptables 12.1 Gọi trợ giúp Để gọi trợ giúp về Iptables, bạn gõ lệnh e §$ man iptables e §$ iptables help

Chang hạn nếu bạn cần biết về các tùy chọn cua match limit, ban g6 lénh

$ iptables -m limit help

12.2 Các tùy chọn để thao tác với chain

Trang 21

- Xĩa hết các luật đã tao trong chain: iptables -X <tén_chain>

- dat chinh sach cho cac chain ‘built-in’ INPUT, OUTPUT & FORWARD): iptables -P <tén_chain_built-in> <tén policy (DROP hoặc ACCEPT)>, ví dụ:

iptables -P INPUT ACCEPT 4é chap nhan cac packet vao chain INPUT

- liét ké cac luat co trong chain: iptables -L <tén_chain>

- xĩa các luật cĩ trong chain (flush chain): iptables -F <tén_chain> - reset b6 dém packet vé 0: iptables -Z <tén_chain>

12.3 Các tùy chọn để thao tác với luật - thêm luật: -A (append)

- xĩa luật: -D (delete) - thay thế luật: -R (replace) - chèn thêm luat: -I (insert)

12.4 Các tùy chọn để chỉ định thơng số

Các tham số sau sẽ cho phép Iptables thực hiện các hành động sao cho phù hợp

Trang 22

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

Bang 3 : Cac tham sé chuyén mach (switching) quan trong cia Iptables

Lénh switching quan trong Y nghia

Néu ban khơng chỉ định rõ là tables nao |

~t <table> thi filter table sé duoc áp dụng Cĩ ba loại

table 1a filter, nat, mangle

Nhảy đến một chuỗi target nào đĩ khi gĩi

“j <target> dữ liệu phù hợp quy luật hiện tại Nối thêm một quy luât nào đĩ vào cuối -A chudi ( chain ) Xĩa hết tất cả mọi quy luật trong bảng đã -F chọn

Phù hợp với giao thức ( protocols ) , thong

“P <protocol-type> thường là iemp, tep, udp, va all -s <ip-address> Phù hợp IP nguồn -d <ip-address> Phu hop IP dich

Phù hợp điều kiện INPUT khi gĩi dữ liệu đi

-i <interface-name> | vio firewall

Phù hợp điều kiện OUTPUT khi gĩi đữ

~o <interface-name> | jis, i ra khoi firewall

Trong lệnh này ví dụ thiết bị chuyển mạch

iptables-A INPUT-s 0 / 0-i eth0-d 192.168.1.1-p TCP-j ACCEPT

Iptables được cấu hình cho phép “firewall” chấp nhận các gĩi dữ liệu cĩ giao tiếp (protocols) la TCP , đến từ giao tiếp card mạng eth0., cĩ bất kỳ địa

chỉ IP nguồn là bất kỳ đi đến địa chỉ 192.168.1.1, là địa chỉ IP của firewall

Trang 23

0/0 nghĩa là bat kỳ dia chi IP nao

Bang 4 : Các điều kiện TCP và UDP thong dung

Lệnh switching Miêu tả

-p tcp sport <port> Diéu kién TCP port nguén (source port ) Cĩ thê là một

giá trị hoặc một chuỗi cĩ dạng :

start-port-number:end-port-number

-p tcp dport <port> Điêu kiện TCP port đích ( destination port ).Cd thé là

một giá trị hoặc một chuỗi cĩ dạng :

starting-port:ending-port

~p tcp —syn Dùng đề nhận dạng một yêu cầu kết nỗi TCP mới

! ~-syn , nghĩa là khơng cĩ yêu cần kết nối mới

-p udp sport <port> Điêu kién UDP port ngudn (source port )

Cĩ thể là một giá trị hoặc một chuỗi cĩ dạng :

start-port-number:end-port-number

-p udp dport <port> Điêu kiện TCP port dich ( destination port ) Cĩ thể là một giá trị hoặc một chuỗi cĩ dạng : starting-port:ending-port

Ta cùng xem ví dụ sau :

iptables-A FORWARD-s 0 / 0-i eth0-d 192.168.1.58-o ethl-p TCP \

- Thể thao 1024:65535 - dport 80-j ACCEPT

Iptables được cấu hình cho phép firewall chấp nhận các gĩi dữ liệu cĩ giao tiếp (protocols) là TCP , đến tir card mang ethO , cĩ bất kỳ địa chỉ IP nguồn là

bất kỳ , đi đến địa chí 192.168.1.58 qua card mạng ethl Số port nguồn là từ

Trang 24

DO an mén SECURITY: IPTABLES trén LINUX

Bang 5 : Diều kién ICMP

Thường dùng nhật là echo-reply và echo- icmp-type <type> Request

Ta cùng xem mộ ví dụ sau vé ICMP

iptables-A OUTPUT-p icmp - icmp-type echo-request-j ACCEPT iptables-A INPUT-p icmp - icmp-type echo-reply-j ACCEPT

Iptables được cấu hình cho phép firewall chấp nhận gởi ICMP echo-requests

(pings) va goi tra cac ICMP echo-replies

Bảng 6 : Các điều kiện mở rộng thơng dụng

Lệnh Y nghĩa

-m multiport sport <port, port> | Nhiều port nguơn khác nhau của TCP/UDP

được phân cách bởi dấu phẩy (,)

Đây là liệt kê của các port chứ khơng phải là

một chuỗi các port

-m multiport dport <port, port> Nhiéu port dich khac nhau cua TCP/UDP

được phân cách bởi dau phay (,) Day 1a liét

kê của các port chứ khơng phải là một chuỗi

các port

Nhiêu port khác nhau của TCP/UDP được

-m multiport ports <port, port> | phân cách bởi dấu phẩy (,) Đây là liệt kê của

các port chứ khơng phải là một chuỗi các port

Khơng phân biệt port đích hay port nguồn

Trang 25

Các trạng thái thơng dụng nhât được dung là :

ESTABLISHED:Gĩi đữ liệu là một phần của

-m State <state> —_ :

kết nơi đã được thiệt lập bởi cả 2 hướng

NEW:Gĩi đữ liệu là bắt đầu của một kết nối

mới

RELATED: Gĩi dữ liệu bắt đầu một kết

nối phụ Thơng thường đây là đặt điểm của các giao thức như FTP hoặc lỗi ICMP

INVALID: Gĩi dữ liệu khơng thể nhận dạng được Điều này cĩ thể do việc thiếu tài nguyên hệ thống hoặc lỗi ICMP khơng trùng với một luồng đữ liệu đã cĩ sẵn

Đây là phần mở rộng tiếp theo của ví dụ trước :

iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p TCP \ sport 1024:65535 -m multiport dport 80,443 -j| ACCEPT iptables -A FORWARD -d 0/0 -o ethO -s 192.168.1.58 -i eth1 -p TCP \

-m state state ESTABLISHED -j ACCEPT

Iptables được cấu hình cho phép firewall chấp nhận các gĩi dữ liệu cĩ giao tiếp

(protocols) la TCP , đến từ card mạng eth0., cĩ bất kỳ địa chỉ IP nguồn là bất kỳ

„ đi đến dia chi 192.168.1.58 qua card mạng cthl Số port nguồn là từ 1024 đến

Trang 26

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

12.5 Sw dung user defined chains:

Chuéi User Defined Chains nam trong bang iptables No giup cho quá trình

sử lý gĩi tốt hơn

Ví du: Thay vì sử dụng gĩi đơn được xây dựng trong chain cho tat cả giao thức, ta cĩ thé str dung chain nay dé quyét định loại giao thức cho gĩi và sau đĩ kiểm sốt việc xử ly user-defined, protocol-specific chain trong bang filter table

Mặt khác, ta cĩ thể thay thế một chuỗi “long chain” với chuỗi chính “stubby

main

chain” bởi nhiều chuỗi “stubby chain”, bằng cách chia ngắn đĩ tổng chiều dài của tất cả chain gĩi phải thơng qua

Sáu lệnh sau giúp việc cải tiễn tốc độ xử lý:

iptables -A INPUT -i eth0 -d 206.229.110.2 -j \

fast-input-queue

iptables -A OUTPUT -o eth0 -s 206.229.110.2 -j \ fast-output-queue

iptables -A fast-input-queue -p icmp -j icmp-queue-in iptables -A fast-

output-queue -p icmp -j icmp-queue-out iptables -A icmp-queue-out -p

icmp icmp-type \

echo-request -m state state NEW -j ACCEPT

iptables -A icmp-queue-in -p icmp icmp-type echo-reply\ -j ACCEPT DANH SACH CAC LENH (QUEUE) | Chain Description |

Được xây dung trong INPUT chain INPUT trong bang iptables

Trang 27

Được xây dựng trong ONPUT chain

OUTPUT

trong bảng iptables

Input chain tach riêng biệt để hỗ trợ

cho những giao thức đặc biệt và

Fast-input-queue ¬ pe ah ce

chuyên các gĩi đên những protocol

specific chains

Output chain tách riêng biệt để hỗ trợ

cho những giao thức đặc biệt và fast-output-queue chuyển các gĩi đến những profocol specific chains lệnh output tach riéng cho giao thức icmp-queue-out Prd ICMP Lénh input tach riéng cho giao thức icmp-queue-in P-d ICMP

12.6 Lưu lại những đoạn mã ïiptables:

Đoạn mã Iptables được lưu tam thoi 6 file “/ete/sysconfig/iptables” Định dạng mẫu trong file iptables cho phép giao thức ICMP, IPSec

(những gĩi ESP và AH), thiết lập liên kết, và quay lại SSH

Trang 28

ĐỒ án mơn SECURITY: IPTABLES trén LINUX -A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp -m icmp icmp-type 255 -j ACCEPT -A RH-Firewall-1-INPUT -p esp -j ACCEPT -A RH-Firewall-1-INPUT -p ah -j ACCEPT -A RH-Firewall-1-INPUT -m state state RELATED,ESTABLISHED -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state state NEW -m tcp dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT reject-with icmp-host-prohibited COMMIT # Completed on Mon Nov 8 11:00:07 2004 [root@bigboy tmp]#

12.7 Thiết lập những Rule cho Fedora’s iptable:

Trong Fedora cĩ chương trình gọi lokkit, chương trình này cĩ thê thiết lập một rule firewall don giản, giúp tăng cường bảo mật Chương trình lokktt lưu những tule firewall trong file mdi “/etc/sysconfig/iptables”

12.8 Tim lại Đoạn mã bị mất:

Đoạn mã iptables được lưu trữ trong file “/ete/sysconfig/iptables” Ta c6 thé chỉnh sửa những đoạn mã và tạo lại những thành những rule mới

Ví du: xuất những lệnh trong iptables đã lưu trữ ra file văn bản với tên

firewall-config :

[root@bigboy tmp]# iptables-save > firewall-config

[root@bigboy tmp]# cat firewall-config

# Generated by iptables-save v1.2.9 on Mon Nov 8 11:00:07 2004 *filter

‘INPUT ACCEPT [0:0] ‘FORWARD ACCEPT _ [0:0]

Trang 29

‘OUTPUT ACCEPT [144:12748] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp -m icmp icmp-type 255 -j ACCEPT -A RH-Firewall-1-INPUT -p esp -j ACCEPT -A RH-Firewall-1-INPUT -p ah -j ACCEPT -A RH-Firewall-1-INPUT -m state state RELATED,ESTABLISHED \ -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state state NEW -m tcp dport 22 \ -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT reject-with icmp-host-prohibited COMMIT # Completed on Mon Nov 8 11:00:07 2004 [root@bigboy tmp]# Sau khi chỉnh sứa file firewall-confg, ta cĩ thê tải nĩ lại trong rule firewall VỚI lệnh:

[root(bigboy tmp]# iptables-restore < firewall-config

Ta cĩ thê lưu tạm thời:

[root@bigboy tmp]# service iptables save

12.9 Những modun Kernel cần thiết :

Modun Kernel cần thiết để hoạt động một vài chương trình của ứng dụng iptables

Một số modun: iptables_nat module, ip_conntrack_ftp module, + iptables_nat module can cho mot sé loai NAT

Trang 30

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

+ ip_nat_ftp module cần được tải cho những máy chủ FTP sau một

firewall

NAT

*CHÚ Ý: file /ete/sysconfig/iptables khơng cập nhật những mơ dun tải về, vì vậy chúng ta phải thêm vào những trạng thái đĩ vào file /etc/rc.local và

chạy nĩ tại cuối mỗi lần boot lại

Những mẫu đoạn mã trong phần này bao gồm những trạng thái được lưu trong file /ete/rc.local:

# File: /ete/re.local

# Module to track the state of connections modprobe ip_conntrack

# Load the iptables active FTP module, requires ip_conntrack modprobe

# ip_conntrack_ftp

# Load iptables NAT module when required modprobe iptable_nat

# Module required for active an FTP server using NAT modprobe ip_nat_ftp

12.10 Sửa lỗi bang iptables:

Một số cơng cụ cho phép sửa lỗi đoạn mã firewall iptables Một trong

những phương pháp tốt nhất là loại bỏ tất cả những gĩi bị khố

* Kiểm tra the firewall log:

Ta theo dõi những gĩi đi qua firewall cĩ trong danh sách bảng 1ptables của những rule sử dụng LOG target

LOG target sẽ:

+ Tạm dừng tất cá đường truyền đề chính sửa rule trong iptables trong

noi no được chứa

+ Tự động viết vào file /var/log/messages và sau đĩ thực thi rule kế tiếp

Để tạm dừng đường truyền khơng mong muốn, ta phải thêm vào rule phù

Trang 31

hop voi mét DROP target sau LOG rule

Tạm dừng một nhĩm gĩi bị lỗi vào file /var/log/messages

# Log and drop all other packets to file /var/log/messages

# Without this we could be crawling around in the dark

iptables -A OUTPUT -j LOG

iptables -A INPUT -j LOG

iptables -A FORWARD -j LOG

iptables -A OUTPUT -j DROP

iptables -A INPUT -j DROP

iptables -A FORWARD -j DROP

13.Những đoạn mã iptables mẫu:

13.1 Cơ bản về hoạt động của hệ thống bảo vệ:

Hệ Điều Hành Linux cĩ cơ chế bảo vệ là các thơng số kernel hệ thống trong file hé théng /proe qua file /ete/sysctl.conf Dùng file /etc/systl.conf cho các thơng số kernel hỗ trợ

Đây là một cấu hình mẫu:

# File: /ete/sysctl.conf

# Disable routing triangulation Respond to queries out

# the same interface, not another Helps to maintain state # Also protects against IP spoofing

Trang 32

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

net/ipv4/conf/all/log_martians = 1 # Disable redirects

3 đ + ơ 5 < eS ~ Q 9 3 th ~ wo - ¬ ~ @ Q Q @ t0 ct | a 9 c H 8 | H ° = + ® lI °

# Turn on protection from Denial of Service (DOS) attacks

# Enable IP routing Required if your firewall is

Trang 33

# protecting # network, NAT included

net/ipv4/ip forward = 1

13.2 Ưu điểm của sự khởi tao iptables:

Ta cĩ thê thêm vào nhiều cái ứng dụng khởi tạo cho đoạn mã, bao gồm việc kiểm tra đường truyền internet từ những địa chỉ riêng RFC1918 Nhiều hơn nhứng

khởi tạo phức tạpbao gồm kiểm tra lỗi bởi sự tắn cơng sử dụng cờ TCP khơng cĩ

gia tri

Đoạn mã cũng sử dung nhiều “user-defined chain” để tạo đoạn mã ngắn hơn

và nhanh hơn như những chain cĩ thể bị truy cập lặp lại Điều này loại bĩ

việc cần thiết lặp lại những trạng thái tương tự Đoạn mã firewall hồn tất :

†‡=†=†=t=t†=t=t=t=t=-t=t=†=t=-t=t=t=t=t=-t=t=t=t=t=t=-t=t=†=f†

Trang 34

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

# Initialize our user-defined chains

# Verify valid source and destination addresses for all

packets

iptables -A INPUT -i SEXTERNAL_INT -j valid-src iptables -A FORWARD -i $EXTERNAL INT -j valid-src iptables

A OUTPUT -o $EXTERNAL INT -j valid-dst

iptables -A FORWARD -o $EXTERNAL_INT -j valid-dst

†=†=†=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t=t† #

# Source and Destination Address Sanity Checks # Drop packets from networks covered in RFC 1918 # (private nets)

# Drop packets from external interface IP #

#=†=†=f=†t=†=t†t=t†t=t†=t†t=†=t=†=t=†=t=†=t=†=t=t=t=t=t=t=t=t†=t† iptables -A valid-src -s $10.0.0.0/8 -j DROP iptables valid-sre -s $172.16.0.0/12 -j DROP iptables -A valid-src -s $192.168.0.0/16 -] DROP iptables -A valid-src $224.0.0.0/4 -j DROP iptables -A valid-sre -s $240.0.0.0/5

-j DROP iptables -A valid-sre -s $127.0.0.0/8 ¬ DROP iptables -A valid-src -s 0.0.0.0/8 -j DROP iptables

valid-sre -d 255.255.255.255 -j DROP iptables -A valid-src 169.254.0.0/16 -j DROP iptables -A valid-src

Trang 35

SEXTERNAL_IP -j DROP iptables -A valid-dst -d $224.0.0.0/4 -j DROP

13.3 Su cho phép may chu DNS truy cap dén Firewall:

Firewall khong thé tao yéu ciu DNS queries đến Internet bởi vì Internet được

yéu cau cho ham co ban cua firewall, nhung béi vi Fedora Linux’s yum RPM sé giúp giữ máy chủ cập nhật với trạng thái bảo vệ mới nhất Những trạng thái theo sau sẽ cập nhật khơng chỉ cho firewall hoạt động như nhưng DNS client nhưng cũng cho những firewall làm việc trong một bộ đệm hoặc cĩ vai trị như DNS server

# Allow outbound DNS queries from the FW and the replies too #

# - Interface ethO is the internet interface #

# Zone transfers use TCP and not UDP Most home networks

# / websites using a single DNS server won't require TCP # statements iptables -A OUTPUT -p udp -o eth0O dport 53 -sport \ 1024:65535 -j ACCEPT iptables -A INPUT -p udp -i eth0 sport 53 -dport \ 1024:65535 -j ACCEPT

13.4 Cho phép WWW va SSH truy cap vao firewall:

Đoạn mã ngắn này là cho một firewall và gấp đơi như một web server được quản lý bởi người quản trị hé théng web server “web server system adminitrator”

Trang 36

DO án mén SECURITY: IPTABLES trén LINUX

định trước cho port 80 (WWW) và 22 (SSH) được phép Vi vậy tạo những bước

đầu tiên để thiết lập liên kết Ngược lại, những port trên (80 và 22) sẽ khơng

được thiết lập chế độ bảo mật tại ngõ ra cho những gĩi chỉ được chuyển đi khơng

quay về cho tất cá liên kết thiết lập được phép

## - -# Allow previously established connections

# - Interface ethO is the internet interface

4 - iptables -A OUTPUT -o eth0O -m state state \

ESTABLISHED ,RELATED -j ACCEPT

# Allow port 80 (www) and 22 (SSH) connections to the

# firewall

iptables -A INPUT -p tcp -i eth0O dport 22 -sport \ 1024:65535 -m state state NEW -j ACCEPT

iptables -A INPUT -p tcp -i eth0O dport 80 sport \ 1024:65535 -m state state NEW -j ACCEPT

13.5_ Firewall cho phép bạn để truy cập Internet

Iptables mã này cho phép một người dùng trên các bức tường lửa sử dụng một trình

duyệt web để lướt Internet HTTP giao thơng sử dụng TCP cổng 80, và HTTPS sử dụng cơng 443

Lưu ý: HTTPS (secure HTTP) được sử dụng cho các giao dịch thẻ tín dụng thường xuyên, cũng như của RedHat Linux máy chủ chạy up2date FTP và HTTP được sử

dụng thường xuyên với yum

Trang 37

# Cho phép cổng 80 (www) và 443 (https) kết nỗi từ các bức tường

lửa

iptables-A OUTPUT ACCEPT-m-j nhà nước \

- State NEW, ESTABLISHED, LIEN QUAN-o eth0-p tcp \ -M multiport - dports 80.443 - thé thao 1024:65535

# Cho phép các kết nối được xác lập trước

# - Giao diện eth0 là giao diện internet

iptables-A INPUT ACCEPT-m-j nha nước - nhà nước ESTABLTSHED,

LIÊN QUAN \ -I eth0O-p tcp

Nếu bạn muốn tất cả lưu lượng TCP cĩ nguồn gốc từ các bức tường lứa được chấp nhận, sau đĩ tháo đường:

-M multiport - dports 80.443 - thé thao 1024:65535

13.6 Cho phép mạng Trang chủ của bạn để truy cập Các Firewall

Trong ví dụ này, eth1 là trực tiếp kết nối với một mạng gia đình bằng cách sử dụng

địa chỉ IP từ mạng 192.168.1.0 Tất cả lưu lượng giữa mạng này và tường lửa đơn

Trang 38

DO án mén SECURITY: IPTABLES trén LINUX

quy định thêm sẽ được cần thiết cho các giao diện kết nối với Internet để cho phép các cơng chỉ cụ thể, các loại hình kết nối và máy chủ từ xa thậm chí cĩ thể được

tiếp cận với tường lửa của bạn và mạng gia đình

# Cho phép tất cả lưu lượng hai chiều từ tường lửa của mình vào # Bảo vệ mạng

# - Interface ethl là giao diện mạng riêng

iptables-A INPUT-j ACCEPT-p cac s-192.168.1.0/24-i ethl

iptables-A OUTPUT-j] ACCEPT-p tất cả các-d 192.168.1.0/24-o ethl

13.7 Mat na (Masquerade_many to one NAT):

Duong truyén từ tất cả thiết bị trên một hoặc nhiều mạng được bảo vệ sẽ xuất hiện như là nĩ bắt đầu từ địa chỉ IP đơn trên vị trí Internet của firewall

Địa chỉ IP mặt nạ (masquerade) luơn luơn mặc định đến địa chỉ IP của giao tiếp chính của firewall Ưu điểm của địa chỉ IP mặt nạ (masquerade) là ta khơng phải chỉ rõ địa chỉ IP NAT Điều này tạo cho việc câu hình bảng iptables NAT voi giao thức DHCP

Ta cĩ thể cấu hình nhiều đến một NAT cho một tên IP bằng cách sử dụng POSTROUTING và khơng dùng trạng thái MASQUERADE Việc che đậy (Masquerading) phụ thuộc vào Hệ Điều Hành Linux được cấu hình để cập nhật định tuyến giữa internet và giao tiếp mạng riêng của firewall Điều này được

thực hién béi IP enabling bang cach cho file /proc/sys/net/ipv4/ip_forward giá trị

Trang 39

1 như là đối với giá trị mặc định 0

Một masquerading được thiết lập sử dụng POSTROUTING chain của báng nat table, ta sẽ phải định dạng iptables để cho phép nhiều gĩi đi qua giữa 2 bề mặt Để làm được điều nay, stt dung FORWARD chain cua filter table Nhiéu

hơn, nhiều gĩi liên quan những liên kết NEW và ESTABLISHED sẽ được cho

phép outbound đến Internet, nhưng chí những gĩi liên quan đến liên kết

ESTABLISHES sé dugc phép inbound Điều này sẽ giúp bảo vệ mạng ở nhà từ bất cứ một người nào cố gắng kết nối với mạng nhà từ Internet

Load the NAT module

Note: It is best to use the /etc/rc.local example in this

chapter This value will not be retained in the /etc/sysconfig/iptables file Included only as a reminder SE OSE OE de FE SE l + Enable routing by modifying the ip forward /proc filesystem file Note: It is best to use the /etc/sysctl.conf example in this

chapter This value will not be retained in the

Trang 40

ĐỒ án mơn SECURITY: IPTABLES trén LINUX

# - Interface ethO is the internet interface

# - Interface ethl is the private network interface # ————————————————>—————————>——————————————————————————————————— iptables -A POSTROUTING -t nat -o eth0 -s 192.168.1.0/24 \ -d 0/0 -j MASQUERADE 4 - # Prior to masquerading, the packets are routed via the # filter

# table's FORWARD chain

# Allowed outbound: New, established and related # connections # Allowed inbound : Established and related connections 4# - iptables -A FORWARD -t filter -o ethO -m state -state \ NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -t filter -i ethO -m state state \

ESTABLISHED ,RELATED -j ACCEPT

13.8 Giả mạo (Nhiều NAT)

Bạn cĩ thê cầu hình nhiều cho một NAT cho một IP, sử dụng POSTROUTING và

khơng báo cáo Masquerade Một ví dụ về điều này cĩ thể được nhìn thấy trong phần NAT tĩnh sau

Hãy nhớ rằng iptables yêu cầu các module iptables nat được nạp với lệnh

modprobe cho tính năng mạo để làm việc Giả mạo cũng phụ thuộc vào hệ điều hành Linux đang được cấu hình để hỗ trợ định tuyến giữa internet và các giao diện mạng riêng của tường lửa Điều này được thực hiện bằng cách cho phép chuyên

Ngày đăng: 12/08/2016, 11:58

TỪ KHÓA LIÊN QUAN