Tải bản đầy đủ (.pdf) (114 trang)

Kết hợp firewall và hệ thống phát hiện xâm nhập (IDS) để bảo vệ hệ thống mạng của doanh nghiệp trên nền tảng hệ điều hành linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.56 MB, 114 trang )

NHẬN XÉT
(Của giảng viên hướng dẫn)
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................


NHẬN XÉT
(Của giảng viên phản biện)
..........................................................................................................................


..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

MỤC LỤC

LỜI MỞ ĐẦU ................................................................................................ 9
LỜI CẢM ƠN .............................................................................................. 11
Chương I: TỔNG QUAN VỀ FIREWALL ............................................... 12
1.1

Firewall là gì? ............................................................................... 12

1.2

Chức năng của Firewall ................................................................ 13

1.3

Cấu trúc của Firewall .................................................................... 13

1.4

Các thành phần của Firewall ......................................................... 13

1.4.1

Bộ lọc packet (Packet – filtering router) ................................... 14

1.4.2

Cổng ứng dụng (application-level getway) ............................ 15

1.4.3

Cổng mạch (circuit-Level Gateway) ....................................... 17


1.5

Những hạn chế của firewall .......................................................... 18

Chương 2: LINUX FIREWALL IPTABLES ............................................ 19
2.1 Tổng quan về Iptables......................................................................... 19
2.2 Tính năng của Iptables ........................................................................ 19
2.2.1 Bảng filter .................................................................................... 20
2.2.2 Bảng NAT ................................................................................... 22
2.2.3 Bảng mangle ................................................................................ 24
2.3 Cú pháp cơ bản của iptables ............................................................... 26
2.3.1 Các lệnh (command) của iptables ................................................ 27
2.3.2 Các điều kiện trong luật ............................................................... 30

SVTH: LA HOÀI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

2.3.2.1 Nhóm các điều kiện chung .................................................... 31
2.3.2.2 Nhóm các điều kiện ẩn .......................................................... 32
2.3.2.3 Nhóm các điều kiện hiện ....................................................... 34
2.4 Các hành động trong luật .................................................................... 36
2.4.1 User-defined-chain ...................................................................... 36
2.4.2 DROP .......................................................................................... 37
2.4.3 REJECT....................................................................................... 37
2.4.4 RETURN ..................................................................................... 37

2.4.5 SNAT .......................................................................................... 37
2.4.6 MASQUERADE ......................................................................... 38
2.4.7 DNAT.......................................................................................... 39
2.5 Cách cơ bản để thiết lập một luật trong iptables.................................. 40
2.6 Cấu hình firewall iptables ................................................................... 42
2.6.1 Định nghĩa các biến đại diện ........................................................ 43
2.6.2 Xóa luật hiện tại........................................................................... 43
2.6.3 Đặt lại chính sách mặc định và ngắt firewall ................................ 44
2.6.4 Cho phép interface lookback........................................................ 44
2.6.5 Xác định lựa chọn chính sách mặc định ....................................... 45
2.6.6 Kiểm tra nhanh tính hợp lệ của gói tin ......................................... 45
2.6.7 Sử dụng kêt nối có trạng thái để giảm xét luật ............................. 46
2.6.8 Ngăn giả mạo địa chỉ ................................................................... 46

SVTH: LA HOÀI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

2.6.9 Cấu hình cho phép một số dịch vụ TCP thông dụng .................... 47
2.6.9.1 Email .................................................................................... 47
2.6.9.2 Telnet.................................................................................... 48
2.6.9.3 SSH ...................................................................................... 49
2.6.9.4 FTP ....................................................................................... 50
2.6.9.5 Dịch vụ Web ......................................................................... 51
Chương 3: HỆ THỐNG PHÁT HIỆN XÂM NHẬP ................................. 53
3.1 Tổng quan về hệ thống phát hiện xâm nhập – IDS .............................. 53
3.1.1 Sự cần thiết của tìm kiếm và phát hiện xâm nhập ........................ 53

3.1.1.1 Xâm nhập mạng là gì? .......................................................... 53
3.1.1.2 Phát hiện xâm nhập mạng là gì?............................................ 54
3.1.2 Một số khái niệm cơ bản trong hệ thống phát hiện xâm nhập....... 54
3.1.2.1 Hệ thống phát hiện xâm nhập (IDS) ...................................... 54
3.1.2.2 Network IDS – NIDS ............................................................ 54
3.1.2.3 Host IDS – HIDS .................................................................. 55
3.1.2.4 Các dấu hiệu (Signatures) ..................................................... 55
3.1.2.5 Sensor ................................................................................... 55
3.1.3 Chức năng của IDS ...................................................................... 56
3.1.3.1 Các ứng dụng cơ bản của IDS ............................................... 56
3.1.3.2 Các tính năng chính của IDS ................................................. 56
3.1.4 Phân loại ...................................................................................... 56

SVTH: LA HOÀI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

