ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG BÁO CÁO ĐỀ TÀI MÔN HỌC
ỨNG DỤNG TRUYỀN THÔNG VÀ AN NINH THÔNG TIN
GIẢNG VIÊN HƯỚNG DẪN: ThS. NCS. TÔ NGUYỄN NHẬT QUANG
NHÓM SINH VIÊN THỰC HIỆN: NHÓM 14 – LỚP MMT 02
Danh sách thành viên nhóm 14 lớp MMT02:
Họ và tên Mã số sinh viên
Trương Quốc Hùng 07520159
Đoàn Duy Ninh 07520489
Nguyễn Khánh Thuật 07520501
Phạm Duy Lộc 07520481
Nguyễn Quốc Việt 07520508 Thành phố Hồ Chí Minh ngày 19/05/2011
2
Mục lục:
PHẦN I/ TỔNG QUAN VỀ FIREWALL: ......................................................................... 4
1/ Cơ bản về Firewall: ..................................................................................................... 4
a/ Khái niệm: ............................................................................................................... 4
b/ Nhiệm vụ và chức năng: .......................................................................................... 4
c/ Các thành phần của Firewall: ................................................................................. 5
2/ Phân loại Firewall: ....................................................................................................... 5
a/ Phân loại theo phạm vi: .......................................................................................... 5
6/ Cấu hình Application Filter: ...................................................................................... 29
a/ Cấu hình HTTP Filter: .......................................................................................... 29
b/ SMTP Filter: .......................................................................................................... 31
TÀI LIỆU THAM KHẢO: ................................................................................................ 35 4
PHẦN I/ TỔNG QUAN VỀ FIREWALL:
1/ Cơ bản về Firewall:
a/ Khái niệm:
Firewall là một thiết bị hoặc một loạt các thiết bị (bao gồm phần cứng và phần mềm) hoạt
động trong môi trường mạng được thiết kế nhằm kiểm soát (cho phép hoặc ngăn chặn)
các truy cập trong mạng dựa trên các quy tắc được tạo ra (rule) và mô hình kết nối.
Công nghệ Firewall xuất hiện vào năm 1988 khi các hệ thống lọc gói tin cơ bản được
phát triển.
Hình 1: Mô hình Firewall đơn giản.
b/ Nhiệm vụ và chức năng:
Nhiệm vụ cơ bản của Firewall là kiểm soát các truy cập và lưu thông dữ liệu giữa các
vùng mạng khác nhau (internet, intranet, extranet, DMZ).
Mục đích của Firewall là cung cấp các kết nối có kiểm soát dựa trên các thông tin về địa
chỉ nguồn, địa chỉ đích, port, protocol, service và loại kết nối.
Các chức năng của Firewall:
Firewall cho phép hoặc không cho phép những dịch vụ bên trong truy cập ra một
tài nguyên nào đó bên ngoài.
Firewall cho phép hoặc ngăn những dịch vụ truy cập từ bên ngoài vào một vùng
mạng hoặc một tài nguyên nào đó bên trong.
5
6
Tường lửa mạng (Network Firewall): Chạy trên các thiết bị mạng hoặc máy tính chuyên
dụng đặt tại vùng biên giữa các khu vực mạng.
b/ Phân loại theo tầng giao thức:
Tường lửa tầng mạng, còn được gọi là Packet Filter Firewall
Tưởng lửa tầng ứng dụng, được gọi là Application/Proxy Gateway Firewall
c/ Phân loại theo khả năng theo dõi:
Tường lửa có trạng thái (Stateful FirewalL): Là tường lửa theo dõi trạng thái của các kết
nối mạng (giao thức TCP/UDP) đi qua nó, bao gồm IP nguồn, IP đích, port TCP/UDP
nguồn, port TCP/UDP đích, data, protocol) tường lửa này được lập trình để biết được gói
tin hợp lệ được phép đi qua hoặc sẽ bị hủy bỏ nếu nó là gói tin không hợp lệ.
Tưởng lưa phi trạng thái (Stateless Firewall): Là tường lửa không theo dõi trạng thái của
các kết nối mà chỉ dựa vào địa chỉ nguồn, địa chỉ đích, một số thông tin trên header để
quyết định cho phép hay không cho phép gói tin đi qua.
3/ Một số Firewall phổ biến:
a/ Simple Packet Filtering Firewall:
Đây có thể coi là loại tường lửa căn bản nhất, nó kiểm tra từng gói tin ra vào hệ thống
mạng, so sách các thông tin thu được (của gói tin đó) với các quy định (rule) đã được
thiết lập sẵn, sau đó quyết định xem gói tin là hợp lệ hay không hợp lệ. Các thông tin
được kiểm tra bao gồm:
Địa chỉ nguồn của gói tin, cũng có thể là địa chi của hệ thống mà gói tin xuất phát
từ đó.
Địa chỉ đích, nơi mà gói tin được gởi đến, hoặc cũng có thể là địa chỉ đích của hệ
thống nơi mà gói tin được gởi đến.
Giao thức nào sẽ được dùng để giao tiếp giữa nơi gởi và nơi nhận. Loại tường lửa
này hoạt đông ở tầng 2 và 3 trong mô hình OSI.
Thông thường thì gói tin hoặc kết nói sẽ được xử lý như sau:
Accept: Tường lửa chấp nhận cho gói tin/kết nối đi qua và đến nơi cần đến.
8
Deny: Tường lửa bỏ qua gói tin/kết nối, sau đó một thông báo lỗi sẽ được gởi đến
nơi xuất phát của gói tin.
Discard: Tường lửa bỏ qua gói tin và không thông báo gì cho nơi gửi.
Các thông tin trong packet sẽ được tường lửa kiểm tra và so sánh với các rule đã có để
quyết định cho phép hay hủy bỏ một gói tin. Chúng ta có thể tạo rule dựa trên các thông
tin này. Chúng bao gồm: địa chỉ nguồn, địa chỉ đích, giao thức, port nguồn, port đích,
dịch vụ, giá trị TTL, dải IP nguồn, dãi IP đích, Domain nguồn, Domain đích, ứng dụng
nguồn, ứng dụng đích, thông tin chứng thực.
5/ Các mô hình Firewall thường dùng:
Firewall có thể được cấu hình thành nhiều các topology phù hợp với hệ thống mạng mà
nó cần bảo vệ. Có ba topology phổ biến thường được sử dụng trong các hệ thống mạng
hiện đại, đó là:
a/ Perimeter Firewall Topology:
Đây là mô hình Firewall phổ biến nhất, mô hình sẽ gồm một Firewall đặt nằm giữa các
vùng mạng hoặc giữa các hệ thống tin cậy và không tin cậy:
Hình 2: Mô hình Perimeter Firewall.
9
b/ Three - Legged (DMZ) Firewall Topology:
Mô hình này thường được sử dụng khi chúng ta muốn công khai các nguồn tài nguyên ra các hệ thống
mạng bên ngoài, khu vực mạng chứa các tài nguyên này được gọi là DMZ. Cũng giống như mô hình
Có khả năng ngăn chặn một số cơ chế tấn công theo kiểu DoS.
3/ Cài đặt IPTables:
IPTABLE được cài đặt mặc định trong hệ thống của Linux. Package của IPTABLE là
Iptable-1.2.9-1.0.i386.rpm.
Khởi động IPTABLE:
#service iptable start
#service iptable stop
#service iptable restart
4/ Cấu trúc IPTables:
IPTables gồm có 3 bảng: FILTER, MANGLE, NAT và các CHAIN trong mỗi bảng, người quản
trị sử dụng chúng để tạo ra các rule cho IPTable để kiểm soát các gói tin ra vào hệ thống, chức
năng của chúng như sau:
11
MANGLE: Dùng chỉnh sửa QoS bit trong phần TCP Header của gói tin.
FILTER: Dùng để lọc các gói tin, gồm có các chain được xây dựng sẵn. gồm:
_Forward Chain: Lọc những gói tin đi qua hệ thống này và chuyển qua môt hệ thống
khác:
_Input Chain: Lọc những gói tin đi vào hệ thống: _Output Chain: Lọc những gói tin đi ra khỏi hệ thống: NAT: Sửa địa chỉ gói tin gồm các chain được thiết lập sẵn, bao gồm:
12
-d: So sánh địa chỉ đích của gói tin.
-i: So sánh tên card mạng mà gói tin đi vào hệ thống qua đó.
-o: So sánh tên card mạng mà gói tin từ hệ thống đi ra qua đó.
-p tcp --sport: Xác định port nguồn của gói tin TCP.
-p tcp --dport: Xác định port đích của gói tin TCP.
14
-p udp --sport: Xác định port nguồn của gói tin UDP.
-p udp --dport: Xác định port đích của gói tin UDP.
--syn: Xác định gói tin có phải là một yêu cầu tạo một kết nối TCP mới hay không.
--icmp-type: Xác định loại gói ICMP (echo-reply hay echo-request).
-m multiport --sport < port, port >: Xác định một loạt các giá trị port nguồn.
-m multiport --dport < port, port >: Xác định một loạt các giá trị port đích.
-m multiport --port < port, port >: Xác định một loạt các giá trị port (không phân biệt
nguồn hay đích).
-m --state < state >: Xác định trạng thái kết nối mà gói tin thể hiện
ESTABLISHED: Gói tin thuộc một kết nối đã được thiết lập.
NEW: Gói tin thể hiện một yêu cầu kết nối.
RELATED: Gói tin thể hiện một yêu cầu kết nối thứ hai (có liên quan đến kết nối thứ
nhất, thường xuất hiện ở những giao thức FPT hay ICMP).
INVALID: Thể hiện một gói tin không hợp lệ.
6/ Một số ví dụ minh họa:
Chấp nhận những gói tin từ mọi địa chỉ ip (-s 0/0) đi vào từ eth0, gửi đến hệ thống có địa
chỉ 192.168.1.1:
iptables -A INPUT -s 0/0 -i eth0 -d 192.168.1.1 -p TCP -j ACCEPT
Cho phép những gói tin từ mọi địa chỉ ip đi vào từ eth0 đi ra eth1 để đến hệ thống có địa
chỉ 192.168.1.58, giá trị port nguồn của các gói tin trong phạm vi 1024 đến 65535 và giá
trị port đích là 80.
iptables -A FORWARD -s 0/0 -i eth0 -d 192.168.1.58 -o eth1 -p