3.1.4.1 Theo tiêu chí phương pháp phát hiện .................................... 56
3.1.4.2 Theo tiêu chí mơi trường vận hành của IDS .......................... 58
3.1.4.3 Theo tiêu chí cách phản ứng của IDS .................................... 58
3.1.5 Kiến trúc IDS............................................................................... 58
3.1.5.1 Cơ sở hạ tầng của IDS .......................................................... 59
3.1.5.2 Cấu trúc của IDS ................................................................... 61
3.1.6 Cách thức làm việc của IDS ......................................................... 63
3.1.6.1 Nework-Based IDS (NIDS) .................................................. 63
3.1.6.2 Host Based IDS (HIDS) ........................................................ 66
3.1.6.3 Hệ thống phát hiện xâm nhập phân tán (DIDS) ..................... 69

3.1.6.4 Stack-based IDS.................................................................... 69
3.1.7 Một số phương pháp phát hiện xâm nhập của IDS ....................... 70
3.1.7.1 Phương pháp bắt gói tin (Packet Sniffing)............................. 70
3.1.7.2 Phân tích nhật ký (Log Parsing) ............................................ 70
3.1.7.3 Giám sát các cuộc gọi hệ thống (System Call Monitoring).... 70
3.1.7.4 Giám sát hệ thống file (Filesystem Watching)....................... 71
3.1.8 IDS làm gì khi phát hiện ra một xâm nhập? ................................. 71
3.1.8.1 Phản ứng thụ động (Passive Response) ................................. 71
3.1.8.2 Phản ứng chủ động (Active Response) .................................. 71
3.2 Cấu hình và cài đặt hệ thống phát hiện xâm nhập với Snort IDS
Software ................................................................................................... 72

SVTH: LA HOÀI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

3.2.1 Giới thiệu về Snort....................................................................... 72
3.2.1.1 Sơ đồi khối của một hệ thống IDS sử dụng Snort .................. 73
3.2.1.2 Các module thành phần bên trong Snort................................ 74
3.2.1.2.1 Packet Decoder (Bộ phận giải mã gói) ........................... 75
3.2.1.2.2 Preprocessors (Bộ phận xử lý trước) .............................. 75
3.2.1.2.3 Detection Engine (Bộ phận phát hiện) ............................ 76
3.2.1.2.4 Module ghi nhật ký và cảnh báo (Logging and Alert
System) ......................................................................................... 77
3.2.1.2.5 Các module Output ........................................................ 77
3.2.1.3 Các chế độ hoạt động của Snort ............................................ 77
3.2.2 Cài đặt Snort ................................................................................ 80

3.2.2.1 Cài đặt một số công cụ phát triển .......................................... 80
3.2.2.2 Cài đặt Snort ......................................................................... 81
3.2.2.3 Cài đặt BASE and ABOdb .................................................... 87
3.2.2.4 Cài đặt Barnyard2 ................................................................. 91
3.2.3 Snort rule ..................................................................................... 92
3.2.3.1 Các thành phần chính ............................................................ 93
3.2.3.1.1 Rule Header ................................................................... 93
3.2.3.1.2 Rules Option .................................................................. 94
3.2.3.2 Ví dụ về Snort rule ................................................................ 94
Chương 4: MƠ HÌNH THỬ NGHIỆM ...................................................... 96

SVTH: LA HỒI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

MỤC LỤC

4.1.

Môi trường thử nghiệm ................................................................. 96

4.2.

Mơ hình thử nghiệm ..................................................................... 96

4.3 Mơ hình 1: Bảo vệ hệ thống có dịch vụ và chia sẻ internet ................. 98
4.3.1 Yêu cầu và cấu hình Firewal ........................................................ 99
4.3.2 Sử dụng Snort theo dõi lưu lượng mạng..................................... 100
4.4 Mơ hình 2: Phịng thủ và bảo vệ hệ thống với Snort IDS và Iptables 102

4.4.1 Tạo tấn công từ chối dịch vụ (DOS) .......................................... 103
4.4.2 Kiểm tra và phân tích các dấu hiệu nhận được ........................... 104
4.4.3 Ngăn chặn tấn cơng và phịng thủ hệ thống................................ 108
Chương 5: TỔNG KẾT............................................................................. 112
6.1 Kết quả đạt được............................................................................... 112
6.2 Những hạn chế.................................................................................. 113
6.3 Hướng nghiên cứu ............................................................................ 113
TÀI LIỆU THAM KHẢO......................................................................... 114

SVTH: LA HOÀI BÃO – 49THMA


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LỜI MỞ ĐẦU

LỜI MỞ ĐẦU

Mạng Internet ra đời đã mang lại rất nhiều lợi ích cho con người. Tuy
nhiên, bên cạnh những ưu điểm nó cịn tồn tại rất nhiều nhược điểm, điểm yếu mà
khó có thể khắc phục được. Một trong những yếu điểm của nó chính là bài tốn về
an ninh, an tồn và bảo mật trên mạng Internet. Sự mở rộng về mặt địa lý cũng
như các ứng dụng trên mạng Internet chính là sự mở rộng cửa hơn đối với kẻ tấn
công mạng. Nguy cơ mạng bị tấn công nằm ở tất cả các quốc gia có kết nối
Internet, hơn nữa các thủ đoạn tấn công mạng ngày càng tinh vi. Bài tốn an ninh,
an tồn mạng và tấn cơng mạng ln đi song hành. Khi có kiểu tấn cơng mới thì
giải pháp an ninh, an tồn cần phải nâng cấp, cải tiến ngay tức thời để chống lại
tấn công này. Khi cơng cụ tấn cơng khơng cịn hiệu quả, kẻ tấn công lại nghĩ ra
phương kế khác để vượt qua hệ thống bảo vệ. Có thể nói rằng cuộc đua giữa an
ninh, an tồn mạng và kẻ tấn cơng là cuộc chiến đầy phức tạp và khơng có hồi kết.

Ở Việt Nam, chưa có lúc nào mà các cuộc tấn công mạng và các Website bị
tấn công lại rầm rộ như những năm gần đây, đặc biệt vào những ngày đầu tháng 6
năm 2011, theo thống kê có khoảng hơn 1.500 website Việt Nam bị tấn cơng.
Chúng ta có thể nhìn thấy các Website của Việt Nam bị tấn cơng được liệt kê trên
các trang web của nước ngoài. Website bị tấn công rất đa dạng, từ ngành giáo dục
đào tạo, các trang thông tin của các tỉnh, cho tới các doanh nghiệp kinh doanh trên
mạng.
Giải pháp an ninh, an toàn được biết đến nhiều là các hệ thống bức tưởng
lửa (firewall). Firewall thường hoạt động như bộ lọc gói tin mạng (lọc địa chỉ,
cổng, dịch vụ...), nó giải quyết một số vấn đề cơ bản cho bài toán an ninh, an tồn
mạng. Tuy nhiên, thực tiễn hiện nay địi hỏi một giải pháp phức tạp và thông minh
để kết hợp với firewall để bảo vệ hệ thống mạng của chúng ta một cách hiệu quả
hơn. Một giải pháp như vậy hiện đang được triển khai ở thực tế là các hệ phát hiện
xâm nhập (IDS – Intrusion Detection System).
Trong một vài năm trở lại đây, vấn đề an ninh mạng mới được quan tâm
nhiều ở Việt Nam. Chúng ta đã tổ chức một số hội nghị về an toàn thông tin mang
tầm cỡ quốc gia như VN Security... Trước đây, do điều kiện chủ quan cũng như

SVTH: LA HOÀI BÃO – 49THMA

9


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LỜI MỞ ĐẦU

khách quan chúng ta chưa coi trọng nhiều về vấn đề an toàn mạng. Sau khi các
mạng của các cơ quan, doanh nghiệp bị tấn công ảnh hưởng nhiều đến thương hiệu,
kinh tế thì chúng ta mới bắt đầu chú ý tới an tồn và bảo mật mạng. Có thể nói Việt

Nam đã đi sau so với các quốc gia trên thế giới, điều này cũng dễ hiểu bởi vì trong
một thời gian khá dài chúng ta chỉ nghĩ tới việc triển khai các hệ thống thông tin và
ứng dụng công nghệ thông tin. Và bây giờ là thời điểm để chúng ta nhìn nhận sâu
hơn về các bài tốn an ninh, an toàn và bảo mật mạng.
Với phạm vi kiến thức đã tích lũy, học hỏi được trong suốt 4 năm học đại
Đại học Nha Trang, cùng với xu hướng phát triển hiện nay tơi đã đi vào tìm hiểu và
nghiên cứu một hệ thống an ninh bảo mật mạng gồm firewall kết hợp với hệ thống
phát hiện xâm nhập để bảo vệ hệ thống mạng của doanh nghiệp trên nền tảng hệ
điều hành Linux.
Mang tính thực tế và bắt nhịp với cơng nghệ mới, đồ án này sẽ giúp tơi có
thêm kinh nghiệm, hiểu biết rõ một hệ điều hành tương đối mới so với mọi người
cũng như có thêm kiến thức về hệ thống firewall và dễ dàng thích nghi vào cơng
việc sau khi ra trường.
Trong q trình tìm hiểu và làm báo cáo, do còn thiếu nhiều kinh nghiệm thực
tế nên khơng tránh khỏi những sai sót. Rất mong các thầy cơ và các bạn góp ý để đề
tài được hoàn thiện hơn. Em xin chân thành cảm ơn!

SVTH: LA HOÀI BÃO – 49THMA

10


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LỜI CẢM ƠN

LỜI CẢM ƠN

Để hoàn thành bài luận tốt nghiệp “Kết hợp Firewall và hệ thống phát hiện
xâm nhập (IDS) để bảo vệ hệ thống mạng của doanh nghiệp trên nền tảng hệ

điều hành Linux”, lời đầu tiên tôi xin bày tỏ sự cám ơn tới ThS. Ngô Văn Công,
người đã giúp tôi lựa chọn đề tài, truyền đạt kinh nghiệm, đưa ra những nhận xét
quý giá và trực tiếp hướng dẫn tôi trong suốt q trình hồn thành luận văn tốt
nghiệp.
Tơi xin chân thành cám ơn các thầy cô trong khoa Công nghệ thông tin trường Đại học Nha Trang đã truyền đạt kiến thức cho tôi trong suốt khoảng thời
gian 4 năm học tập tại trường.
Trong q trình hồn thành luận văn tốt nghiệp, tôi đã nhận được rất nhiều sự
giúp đỡ, động viên từ bạn bè. Tôi xin gửi lời cám ơn tới những người bạn luôn bên
cạnh tôi để chia sẻ những kinh nghiệm trong học tập cũng như cuộc sống.
Cuối cùng tơi kính chúc q thầy, cơ dồi dào sức khỏe và thành công trong sự
nghiệp cao quý của mình.
Nha Trang, tháng 6 năm 2011
Sinh viên thực hiện
La Hồi Bão

SVTH: LA HOÀI BÃO – 49THMA

11


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

Chương I: TỔNG QUAN VỀ FIREWALL
1.1 Firewall là gì?
Thuật ngữ Firewall có nguồn gốc từ một kỹ thuật thiết kế trong xây dựng để
ngăn chặn, hạn chế hỏa hoạn. Trong công nghệ mạng thơng tin, Firewall là một kỹ
thuật được tích hợp vào hệ thống mạng để chống sự truy cập trái phép, nhằm bảo vệ
các nguồn thông tin nội bộ và hạn chế sự xâm nhập không mong muốn vào hệ

thống. Cũng có thể hiểu Firewall là một cơ chế để bảo vệ mạng tin tưởng (Trusted
network) khỏi các mạng không tin tưởng (Untrusted network).
Thông thường Firewall được đặt giữa mạng bên trong (Intranet) của một công
ty, tổ chức, hay một quốc gia, và Internet. Vai trị chính là bảo mật thông tin, ngăn
chặn sự truy nhập không mong muốn từ bên ngoài (Internet) và cấm truy nhập từ
bên trong (Intranet) tới một số địa chỉ nhất định trên Internet.
Trong trường lợp lý tưởng, một Firewall cần phải cung cấp sự tách biệt về mặt
vật lý giữa các mạng với nhau. Ngày nay, sự tách biệt đó đã trở nên mờ dần bởi việc
sử dụng những mạng ảo. Sự ảo hóa giúp phân chia các mạng ở mức logic, điều này
không được khuyến khích trong xây dựng một hệ thống Firewall.
Với vai trò là một hệ thống bảo mật, Firewall tạo một bức tường bao quanh máy
tính hoặc một mạng với Internet. Bức tường đó quyết định những luồng thơng tin
nào được phép trong một máy tính hay trong một mạng cục bộ. Firewall giúp bảo
vệ máy tính hay một mạng khỏi hackers, viruses, và những hoạt động mang tính
nguy hiểm.

SVTH: LA HOÀI BÃO – 49THMA

12


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

1.2 Chức năng của Firewall
Chức năng chính của Firewall là kiểm sốt luồng thông tin từ giữa Intranet và
Internet. Thiết lập cơ chế điều khiển dịng thơng tin giữa mạng bên trong (Intranet)
và mạng Internet. Cụ thể là:
 Firewall quyết định những dịch vụ nào ở bên trong được phép truy cập từ

bên ngoài và ngược lại những dịch vụ bên ngoài nào được phép truy cập từ
bên trong.
 Tất cả việc trao đổi thơng tin giữa trong và ngồi đều được thực hiện thơng
qua Firewall.
 Chỉ có những trao đổi nào thõa mãn chính sách an ninh của Firewall mới
được phép lưu thông qua Firewall.

1.3 Cấu trúc của Firewall
Firewall bao gồm:
Một hoặc nhiều hệ thống máy chủ kết nối với các bộ định tuyến (router) hoặc có
chức năng router.
Các phần mềm quản lí an ninh chạy trên hệ thống máy chủ. Thông thường là các
hệ quản trị xác thực (Authentication), cấp quyền (Authorization) và kế toán
(Accounting).

1.4 Các thành phần của Firewall
Firewall chuẩn bao gồm một hay nhiều các thành phần sau đây:
 Bộ lọc packet (Packet – filtering router).
 Cổng ứng dụng (Application – level gateway hay proxy server).
 Cổng mạch (Circuite level gateway).

SVTH: LA HOÀI BÃO – 49THMA

13


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL


1.4.1 Bộ lọc packet (Packet – filtering router)
Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông qua
Firewall thì điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức
TCI/IP. Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận
được từ các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy
trên các giao thức (Telnet, SMTP, DNS, SNMP, NFS...) thành các gói dữ liệu
(data packets) rồi gán cho các packet này những địa chỉ để có thể nhận dạng,
tái lập lại ở đích cần gửi đến, do đó các loại Firewall cũng liên quan r ất
n h iều đ ến cá c packet và những con số địa chỉ của chúng.
Bộ lọc packet cho phép hay từ chối mỗi packet mà nó nhận được. Nó kiểm
tra toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một
trong số các luật lệ của lọc packet hay không. Các luật lệ lọc packet này là dựa
trên các thông tin ở đ ầu mỗi packet (packet header), dùng để cho phép truyền
các packet đó ở trên mạng. Đó là:
 Địa chỉ IP nguồn (IP Source address).
 Địa chỉ IP đích (IP Destination address).
 Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
 Cổng TCP/UDP nguồn (TCP/UDP source port)
 Cổng TCP/UDP đích (TCP/UDP destination port)
 Dạng thông báo ICMP (ICMP message type)
 Giao diện packet đến (incomming interface of packet)
 Giao diện packet đi (outcomming interface of packet)
Nếu luật lọc packet được thỏa mãn thì packet được chuyển qua firewall. Nếu
khơng packet sẽ bị bỏ đi. Nhờ vậy mà firewall có thể ngăn chặn được các kết
nối vào các máy chủ hoặc mạng nào đó được xác định, hoặc khóa việc truy cập
vào hệ thống mạng nội bộ từ những địa chỉ không cho phép. Hơn nữa, việc

SVTH: LA HOÀI BÃO – 49THMA

14



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

kiểm soát các cổng làm cho Firewall có khả năng chỉ cho phép một số loại kết
nối nhất định vào các loại máy chủ nào đó, hoặc chỉ có những dịch vụ nào đó
(Telnet, SMTP, FTP…) được phép mới chạy được trên hệ thống mạng cục bộ.
 Ưu điểm:
Đa số các hệ thống firewall đều sử dụng bộ lọc packet. Một trong những
ưu điểm của phương pháp dùng bộ lọc packet là chi phí thấp vì cơ chế lọc
packet đã được bao gồm trong mỗi phần mềm router. Ngoài ra, bộ lọc
packet là trong suốt đối với người sử dụng và các ứng dụng, vì vậy nó khơng
u cầu sự huấn luyện đặc biệt nào cả.
 Nhược điểm:
Việc định nghĩa các chế độ lọc package là một việc khá phức tạp, đòi hỏi
người quản trị mạng cần có hiểu biết chi tiết về các dịch vụ Internet, các
dạng packet header, và các giá trị cụ thể có thể nhận trên mỗi trường. Khi
đòi hỏi về sự lọc càng lớn, các luật lệ về lọc càng trở nên dài và phức tạp, rất
khó để quản lý và điều khiển. Do làm việc dựa trên header của các packet,
rõ ràng là bộ lọc packet khơng kiểm sốt được nội dung thơng tin của
packet. Các packet chuyển qua vẫn có thể mang theo những hành động với ý
đồ ăn cắp thông tin hay phá hoại của kẻ xấu.

1.4.2 Cổng ứng dụng (application-level getway)
Đây là một loại firewall được thiết kế để tăng cường chức năng kiểm soát
các loại dịch vụ, giao thức được cho phép truy cập vào hệ thống mạng. Cơ chế
hoạt động của nó dựa trên cách thức gọi là Proxy service. Proxy service là các
bộ code đặc biệt cài trên gateway cho từng ứng dụng. Nếu người quản trị mạng

không cài đặt proxy code cho một ứng dụng nào đó, dịch vụ tương ứng sẽ
khơng được cung cấp và do đó khơng thể chuyển thơng tin qua firewall. Ngồi

SVTH: LA HỒI BÃO – 49THMA

15


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

ra, proxy code có thể được cấu hình để hổ trợ chỉ một số đặc điểm trong ứng
dụng mà người quản trị mạng cho là chấp nhận được trong khi từ chối những
đặc điểm khác.
Cổng ứng dụng thường được coi như là một pháo đài (bastion host), bởi vì
nó được thiết kế đặc biệt để chống lại sự tấn công từ bên ngoài. Những biện
pháp đảm bảo an ninh của một bastion host là:
-

Bastion host ln chạy các version an tồn (secure version) của các phần

mềm hệ thống. Các version an toàn này được thiết kế chuyên cho mục đích
chống lại sự tấn công vào phần mềm hệ thống, cũng như là đảm bảo sự tích
hợp firewall.
-

Chỉ những dịch vụ mà người quản trị mạng cho là cần thiết mới được cài

đặt trên bastion host, đơn giản chỉ vì nếu một dịch vụ khơng được cài đặt, nó

khơng thể bị tấn cơng. Thông thường, chỉ một số giới hạn các ứng dụng cho
các dịch vụ Telnet, DNS, FTP, SMTP và xác thực user là được cài đặt trên
bastion host.
-

Bastion host có thể yêu cầu nhiều mức độ xác thực khác nhau, ví dụ như

user password hay smart card.
-

Mỗi proxy được cấu hình để cho phép truy cập chỉ một số các máy chủ

nhất định. Điều này có nghĩa rằng bộ lệnh và đặc điểm thiết lập cho mỗi
proxy chỉ đúng với một số máy chủ trên tồn hệ thống.
-

Mội proxy duy trì một quyển nhật ký ghi chép lại toàn bộ chi tiết của

giao thơng qua nó, mỗi sự kết nối, khoảng thời gian kết nối. Nhật ký này rất
có ích trong việc tìm theo dấu vết hay ngăn chặn kẻ phá hoại.
-

Mỗi proxy đều độc lập với các proxies khác trên bastion host. Điều này

cho phép dễ dàng quá trình cài đặt một proxy mới, hay tháo gỡ một proxy
đang có vấn đề.

SVTH: LA HOÀI BÃO – 49THMA

16



ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

 Ưu điểm:
Cho phép người quản trị mạng hoàn toàn điều khiển được từng dịch vụ trên
mạng, bởi vì ứng dụng proxy hạn chế bộ lệnh và quyết định những máy chủ nào
có thể truy nhập được bởi các dịch vụ. Cho phép người quản trị mạng hoàn toàn
điều khiển được những dịch vụ nào cho phép, bởi vì sự vắng mặt của các proxy
cho các dịch vụ tương ứng có nghĩa là các dịch vụ ấy bị khoá. Cổng ứng dụng
cho phép kiểm tra độ xác thực rất tốt, và nó có nhật ký ghi chép lại thơng tin về
truy nhập hệ thống. Luật lệ lọc filltering cho cổng ứng dụng là dễ dàng cấu hình
và kiểm tra hơn so với bộ lọc packet.
 Nhược điểm:
Yêu cầu các users thay đổi thao tác, hoặc thay đổi phần mềm đã cài đặt trên
máy client cho truy nhập vào các dịch vụ proxy. Chẳng hạn, Telnet truy nhập
qua cổng ứng dụng đòi hỏi hai bước để nối với máy chủ chứ không phải là một
bước thơi. Tuy nhiên, cũng đã có một số phần mềm client cho phép ứng dụng
trên cổng ứng dụng là trong suốt, bằng cách cho phép user chỉ ra máy đích chứ
khơng phải cổng ứng dụng trên lệnh Telnet.

1.4.3 Cổng mạch (circuit-Level Gateway)
Cổng mạch là Firewall với một chức năng đặc biệt có thể thực hiện được bởi
một cổng ứng dụng. Cổng vòng đơn giản chỉ chuyển tiếp (relay) các kết nối
TCP mà không thực hiện bất kỳ một hành động xử lý hay lọc packet nào.
Cổng mạch làm việc như một sợi dây, sao chép các byte giữa các kết nối
bên trong (inside connection) và các kết nối bên ngồi (outside connection).
Tuy nhiên, vì sự kết nối này xuất hiện từ hệ thống firewall, nó che dấu thơng tin

về mạng nội bộ.
Cổng mạch thường được sử dụng cho những kết nối ra ngồi, nơi mà các

SVTH: LA HỒI BÃO – 49THMA

17


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

TỔNG QUAN VỀ FIREWALL

quản trị mạng thật sự tin tưởng những người dùng bên trong. Ưu điểm lớn nhất
là một bastion host có thể được cấu hình như một hỗn hợp cung cấp Cổng ứng
dụng cho những kết nối đến, và cổng mạch cho những kết nối đi. Điều này làm
cho hệ thống tường lửa dễ dàng sử dụng cho những người trong mạng nội bộ
muốn trực tiếp truy nhập tới các dịch vụ Internet, trong khi vẫn cung cấp chức
năng bức tường lửa để bảo vệ mạng nội bộ từ những cuộc tấn công bên ngồi.

1.5 Những hạn chế của firewall
Firewall khơng đủ thơng minh như con người để có thể đọc hiểu từng loại thơng
tin và phân tích nội dung tốt hay xấu của nó. Firewall chỉ có thể ngăn chặn sự xâm
nhập của những nguồn thông tin không mong muốn nhưng phải xác định rõ các
thông số địa chỉ.
Firewall không thể ngăn chặn cuộc tấn công nếu cuộc tấn công này không “đi
qua” nó. Một cách cụ thể, firewall khơng thể chống lại một cuộc tấn công từ một
đường dial-up, hoặc sự rị rỉ thơng tin do dữ liệu bị sao chép bất hợp pháp lên đĩa
mềm.
Firewall cũng không thể chống lại các cuộc tấn cơng bằng dữ liệu. Khi có một
số chương trình được chuyển theo thư điện tử, vượt qua firewall vào trong mạng

được bảo vệ và bắt đầu hoạt động ở đây.
Một số ví dụ là các virus máy tính. Firewall khơng thể làm nhiệm vụ rà qt
virus trên các dữ liệu được chuyển qua nó, do tốc độ làm việc, sự xuất hiện liên tục
của các virus mới và do có rất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng
kiểm soát của firewall. Tuy nhiên, firewal vẫn là giải pháp hữu hiệu được áp dụng.

SVTH: LA HOÀI BÃO – 49THMA

18


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES

Chương 2: LINUX FIREWALL IPTABLES
2.1 Tổng quan về Iptables
Iptables là một cấu trúc bảng trừu tượng, trong đó định nghĩa những luật và lệnh
như là một thành phần của nền Netfilter framework giúp dễ dàng thực hiện ánh xạ
địa chỉ (NAT), lọc gói (packet filtering) và xẻ gói (packet mangling) trong Linux
2.4 và những hệ điều hành tương lai. NAT là một quá trình chuyển đổi một địa chỉ
IP thành một địa chỉ IP khác. Lọc gói là cho phép hoặc ngăn chặn một gói tin tại
một giao tiếp mạng (network interface) nào đó dựa trên địa chỉ nguồn, địa chỉ đích,
số hiệu cổng, giao thức sử dụng. Xẻ gói là quá khả năng cho phép thay đổi, chỉnh
sửa gói tin trước hoặc sau khi định tuyến.
Iptables và Netfilter là sản phẩm thừa kế từ ipchains và ipfwadm trong những
phiên bản Linux cũ. Netfilter và iptables thường phối hợp với nhau thành một thể
thống nhất là netfilter/iptables và được đề cập đến trong Linux 2.4 và những phiên
bản về sau.


2.2 Tính năng của Iptables
Khi một gói tin đầu tiên tới firewall, phần cứng sẽ tiếp nhận nó và sau đó
chuyển đến trình điều khiển thiết bị tương ứng trong nhân hệ điều hành. Sau đó,
gói tin sẽ bắt đầu đi qua một loạt các bước trong nhân hệ điều hành, trước khi nó
được gởi tới ứng dụng cục bộ hoặc là được chuyển tiếp đến máy tính khác hay chịu
tác động nào đó của nhân hệ điều hành.
Một mặt mạnh của iptables là ở chỗ nhiều bảng có thể được sử dụng để quyết
định “số phận” của một gói tin nào đó, phụ thuộc vào kiểu của gói tin đang được
kiểm tra và hành động sẽ được thực hiện trên gói tin đó.
Iptables sử dụng khái niệm mỗi bảng luật riêng biệt cho mỗi loại chức năng để

SVTH: LA HOÀI BÃO – 49THMA

19


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES

xử lý gói tin. Những bảng luật này được cài đặt như là những module chức năng
tách rời. Có ba module chính là bảng filter, bảng nat và một bảng xử lý gói đặc biệt
là mangle. Mỗi một trong ba bảng này đều có những module mở rộng riêng biệt
gắn kết với nó.
Mỗi một bảng có chứa các chuỗi luật mặc định thực hiện các tác vụ cần thiết
dựa trên mục đích của bảng. Tuy nhiên, người dùng cũng được phép định nghĩa
những chuỗi luật mới trong các bảng.

2.2.1 Bảng filter
Bảng filter là bảng mặc định. Những bảng khác khi muốn sử dụng cần phải

chỉ rõ khi viết lệnh. Những đặc điểm cơ bản của bảng này gồm:
 Chuỗi (chain) các phép toán liên quan, từ ba chuỗi xây dựng sẵn
(INPUT, OUTPUT, và FORWARD) và những chuỗi do ta tự tạo.
 INPUT được áp dụng cho tất cả các gói tin đến firewall. Chú ý
rằng tất cả các gói tin đến máy này đều phải thông của chuỗi input,
không cần biết đến giao tiếp mạng nào hay hướng đến của chúng.
 FORWARD được áp dụng trên tất cả các gói tin sẽ đi qua firewall
(các gói tin khơng được phát sinh trên máy firewall và có đích đến
ngồi máy firewall).
 OUTPUT được áp dụng trên tất cả các gói tin được phát sinh từ
các tiến trình cục bộ.
 Giúp đỡ
 Hướng mục tiêu (target disposition) (ACCEPT hoặc DROP)
 Kiểm tra được các trường trong header gói tin, hướng gói tin đi ra hay
vào, phân mảnh gói tin.
Luồng các gói tin đi trong netfilter như sau. Gói tin sau khi qua chức năng
định tuyến sẽ được quyết định là đi đến chain INPUT hay chain FORWARD.

SVTH: LA HOÀI BÃO – 49THMA

20


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES

Nếu gói tin được chuyển đến chain INPUT sẽ tiếp tục xử lý và chuyển tiếp đến
chain OUTPUT. Ngược lại nếu gói tin được chuyển qua chain FORWARD thì
sẽ thì gói tin sẽ chỉ được lọc ở chain này.


Hình 2.1: Luồng gói tin trong bảng filter
Bảng filter có hai loại tính năng mở rộng là đích đến (target) và hợp
(match). Tính năng hợp có thể hỗ trợ hợp những điều kiện sau:
 Trạng thái kết nối hiện tại
 Danh sách cổng (hỗ trợ hợp lệ nhiều cổng)
 Địa chỉ MAC
 Loại địa chỉ (unicast, multicast, broadcast), đoạn địa chỉ IP.
 Loại gói tin ICMP
 Độ dài của gói tin
 Thời gian gói tin đến
 Sau một lượng gói tin nào đó
 Người, nhóm gửi gói tin.

SVTH: LA HỒI BÃO – 49THMA

21


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES

2.2.2 Bảng NAT
Bảng này chỉ được sử dụng cho các thao tác chuyển đổi địa chỉ mạng – NAT
(Network Address Translation) trên những gói tin. Nói cách khác, nó chỉ được
sử dụng để chuyển đổi trường địa chỉ nguồn hay trường địa chỉ đích của gói tin,
tùy theo luật được chỉ ra. Các gói trong một dịng dữ liệu (stream) chỉ đi qua
bảng này một lần. Giả sử rằng gói đầu tiên của một dịng dữ liệu được cho phép
(chỉ có gói đầu tiên trong một dòng dữ liệu sẽ vấp phải chuỗi này). Phần gói cịn

lại trong dịng dữ liệu sẽ được tự động thay đổi địa chỉ và sẽ phải chịu cùng các
tác động như gói đầu tiên. Nói cách khác chúng sẽ không đi qua bảng này một
lần nữa, tuy nhiên vẫn sẽ được xử lý giống như gói đầu tiên trong dịng dữ liệu.
Đây cũng chính là lý do chính tại sao khơng thực hiện bất kỳ thao tác lọc nào
trong bảng này.
Những hành động thực có trong bảng này gồm:
 Hành động DNAT (Destination Network Address Translation) được sử
dụng trong trường hợp ta có một địa chỉ IP chung và muốn chuyển
hướng các truy nhập vào firewall tới một số máy khác (ví dụ trên một
DMZ). Nói cách khác, ta thay đổi địa chỉ đích của gói tin và dẫn đường
cho nó tới máy tính khác.
 Hành động SNAT (Source Network Address Translation) được sử dụng
để thay đổi địa chỉ nguồn của các gói tin. Một ví dụ của việc sử dụng
hành động này là khi ta biết địa chỉ IP ngoài, nhưng cần thay thế địa chỉ
IP của mạng cục bộ bằng địa chỉ của firewall. Với hành động này,
firewall sẽ tự động SNAT và De-SNAT các gói tin, do vậy tạo cho nó có
khả năng thực hiện kết nối từ LAN tới Internet.
 Hành động MASQUERADE được sử dụng theo đúng như cách thức
SNAT thực hiện, nhưng hành động này thực hiện tính tốn ít hơn. Lý do
là mỗi khi hành động MASQUERADE bắt gặp một gói tin, nó kiểm tra

SVTH: LA HỒI BÃO – 49THMA

22


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES


một cách tự động địa chỉ IP để dùng thay vì thực hiện các thao tác như
SNAT làm – chỉ sử dụng địa chỉ IP được cấu hình đơn (tĩnh). Hành động
MASQUERADE thực hiện tốt với các địa chỉ IP động.
Iptables hỗ trợ ánh xạ địa chỉ nguồn (SNAT) và ánh xạ địa chỉ đích (DNAT).
Bảng nat cho phép ta thay đổi địa chỉ nguồn, đích, cổng của gói tin. Bảng nat có ba
chain được xây dựng sẵn:
 Chain PREROUTING được sử dụng để chuyển đổi địa chỉ các gói tin
ngay sau khi đi vào firewall.
 Chain OUTPUT được sử dụng để thay đổi địa chỉ các gói tin được
phát sinh cục bộ (trên firewall) trước khi chúng bắt đầu qua bước
quyết định dẫn đường.
 Chain POSTROUTING được sử dụng để thay đổi địa chỉ gói tin
trước khi chúng ra khỏi firewall.

Hình 2.2: Sơ đồ duyệt gói trong iptables có đi qua NAT

SVTH: LA HOÀI BÃO – 49THMA

23


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES

2.2.3 Bảng mangle
Bảng này được sử dụng để thay đổi thông tin của gói tin. Ta có thể thay đổi
nội dung gói tin và phần header của gói tin đó. Bảng này gồm có 5 chuỗi luật
được xây dựng sẵn: PREROUTING, POSTROUTING, OUTPUT, INPUT và
FORWARD.

 PREROUTING được sử dụng để thay đổi gói tin khi chúng vừa vào
firewall và trước khi chúng qua bước quyết định dẫn đường.
 POSTROUTING được sử dụng để thay đổi thơng tin gói tin ngay sau khi
tất cả các quyết định dẫn đường đã được thực hiện.
 INPUT được sử dụng để thay đổi thơng tin gói tin sau khi chúng đã được
dẫn tới bản thân máy cục bộ, nhưng trước khi được gởi tới tiến trình ứng
dụng.
 FORWARD được sử dụng để thay đổi thơng tin gói tin sau khi chúng đã
sang bước quyết định dẫn đường đầu tiên, nhưng trước khi chúng chịu
tác động của bước quyết định dẫn đường cuối cùng.
 OUTPUT được sử dụng để thay đổi thơng tin của các gói tin được phát
sinh cục bộ trước khi chúng được chuyển sang bước quyết định dẫn
đường.
Chú ý là không sử dụng bảng này để thực hiện lọc gói tin và cũng khơng
thực hiện chuyển đổi địa chỉ NAT hay Masquerading trong bảng này.
Các hành động có thể được sử dụng trong bảng mangle gồm:
 Hành động ToS được sử dụng để thiết lập và/hoặc thay đổi trường Type
of Service trong header của gói tin. Hành động này có thể được sử dụng
để thiết lập các chính sách trên mạng về cách thức xử lý gói tin. Chú ý
rằng thực tế hành động này không được sử dụng trên Internet, và phần
lớn các router không quan tâm đến giá trị trong trường này và đơi khi

SVTH: LA HỒI BÃO – 49THMA

24


ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

LINUX FIREWALL IPTABLES


chúng thực hiện sai trên thông tin chúng nhận được.
 Hành động TTL được sử dụng để thay đổi trường TTL (Time To Live)
của gói tin.
 Hành động MARK được sử dụng để gán các giá trị mark đặc biệt cho gói
tin. Những mark này sau đó có thể được nhận diện bởi các chương trình
iproute để thực hiện dẫn đường khác nhau trên gói phụ thuộc vào mark
mà chúng có.
Đường đi của một gói tin trong netfilter/iptables như sau:

Hình 2.3: Sơ đồ duyệt gói tin trong Netfilter đầy đủ

SVTH: LA HỒI BÃO – 49THMA

25


×