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

Quản lý tưởng lửa trong linux với iptables

57 15 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 1,39 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một phần rất lớn các vụ tấn công không được thông báo vì nhiều lý do, trong đó có thể kể đến nỗi lo mất uy tín hoặc chỉ đơn giản những người quản trị dự án không hề hay biết những vụ tấn

Trang 1

-o0o -

BÁO CÁO

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

Đề tài: QUẢN LÝ TƯỜNG LỬA TRONG

LINUX VỚI IPTABLES

Sinh viên thực hiện : Nguyễn Tiến Dũng

Lớp : 51K2 -CNTT Giáo viên hướng dẫn: ThS Vũ Chí Cường

Nghệ An, tháng 12 năm 2014

Trang 2

LỜI CẢM ƠN

Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới các thầy, các cô trong trường Đại Học Vinh những người đã tận tình giảng dạy và cung cấp những kiến thức quý báu cho em trong suốt những năm học qua

Đặc biệt em xin chân thành cám ơn Thạc sỹ.Vũ Chí Cường Thầy đã dành nhiều thời gian vô cùng quý báu tận tình hướng dẫn em cũng như tạo mọi điều kiện thuận lợi

Trang 3

LỜI MỞ ĐẦU

Với nhu cầu trao đổi thông tin, bắt buộc các cơ quan, tổ chức phải hoà mình vào mạng toàn cầu Internet An toàn và bảo mật thông tin là một trong những vấn đề quan trọng hàng đầu, khi thực hiện kết nối mạng nội bộ của các cơ quan, doanh nghiệp, tổ chức với Internet Ngày nay, các biện pháp an toàn thông tin cho máy tính cá nhân cũng như các mạng nội bộ đã được nghiên cứu và triển khai Tuy nhiên, vẫn thường xuyên có các mạng bị tấn công, có các tổ chức bị đánh cắp thông tin,… gây nên những hậu quả vô cùng nghiêm trọng

Những vụ tấn công này nhằm vào tất cả các máy tính có mặt trên Internet, các máy tính của các công ty lớn như AT&T, IBM, các trường đại học và các cơ quan nhà nước, các tổ chức quân sự, nhà băng,… một số vụ tấn công với quy mô khổng lồ (có tới 100.000 máy tính bị tấn công) Hơn nữa những con số này chỉ là phần nổi của tảng băng trôi Một phần rất lớn các vụ tấn công không được thông báo vì nhiều lý do, trong đó có thể kể đến nỗi lo mất uy tín hoặc chỉ đơn giản những người quản trị dự án không hề hay biết những vụ tấn công nhằm vào hệ thống của họ

Không chỉ các vụ tấn công tăng lên nhanh chóng mà các phương pháp tấn công cũng liên tục được hoàn thiện Điều đó một phần do các nhân viên quản trị hệ thống ngày càng đề cao cảnh giác Vì vậy việc kết nối mạng nội bộ của cơ quan tổ chức mình vào mạng Internet mà không có các biện pháp đảm bảo an ninh thì cũng được xem là

tự sát

Từ nhu cầu phát triển, đòi hỏi các cơ quan, tổ chức phải hòa mình vào mạng toàn cầu, mạng Internet song vẫn phải đảm bảo an toàn thông tin trong quá trình kết nối Bởi vậy, em đã quyết định chọn đề tài: “Quản lý tưởng lửa trong Linux với IPTables” là đồ án tốt nghiệp của mình

Đồ án của em bao gồm 3 chương:

Chương I: An toàn thông tin trong mạng máy tính

- Trình bày tổng quan về vấn đề an ninh trong mạng máy tính, các nguy

cơ và vấn đề bảo mật hệ thống

Chương II: Tổng quan về firewall

- Trình bày các khái niệm firewall, chức năng của firewall, phân loại firewall và các kiến trúc firewall

- Đưa ra chính sách để xây dựng firewall, từ các chính sách đó ta xây

Trang 4

Chương III: Iptables trên CentOS

- Tìm hiểu về iptables và các tham số của dòng lệnh thường gặp

- Các tập luật cần thiết thông dụng cho iptables

Trang 5

MỤC LỤC

LỜI CẢM ƠN 0

LỜI MỞ ĐẦU 2

MỤC LỤC 3

CHƯƠNG I: AN TOÀN THÔNG TIN TRONG MẠNG MÁY TÍNH 7

1.1 An toàn và bảo mật thông tin trong mạng máy tính 7

1.2 Các chiến lược an toàn hệ thống: 8

1.2.1 Giới hạn quyền tối thiểu 8

1.2.2 Bảo vệ theo chiều sâu 8

1.2.3 Nút thắt 8

1.2.4 Điểm nối yếu nhất 8

1.2.5 Tính toàn cục 8

1.2.6 Tính đa dạng bảo vệ 9

1.3 Các mức bảo vệ trên mạng 9

1.3.1 Quyền truy nhập 9

1.3.2 Đăng ký tên/mật khẩu 9

1.3.3 Mã hóa dữ liệu 9

1.3.4 Bảo vệ vật lý 9

1.3.5 Tường lửa 9

1.3.6 Quản trị mạng 10

1.4 Các loại lỗ hổng bảo mật và phương thức tấn công mạng chủ yếu 10

1.4.1 Các loại lỗ hổng 10

1.4.2 Các hình thức tấn công mạng phổ biến 12

CHƯƠNG II TỔNG QUAN VỀ FIREWALL 15

2.1 Giới thiệu về firewall 15

2.1.1 Khái niệm firewall 15

2.1.2 Các chức năng cơ bản của firewall 15

2.1.3 Phân loại firewall 15

Trang 6

2.2.1 Quyền hạn tối thiểu(Least Privilege) 19

2.2.2 Bảo vệ theo chiều sâu (Defense in Depth) 19

2.2.3 Nút thắt (Choke Point) 19

2.2.4 Điểm xung yếu nhất (Weakest Link) 19

2.2.5 Hỏng trong an toàn (Fail-Safe Stance) 19

2.2.6 Sự tham gia toàn cầu 20

2.2.7 Tính đa dạng của việc bảo vệ 20

2.2.8 Đơn giản hoá 20

2.3 Cách thức xây dựng firewall 21

2.3.1 Xây dựng các nguyên tắc căn bản(Rule Base) 21

2.3.2 Xây dựng chính sách an toàn (Security Policy) 21

2.3.3 Xây dựng kiến trúc an toàn 22

2.3.4 Thứ tự các quy tắc trong bảng (Sequence of Rules Base) 22

2.3.5 Các quy tắc căn bản (Rules Base) 23

2.4 Lọc gói và cơ chế hoạt động 24

2.4.1 Bộ lọc gói (packet filtering): 24

2.4.2 Cổng ứng dụng (Application Gateway) 24

2.4.3 Bộ lọc Sesion thông minh (Smart Sesion Filtering) 25

2.4.4 Firewall hỗn hợp (Hybrid Firewall) 26

CHƯƠNG III : IPTABLES TRÊN CENTOS 27

3.1 Iptables là gì? 27

3.1.1 Tải và cài đặt trọn gói Iptables 28

3.1.2 Khởi động dịch vụ Iptables 28

3.1.3 Cơ chế xử lý parkage trong Iptables 28

3.1.4 Target và Jumps 32

3.1.5 Tùy chọn limit, limit-burst 35

3.1.6 Redirect cổng 35

3.1.7 Cách đổi địa chỉ IP động (dynamic NAT) 35

3.1.8 Cách đóng giả IP 37

3.1.9 Quá trình chuyển gói dữ liệu qua Netfilter 38

3.2 Các tham số dòng lệnh thường gặp của Iptables 38

Trang 7

3.2.1 Gọi trợ giúp 38

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

3.2.3 Các tùy chọn để thao tác với luật 38

3.2.4 Các tùy chọn để chỉ định thông số 39

3.2.5 Sử dụng user defined chain: 42

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

3.2.7 Thiết lập những Rule cho Fedora’s iptables 43

3.2.8 Tìm lại đoạn mã bị mất: 44

3.2.9 Những modun kernel cần thiết: 44

3.2.10 Sửa lỗi bảng iptables 44

3.3 Các tập luật thường gặp: 45

3.3.1 Cấm địa chỉ IP : 45

3.3.2 Cho phép máy chủ DNS truy cập đến firewall 47

3.3.3 Cho phép WWW và SSH truy cập vào firewall 47

3.3.4 Một số ví dụ sử dụng kỹ thuật NAT 48

3.3.5 Giả mạo ( nhiều người đến một NAT) 50

3.3.6 Chống DDOS 51

KẾT LUẬN 55

TÀI LIỆU THAM KHẢO 56

Trang 8

CHƯƠNG I:

AN TOÀN THÔNG TIN TRONG MẠNG MÁY TÍNH

1.1 An toàn và bảo mật thông tin trong mạng máy tính

Khi nhu cầu trảo đổi thông tin dữ liệu ngày càng lớn và đa dạng, các tiến bộ về điện tử - viễn thông và công nghệ thông tin không ngừng được phát triển ứng dụng để nâng cao chất lượng và lưu lượng truyền tin thì các quan niệm ý tưởng và biện pháp bảo vệ thông tin dữ liệu cũng được đổi mới Bảo vệ an toàn thông tin dữ liệu là một chủ đề rộng, có liên quan đến nhiều lĩnh vực và trong thực tế có thể có rất nhiều phương pháp được thực hiện để bảo vệ an toàn thông tin dữ liệu Các phương pháp bảo vệ an toàn thông tin dữ liệu có thể để quy tụ vào ba nhóm sau:

- Bảo vệ an toàn thông tin bằng phương pháp hành chính

- Bảo vệ an toàn thông tin bằng các biện pháp kỹ thuật (phần cứng)

- Bảo vệ an toàn thông tin bằng các biện pháp thuật toán (phần mềm)

Ba nhóm trên có thể được ứng dụng riêng rẽ hoặc phối kết hợp Môi trường khó bảo vệ an toàn thông tin nhất và cũng là môi trường đói phương dễ xâm nhập nhất đó

là môi trường mạng và truyền tin Biện pháp hiệu quả nhất và kinh tế nhất hiện nay trên mạng truyền tin và mạng máy tính là biện pháp thuật toán

An toàn thông tin bao gồm các nội dung sau:

- Tính bí mật : Tính kín đáo riêng tư của thông tin

- Tính xác thực của thông tin, bao gồm người gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình đã gửi

- Tính trách nhiệm : Đảm bào người gửi thông tin không thể thoái thác trách nhiệm về thông tin mà mình đã gửi

Để đảm bào an toàn thông tin dữ liệu trên đường truyền tin và trên mạng máy tính có hiệu quả thì điều trước tiên là phải lường trước hoặc dự đoán trước các khả năng không an toàn, khả năng xâm phạm, các sự cố rủi ro có thể xảy ra đối với thông tin dữ liệu được lưu trữ và trao đổi trên đường truyền tin cũng như trên mạng Xác định càng chính xác các nguy cơ nói trên thì càng quyết định được tốt các giải pháp để giảm thiểu các thiệt hại

Có hai loại hành vi xâm nhập thông tin dữ liệu đó là: vi phạm chủ động và vi phạm thụ động

Trang 9

- Vi phạm thụ động thì mục đích chính cuối cùng chỉ để nắm bắt được thông tin Việc làm đó có khi không biết được nội dung cụ thể nhưng có thể dò ra được người gửi, người nhận nhờ thông tin điều khiển giao thức chứa trong phần đầu các gói tin Kẻ xâm nhập có thể kiểm tra được số lượng, độ dài thông tin dữ liệu được trao đổi

Vi phạm thụ động thường khó phát hiện nhưng có thể có những biện pháp ngăn chặn hiệu quả

- Vi phạm chủ động là dạng vi phạm có thể làm thay đổi nội dung, xóa bỏ, làm trễ, sắp xếp lại thứ tự hoặc làm lặp lại gói tin tại thời điểm đó hoặc sau đó một thời gian Vi phạm chủ động có thể thêm vào một số thông tin ngoại lại dễ làm sai lệch nội dung thông tin trao đổi Vi phạm chủ động dễ phát hiện nhưng để ngăn chặn hiệu quả thì khó khăn hơn nhiều

1.2 Các chiến lƣợc an toàn hệ thống:

1.2.1 Giới hạn quyền tối thiểu

Đây là chiến lược cơ bản nhất theo nguyên tắc này bất kỳ đối tượng nào cũng chỉ có những quyền nhất định đối với tài nguyên mạng, khi thâm nhập vào mạng đối tượng đó chỉ được sử dụng một số tài nguyên nhất định

1.2.2 Bảo vệ theo chiều sâu

Nguyên tắc này nhắc nhở chúng ta : Không nên dựa vào một chế độ an toàn nào

dù cho chúng rất mạnh, mà nên tọa nhiều cơ chế an toàn để tương hỗ lẫn nhau

1.2.3 Nút thắt

Tạo ra một cửa hẹp, và chỉ cho phép thông tin đi vào hệ thống của mình bằng con đường duy nhất chính là cửa này Nên phải tổ chức một cơ cấu kiểm soát và điều khiển thông tin đi qua cửa này

1.2.4 Điểm nối yếu nhất

Chiến lược này dựa trên nguyên tắc : “ Một dây xích chi chắc tại mắt duy nhất, một bức tường lửa chỉ cứng tại điểm yếu nhất”

Kẻ phá hoại thường tìm những yếu nhất của hệ thống để tấn công, do đó ta cần phải gia cố các yếu điểm hệ thống Thông thường chúng ta chỉ quan tâm đến kẻ tấn công trên mạng hơn là kẻ tiếp cận hệ thống, do đó an toàn vật lý dược coi là điểm yếu nhất trong hệ thống của chúng ta

1.2.5 Tính toàn cục

Các hệ thống an toàn đòi hỏi phải có tính toàn cục của các hệ thống cục bộ Nếu

có một kẻ nào đó có thể bẻ gãy một cơ chế an toàn thì chúng có thể thành công bằng

Trang 10

cách tấn công hệ thống tự do của ai đó và sau đó tấn công hệ thống từ nội nộ bên trong

1.2.6 Tính đa dạng bảo vệ

Cần phải sử dụng nhiều biện pháp bảo vệ khác nhau cho hệ thống khác nhau, nếu không có kẻ tấn công vào được một hệ thống thì chúng cũng dễ dàng tấn công vào các hệ thống khác

1.3 Các mức bảo vệ trên mạng

Vì không thể có một giải pháp an toàn tuyệt đối nên người ta thường phải sử dụng đồng thời nhiều mức bảo vệ khác nhau tạo thành nhiều hàng rào chắn đối với các hoạt động xâm nhập Thông thường bao gồm các mức bảo vệ sau:

1.3.1 Quyền truy nhập

Lớp bảo vệ trong cùng là quyền truy nhập nhằm kiểm soát các tài nguyên mạng

và quyền hạn trên tài nguyên đó Dĩ nhiên kiểm soát được các cấu trúc dữ liệu càng chi tiết càng tốt Hiện tại việc kiểm soát thường ở mức tệp

1.3.2 Đăng ký tên/mật khẩu

Thực ra đây cũng là kiểm soát quyền truy nhập, nhưng không phải truy nhập ở mức thông tin mà ở mức hệ thống Đây là phương pháp phổ biến nhất vì nó đơn giản ít phí tổn và cũng rất hiệu quả Mỗi người sử dụng muốn được tham gia vào mạng để sử dụng tài nguyên đều phải có đăng ký tên và mật khẩu trước

1.3.3 Mã hóa dữ liệu

Để bảo mật thông tin trên đường truyền người ta sử dụng các phương pháp mã hóa Dữ liệu bị biến đổi từ dạng nhận thức được sang dạng không nhận thức được theo một thuật toán nào đó và sẽ được biến đổi ngược lại trạm nhận (giải mã) Đây là lớp bảo vệ thông tin rất quan trọng

1.3.4 Bảo vệ vật lý

Ngăn cản các truy nhâp vật lý vào hệ thống Thường dùng các biện pháp truyền thông như ngăn cấm tuyệt đối người không phận sự vào phòng đặt máy mạng, dùng ổ khóa trên máy tính hoặc cac máy trạm không có ổ mềm

1.3.5 Tường lửa

Ngăn chặn thâm nhập trái phép và lọc bỏ các gói tin không muốn gửi hoặc nhận

vì các lý do nào đó để bảo vệ một máy tính hoặc cả mạng nội bộ

Trang 11

Tường lửa Bảo vệ vật lý

Mã hóa dữ liệu Đăng ký và mật khẩu Quyền truy nhập

Thông tin Hình 1: Các mức bảo vệ thông tin

1.3.6 Quản trị mạng

Trong thời đại phát triển công nghệ thông tin, mạng máy tính quyết định toàn

bộ hoạt động của một cơ quan, hay một xí nghiệp Vì vậy việc đảm bảo cho hệ thống mạng máy tính hoạt động an toàn, không xảy ra sự cố là công việc cấp thiết hàng đầu

1.4 Các loại lỗ hổng bảo mật và phương thức tấn công mạng chủ yếu

DoS là hình thức tấn công sử dụng các giao thức ở tầng Internet trong bộ giao thức TCP/IP để làm hệ thống ngưng trệ dẫn đến tình trạng từ chối người sử dụng hợp pháp truy nhập hay sử dụng hệ thống

Các dịch vụ có lỗ hổng cho phép các cuộc tấn công DoS có thể được nâng cấp hoặc sửa chữa bằng các phiên bản mới hơn của các nhà cung cấp dịch vụ Hiện nay chưa có một biện pháp hữu hiệu nào để khắc phục tình trạng tấn công kiểu này vì bản

Mức

Độ Bảo

Vệ

Trang 12

thân thiết kế ở tầng Internet (IP) nói riêng và bộ giao thức TCP/IP nói chung đã ẩn chứa những nguy cơ tiềm tang của các lỗ hổng loại này

 Lỗ hổng loại B :

Cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần kiểm tra tính hợp lệ dẫn đến mất mát thông tin yêu cầu cần bảo mật Lỗ hổng này thường có trong các ứng dụng trên hệ thống Có mức độ nguy hiểm trung bình

Lỗ hổng loại B này có mức độ nguy hiểm hơn lỗ hổng loại C Cho phép người

sử dụng nội bộ có thể chiếm được quyền cao hơn hoặc truy nhập không hợp pháp.Những lỗ hổng loại này thường xuất hiện trong các dịch vụ trên hệ thống Người

sử dụng local được hiểu là người đã có quyền truy nhập vào hệ thống với một số quyền hạn nhất định

Một dạng khác của lỗ hổng loại B xảy ra với các chương trình viết bằng mã nguồn C Những chương trình viết bằng mã nguồn C thường sử dụng một vùng đệm, một vùng trong bộ nhớ sử dụng để lưu trữ dữ liệu trước khi xử lý Người lập trình thường sử dụng vùng đệm trong bộ nhớ trước khi gán một khoảng không gian bộ nhớ cho từng khối dữ liệu Ví dụ khi viết chương trình nhập trường tên người sử dụng quy định trường này dài 20 ký tự bằng khai báo:

Char first_name [20]; Khai báo này cho phép người sử dụng nhập tối đa 20 ký

tự Khi nhập dữ liệu ban đầu dữ liệu được lưu ở vùng đệm Khi người sử dụng nhập nhiều hơn 20 ký tự sẽ tràn vùng đệm Những ký tự nhập thừa sẽ nằm ngoài vùng đệm khiến ta không thể kiểm soát được Nhưng đối với những kẻ tấn công chúng có thể lợi dụng những lỗ hổng này để nhập vào những ký tự đặc biệt để thực thi một số lệnh đặc biệt trên hệ thống Thông thường những lỗ hổng này được lợi dụng bởi những người

sử dụng trên hệ thống để đạt được quyền root không hợp lệ Để hạn chế được các lỗ hổng loại B phải kiêm soát chặt chẽ cấu hình hệ thống và các chương trình

 Lỗ hổng loại A:

Cho phép người ngoài hệ thống có thể truy cập bất hợp pháp vào hệ thống Có thể làm phá huỷ toàn bộ hệ thống Loại lỗ hổng này có mức độ rất nguy hiểm đe dọa tính toàn vẹn và bảo mật của hệ thống Các lỗ hổng này thường xuất hiện ở những hệ thống quản trị yếu kém hoặc không kiểm soát được cấu hình mạng Ví dụ với các web server chạy trên hệ điều hành Novell các server này có một scripst là convert.bas chạy scripst này cho phép đọc toàn bộ nội dung các file trên hệ thống

Những lỗ hổng loại này hết sức nguy hiểm vì nó đã tồn tại sẵn có trên phần mềm sử dụng, người quản trị nếu không hiểu sâu về dịch vụ và phần mềm sử dụng có thể bỏ qua điểm yếu này Vì vậy thường xuyên phải kiểm tra các thông báo của các nhóm tin về bảo mật trên mạng để phát hiện những lỗ hổng loại này Một loạt các

Trang 13

chương trình phiên bản cũ thường sử dụng có những lỗ hổng loại A như: FTP, Gopher, Telnet, Sendmail, ARP, finger

1.4.2 Các hình thức tấn công mạng phổ biến

 Scanner

Scanner là một trương trình tự động rà soát và phát hiện những điểm yếu về bảo mật trên một trạm làm việc cục bộ hoặc một trạm ở xa Một kẻ phá hoại sử dụng chương trình Scanner có thể phát hiện ra những lỗ hổng về bảo mật trên một Server dù

ở xa

Cơ chế hoạt động là rà soát và phát hiện những cổng TCP/UDP được sủ dụng trên hệ thống cần tấn công và các dịch vụ sử dụng trên hệ thống đó Scanner ghi lại những đáp ứng trên hệ thống từ xa tương ứng với dịch vụ mà nó phát hiện ra Từ đó nó

có thể tìm ra điêm yếu của hệ thống

Những yếu tố để một Scanner hoạt động như sau:

Yêu cầu thiết bị và hệ thống: Môi trường có hỗ trợ TCP/IP

Hệ thống phải kết nối vào mạng Internet

Các chương trình Scanner có vai trò quan trọng trong một hệ thống bảo mật, vì chúng có khả năng phát hiện ra những điểm yếu kém trên một hệ thống mạng

 Password Cracker

Là một chương trình có khả năng giải mã một mật khẩu đã được mã hoá hoặc

có thể vô hiệu hoá chức năng bảo vệ mật khẩu của một hệ thống

Một số chương trình phá khoá có nguyên tắc hoạt động khác nhau Một số chương trình tạo ra danh sách các từ giới hạn, áp dụng một số thuật toán mã hoá từ kết quả so sánh với Password đã mã hoá cần bẻ khoá để tạo ra một danh sách khác theo một logic của chương trình

Khi thấy phù hợp với mật khẩu đã mã hoá, kẻ phá hoại đã có được mật khẩu dưới dạng text Mật khẩu text thông thường sẽ được ghi vào một file

Biện pháp khắc phục đối với cách thức phá hoại này là cần xây dựng một chính sách bảo vệ mật khẩu đúng đắn

Trang 14

Mục đích của các chương trình sniffer đó là thiết lập chế độ promiscuous (mode dùng chung) trên các card mạng ethernet - nơi các gói tin trao đổi trong mạng - từ đó

"bắt" được thông tin

Các thiết bị sniffer có thể bắt được toàn bộ thông tin trao đổi trên mạng là dựa vào nguyên tắc broadcast (quảng bá) các gọi tin trong mạng Ethernet

Tuy nhiên việc thiết lập một hệ thống sniffer không phải đơn giản vì cần phải xâm nhập được vào hệ thống mạng đó và cài đặt các phần mềm sniffer

Đồng thời các chương trình sniffer cũng yêu cầu người sử dụng phải hiểu sâu về kiến trúc, các giao thức mạng

Việc phát hiện hệ thống bị sniffer không phải đơn giản, vì sniffer hoạt động ở tầng rất thấp, và không ảnh hưởng tới các ứng dụng cũng như các dịch vụ hệ thống đó cung cấp

Tuy nhiên việc xây dựng các biện pháp hạn chế sniffer cũng không quá khó khăn nếu

ta tuân thủ các nguyên tắc về bảo mật như:

- Không cho người lạ truy nhập vào các thiết bị trên hệ thống

Ví dụ như các chương trình virus là loại điển hình của Trojans Những chương trình virus thường che dấu các đoạn mã trong các chương trình sử dụng hợp pháp Khi những chương trình này được kích hoạt thì những đoạn mã ẩn dấu sẽ thực thi và chúng thực hiện một số chức năng mà người sử dụng không biết như: ăn cắp mật khẩu hoặc copy file mà người sử dụng như ta thường không hay biết

Một chương trình Trojans sẽ thực hiện một trong những công việc sau:

- Thực hiện một vài chức năng hoặc giúp người lập trình lên nó phát hiện những thông tin quan trọng hoặc những thông tin cá nhân trên một hệ thống hoặc chỉ trên một vài thành phần của hệ thống đó

- Che dấu một vài chức năng hoặc là giúp người lập trình phát hiện những thông tin quan trọng hoặc những thông tin cá nhân trên một hệ thống hoặc chỉ trên một vài thành phần của hệ thống

Ngoài ra còn có các chương trình Trojan có thể thực hiện đựợc cả hai chức năng này Có chương trình Trojan còn có thể phá hủy hệ thống bằng cách phá hoại các

Trang 15

thông tin trên ổ cứng Nhưng ngày nay các Trojans kiểu này dễ dàng bị phát hiện và khó phát huy được tác dụng

Tuy nhiên có những trường hợp nghiêm trọng hơn những kẻ tấn công tạo ra những lỗ hổng bảo mật thông qua Trojans và kẻ tấn công lấy được quyền root trên hệ thống và lợi dụng quyền đó để phá hủy một phần hoặc toàn bộ hệ thống hoặc dùng quyền root để thay đổi logfile, cài đặt các chương trình trojans khác mà người quản trị không thể phát hiện được gây ra mức độ ảnh hưởng rất nghiêm trọng và người quản trị chỉ còn cách cài đặt lại toàn bộ hệ thống

Trang 16

CHƯƠNG II TỔNG QUAN VỀ FIREWALL

Để bảo vệ mạng nội bộ Firewall là một trong những giải pháp bảo vệ mạng hữu hiệu và phổ biến hiện nay Nó giúp cho các mạng nội bộ tránh khỏi những truy nhập trái phép từ bên ngoài bằng cách điều khiển thông tin ra vào giữa các mạng nội bộ Nội dung chính của chương này em sẽ đi giới thiệu tổng quan về Firewall, khái niệm, các chức năng của Firewall, phân loại Firewall, ưu nhược điểm của từng loại Firewall, các chiến lược để xây dựng Firewall và giới thiệu về cơ chế lọc gói tin

2.1 Giới thiệu về firewall

2.1.1 Khái niệm firewall

Firewall là thiết bị nhằm ngăn chặn sự truy nhập không hợp lệ từ mạng ngoài vào mạng trong Hệ thống firewall thường bao gồm cả phần cứng và phần mềm

Firewall thường được dùng theo phương thức ngăn chặn hay tạo các luật đối với các địa chỉ khác nhau

2.1.2 Các chức năng cơ bản của firewall

Chức năng chính của Firewall là kiểm soát luồng thông tin giữa mạng cần bảo

vệ (Trusted Network) và Internet thông qua các chính sách truy nhập đã được thiết lập

- Cho phép hoặc cấm các dịch vụ truy nhập từ trong ra ngoài và từ ngoài vào trong

- Kiểm soát địa chỉ truy nhập, và dịch vụ sử dụng

- Kiểm soát khả năng truy cập người sử dụng giữa 2 mạng

- Kiểm soát nội dung thông tin truyền tải giữa 2 mạng

- Ngăn ngừa khả năng tấn công từ các mạng ngoài

Xây dựng firewalls là một biện pháp khá hữu hiệu, nó cho phép bảo vệ và kiểm soát hầu hết các dịch vụ do đó được áp dụng phổ biến nhất trong các biện pháp bảo vệ mạng

2.1.3 Phân loại firewall

Firewall có nhiều loại tuy nhiên mỗi loại có ưu và nhược điểm riêng Nhưng thông thường firewall được chia làm 2 loại chính là:

- Firewall phần cứng

- Firewall phần mềm

 Firewall phần cứng

Trang 17

Là một thiết bị phần cứng được tích hợp bộ định tuyến, các quy tắc cho việc lọc gói tin được thiết lập ngay trên bộ định tuyến đó Firewall phần cứng này như một chiếc máy tính chỉ thực hiện chức năng duy nhất là lọc gói tin bằng cách chạy một phần mềm đã được cứng hóa trong đó và chỉ có thể thiết lập các tập luật còn không thể thay đổi bộ định tuyến được cứng hóa và tích hợp bên trong Tùy vào từng loại firewall phần cứng của các hãng khác nhau mà cho phép người quản trị có khả năng cập nhật những quy tắc lọc gói tin khác nhau

Khi hoạt động, tường lửa sẽ dựa trên các quy tắc được thiết lập trong bộ định tuyến mà kiểm tra thông tin header của gói tin như địa chỉ nguồn (source IP address), địa chỉ đích (destination IP address), cổng (Port) Nếu mọi thông tin trong header của gói tin là hợp lệ nó sẽ được cho qua và nếu không hợp lệ nó sẽ bị bỏ qua Chính việc không mất thời gian xử lí những gói tin có địa chỉ không hợp lệ làm cho tốc độ xử lí của firewall phần cứng rất nhanh và đây chính là ưu điểm lớn nhất của hệ thống firewall phần cứng

Một điểm đáng chú là tất cả các loại firewall phần cứng trên thế giới hiện nay đều chưa thể lọc được nội dung của gói tin mà chỉ có thể lọc được phần nội dung trong header của gói tin

Dưới đây sẽ giới thiệu mô hình sử dụng firewall phần cứng đảm bảo an ninh mạng:

Mô hình sử dụng firewall phần cứng: (Thiết bị phần cứng Firewall trong mô hình này chỉ có một chức năng duy nhất là lọc gói tin mà không thể thực hiện bất kì một công việc nào khác)

Hình 2: Mô hình sử dụng Firewall phần cứng

Trong mô hình này thông tin từ mạng Internet không thể trực tiếp đi vào vùng mạng được bảo vệ và ngược lại mà nó phải thông qua Firewall phần cứng Quá trình kiểm duyệt xảy ra nếu các thông tin trong phần header của gói tin bao gồm địa chỉ nguồn (source IP address), địa chỉ đích (destination IP address), cổng (Port) được

NETWORK

Trang 18

chấp nhận thì nó sẽ được chuyển tiếp vào mạng bên trong hay chuyển ra mạng internet bên ngoài

Hiện nay trên thế giới có một số hãng sản xuất firewall phần cứng rất nổi tiếng như CISCO, D-LINK, PLANET

 Firewall phần mềm

Loại firewall này là một chương trình ứng dụng nguyên tắc hoạt động dựa trên trên ứng dụng proxy - là một phần mềm cho phép chuyển các gói tin mà máy chủ nhận được đến những địa điểm nhất định theo yêu cầu Và các quy tắc lọc gói tin được người sử dụng tự thiết lập Người ta thường sử dụng firewall loại này khi một mạng máy tính có máy chủ và mọi thông tin đều thông qua máy chủ này rồi mới chuyển đến máy con trong mạng hoặc dùng cho máy tính cá nhân khi tham gia mạng Firewall phần mềm này rất tiện lợi ở chỗ phần mềm có thể dễ dàng thay đổi cập nhật các phiên bản mới

Cách thức hoạt động của firewall dạng này cũng rất đơn giản Phần mềm firewall được chạy thường trú trên máy chủ hay máy tính cá nhân Máy tính này có thể đảm đương nhiều nhiệm vụ ngoài công việc là Firewall Mỗi khi có các gói tin được chuyển đến hay chuyển đi nó đều được phần mềm firewall này kiểm tra phần header của gói tin bao gồm các thông tin về địa chỉ đến, địa chỉ đi, giao thức, cổng dịch vụ Firewall phần mềm mới hiện nay còn có thể kiểm tra được nội dung của gói tin Các thông tin mà firewall kiểm tra được người dùng quy định trước trong tập luật Nếu gói tin được phần mềm firewall cho qua thì tiếp theo nó sẽ được đưa đến các máy con trong mạng hoặc là các ứng dụng chạy trực tiếp trên máy đó

Dưới đây là mô hình thường sử dụng firewall phần mềm: (Máy tính dùng làm firewall có thể đảm đương nhiều nhiệm vụ khác nhau ngoài việc là một Firewall ví dụ DNS server, Mail server, Web server )

Hình 3: Mô hình sử dụng Firewall phần mềm

Trong mô hình này máy tính chạy ứng dụng firewall có vai trò trung gian Nó

sẽ nhận các gói tin từ Internet và Protected Network sau đó thực hiện quá trình kiểm tra phần header của các gói tin đó gồm thông tin như : địa chỉ đến, địa chỉ đi, giao thức, cổng dịch vụ sau đó nếu phần mềm firewall chấp nhận cho gói tin đi qua thì

NETWORK

Trang 19

gói tin sẽ tiếp tục chuyển đến đích Ngược lại nếu gói tin không được chấp nhận chuyển tiếp thì phần mềm firewall sẽ đưa ra quyết định hủy bỏ Cách hủy bỏ cũng có nhiều kiểu như hủy bỏ không cần trả lời cho máy gửi tới biết lí do (DROP), hủy bỏ nhưng vẫn trả lời cho máy gửi tới biết lí do (REJECT) Chính việc xử lí việc hủy bỏ gói tin như vậy dẫn đến tốc độ của loại firewall này bị hạn chế

Một số phần mềm firewall sử dụng nhiều và được đánh giá cao về khả năng lọc gói tin như oneAlarm Pro, SmoothWall, McAfee Personal Firewall Plus, oneAlarm Pro , Sygate Personal Firewall

 Ƣu và nhƣợc điểm của firewall

Mỗi loại tường lửa có những ưu điểm, nhược điểm và được sử dụng trong những trường hợp khác nhau Tường lửa phần cứng thường được sử dụng để đảm bảo

an ninh cho các mạng lớn vì nếu không sử dụng firewall phần cứng thì sẽ cần hệ thống firewall phần mềm tức là sẽ có một tính máy chủ Máy chủ này sẽ nhận mọi gói tin và kiểm duyệt rồi chuyển tiếp cho các máy trong mạng Mà tốc độ của firewall phần mềm hoạt động chậm hơn so với firewall phần cứng nên ảnh hưởng lớn đến tốc độ của toàn

hệ thống mạng

Mặt khác hệ thống tường lửa phần mềm thường được sử dụng để đảm bảo

an ninh cho các máy tính cá nhân hoặc một mạng nhỏ Việc sử dụng hệ thống firewall phần mềm sẽ giúp giảm chi phí vì giá cả thiết bị firewall phần cứng đắt gấp nhiều lần

so với hệ thống firewall phần mềm Hơn nữa, khi ta sử dụng hệ thống firewall phần mềm trong việc đảm bảo an ninh cho máy tính cá nhân hay mạng với quy mô nhỏ thì việc ảnh hưởng đến tốc độ chuyển các gói tin trong mạng là không đáng kể

Điểm yếu khác của firewall phần mềm đó là với mỗi firewall phần mềm được chạy trên từng hệ điều hành nhất định Ví dụ oneAlarm Pro là môt hệ thống firewall phần mềm chỉ chạy trên hệ điều hành Windows Hay với phần mềm SmoothWall thì lại chỉ có thể chạy trên hệ điều hành Linux Nhưng với firewall phần cứng thì có thể chạy một các hoàn toàn độc lập không bị phụ thuộc vào hệ điều hành như firewall phần mềm

Firewall phần mềm hiện giờ đã có thể lọc được nội dung gói tin còn firewall phần cứng chỉ có thể lọc thông tin trong phần header của gói tin còn phần nội dung chính của gói tin thì firewall phần cứng không thể kiểm soát được Bởi vậy mà Firewall phần cứng không thể giúp ngăn chặn các loại virus hệ thống nhưng firewall phần mềm thì có thể

Trang 20

2.2 Các chiến lƣợc xây dựng firewall

Khi nghiên cứu chi tiết về Firewall, chúng ta cần hiểu một số chiến lược cơ bản được dùng xây dựng Firewall

2.2.1 Quyền hạn tối thiểu(Least Privilege)

Một nguyên tắc cơ bản nhất của an toàn (không phải chỉ áp dụng cho an toàn mạng) là trao quyền tối thiểu Về cơ bản, nguyên tắc này có nghĩa là bất kỳ một đối tượng nào (người sử dụng, người quản trị, chương trình, hệ thống….) Chỉ nên có những quyên hạn nhất định mà đối tượng đó cần phải có để thực hiện các nhiện vụ của mình và chỉ như vậy Quyền hạn tối thiểu là nguyên tắc quan trọng để tránh cho người ngoài lợi dụng đột nhập và hạn chế sự phá huỷ do các đột nhập gây ra

2.2.2 Bảo vệ theo chiều sâu (Defense in Depth)

Một nguyên tắc khác của an toàn và bảo vệ theo chiều sâu Đối với mỗi hệ thống, không nên cài đặt và chỉ sử dụng một chế độ an toàn cho dù nó có thể mạnh, mà nên lắp đặt nhiều cơ chế an toàn để chúng có thể hỗ trợ lẫn nhau Vì vậy firewall được xây dựng theo cơ chế có nhiều lớp bảo vệ

2.2.3 Nút thắt (Choke Point)

Một nút thắt bắt buộc những kẻ đột nhập phải đi qua một “cửa khẩu” hẹp mà chúng ta có thể kiểm soát và điều khiển được giống như việc muốn vào rạp xem hát, ta phải đi qua cổng kiểm soát vé

Trong cơ chế an toàn mạng, Firewall nằm giữa hệ thống của ta và mạng Internet, nó chính là một nút thắt Bất kỳ ai có ý định đột nhập hệ thống từ Internet sẽ phải qua cửa khẩu này, và ta có thể theo dõi, quản lý được

2.2.4 Điểm xung yếu nhất (Weakest Link)

Khi muốn xâm nhập vào hệ thống, kẻ đột nhập tinh ranh thường tìm các điểm yếu nhất đẻ tấn công vào đó Do vậy, đối với từng hệ thống cần phải biết điểm yếu nhất để có phương án bảo vệ an toàn hệ thống Thường ta hay quan tâm đến những kẻ đột nhập trên mạng hơn là những kẻ tiếp nhận hệ thống, cho nên an toàn về mặt vật lý được coi là điểm yếu nhất trong mọi hệ thống

2.2.5 Hỏng trong an toàn (Fail-Safe Stance)

Một nguyên tắc nền tảng khác của an toàn là “hỏng trong an toàn”; Điều này có nghĩa là nếu hệ thống đang hỏng thì nó phải được hỏng theo một cách nào đó để ngăn chặn sự truy nhập bất hợp pháp tốt hơn là để cho kẻ đột nhập lọt vào phá hệ thống Đương nhiên việc hỏng trong an toàn cũng huỷ bỏ sự truy nhập hợp pháp của người sử dụng cho đến khi hệ thống được khôi phục lại

Trang 21

Dựa trên nguyên tắc này người ta đưa ra hai quy tắc cơ bản áp dụng cho các quy định và biện pháp an toàn:

Một là, Default deny Stance: Chú trọng vào những cái được phép và ngăn chặn tất cả cái gì còn lại Những gì không rõ ràng cụ thể sẽ bị ngăn cấm

Hai là, Default permit stance: Trú trọng vào những cái bị ngăn cấm và cho phép tất cả những cái còn lại, những gì không bị ngăn cấm thì đựợc phép

Hầu hết những người sử dụng và nhà quản lý quy tắc default pernmit stance cho rằng mọi thứ mặc định nghĩa là cho phép và một số dịch vụ, hành động rắc rối, không

rõ ràng sẽ bị ngăn cấm Ví dụ:

NFS không cho phép qua firewall

Truy nhập WWW bị hạn chế đối với những chuyên gia đào tạo về những vấn đề

an toàn của WWW

Người sử dụng không được cài đặt các Server không được phép Vậy vận dụng quy tắc nào thì tốt hơn? Theo quan điểm về an toàn thì nên dùng quy tắc “Default deny stance” Còn theo quan điểm của các nhà quản lý thì lại là quy tắc “Default pernmit Stance”

2.2.6 Sự tham gia toàn cầu

Để đạt hiệu quả an toàn cao, tất cả các hệ thống trên mạng phải tham gia vào giải pháp an toàn Nếu tồn tại một hệ thống có cơ chế an toàn kém, người truy nhập bất hợp pháp có thể truy nhập vào hệ thống này sau đó truy nhập các hệ thống khác từ bên trong

2.2.7 Tính đa dạng của việc bảo vệ

Do sử dụng nhiều hệ thống khác nhau, ta phải có nhiều biện pháp bảo vệ để đảm bảo chiến lược bảo vệ theo chiều sâu Bởi vì, nếu tất cả các hệ thống của ta đều như nhau và một người nào đó biết cách đột nhập vào một trong số các hệ thống thì anh ta cũng có thể đột nhập vào tất các hệ thống còn lại Sử dụng nhiều hệ thống khác nhau có thể hạn chế các các cơ hội phát sinh lỗi và an toàn hơn Song đổi lại, ta phải đối mặt với các vấn đề về giá cả và tính chất phức tạp Việc mua bán, lắp đặt nhiều hệ thống khác nhau sẽ khó hơn, tốn kém thời gian hơn các hệ thống cùng chủng loại Ngoài ra , cũng cần nhiều sự hỗ trợ và thời gian để đào tạo cán bộ vận hành, quản trị

hệ thống từ phía các nhà cung cấp

2.2.8 Đơn giản hoá

Mọi thứ đơn giản sẽ trở nên dễ hiểu Nếu ta không hiểu rõ một cái gì đó, ta

Trang 22

2.3 Cách thức xây dựng firewall

Trong quá trình xây dựng một tường lửa đòi hỏi bước tiến hành đều phải được nên kế hoạch trước và phối hợp chặt chẽ với nhau Và để giải quyết vấn đề lớn nhất là xây dựng thành công một tường lửa hoạt động theo hiệu quả thì ta phải xây dựng từng bước thật vững chắc, hạn chế tối đa những sai sót đáng tiếc có thể xảy ra trong quá trình xây dựng

2.3.1 Xây dựng các nguyên tắc căn bản(Rule Base)

Muốn xây dựng được một Firewall thành công thì nó phải thực hiện theo một số quy tắc căn bản nhất định (Rule base) Khi có một gói tin IP đi qua tường lửa thì nó sẽ phải dựa các quy tắc căn bản này để phân tích và lọc gói tin Vì thế chúng ta phải đưa

ra các quy tắc thật đơn giản, ngắn gọn và dễ hiểu nhầm tăng tốc độ sử lý gói tin trong tường lửa và sẽ tránh được tắc nghẽn, đồng thời nó còn giúp cho việc thay đổi và bảo trì hệ thống được dễ dàng hơn rất nhiều Thông thường thì ta nên dùng không quá 30 quy tắc căn bản và tối đa không đựoc quá 50 quy tắc vì nếu dùng quá nhiều sẽ làm cho việc lọc gói sẽ chậm hơn và cũng sẽ dễ gây ra lỗi vì các quy tắc có thể bị chồng chéo lên nhau

2.3.2 Xây dựng chính sách an toàn (Security Policy)

Một tường lửa phải có các chính sách an toàn (security policy) vì thực chất tường lửa chỉ là một công cụ thực thi các chính sách an toàn Việc quản lý và xây dựng chính sách an toàn một cách chặt chẽ sẽ tạo ra được sức mạnh cho tường lửa Vì vậy trước khi chúng ta xây dựng các quy tắc căn bản thì chúng ta phải hiểu được chính sách an toàn của tường lửa cần xây dựng là gì ?

Và đồng thời cũng phải xây dựng các chính sách an toàn sao cho dễ hiểu và đơn giản một cách tương đối và không nên xây dựng một cách quá phức tạp dẫn đến chồng chéo dễ gây nhầm lẫn và dễ kiểm tra, bảo trì Chúng ta có thể đưa ra một số chính sách

an toàn rất đơn giản như sau:

Những máy trong mạng nội bộ được truy nhập ra Internet không giới hạn Cho phép sự truy cập vào Web và Mail Server của mạng nội bộ từ Internet Tất cả các thông tin đi vào trong mạch nội bộ đều phải được xác thực và mã hoá

Từ những chính sách rất đơn giản như ví dụ trên đây chúng ta có thể phát triển

để thành những chính sách hoạt động một cách hiệu quả và phức tạp hơn rất nhiều ví

dụ giới hạn mạng nội bộ chỉ được sử dụng internet một cách hạn chế với một vài dịch

Trang 23

vụ cơ bản như Mail, HTTP … mà thôi, còn lại ngăn cấm hoàn toàn dịch vụ truyền tệp FTP v.v…

2.3.3 Xây dựng kiến trúc an toàn

Các bước cần làm khi xây dựng một kiến trúc an toàn:

Đầu tiên thì ta cho phép tất cả các máy trong mạng nội bộ có thể truy cập ra Internet

Sau đó ta thực hiện cài đặt các phần thồng tin không cần bảo vệ (ví dụ: Web Server và Mail Server) vào một vùng có tên kỹ thuật là vùng “phi quân sự” (Demilitarized Zone - MDZ) DMZ là một mạng tách biệt nơi mà ta sẽ đặt các hệ thống mà chúng ta không hoàn toàn tin tưởng (vì một khi từ Internet có thể truy cập vào được trong DMZ của chúng ta nên không thể tin tưởng chúng) Bởi vậy những hệ thống trong DMZ sẽ không bao giờ kết nối trực tiếp với mạng bên trong một khi chúng chưa được tin cậy Có hai loại DMZ là: DMZ được bảo vệ và DM không được bảo vệ DM được bảo vệ là một phần tách rời ra bên ngoài của tường lửa DMZ không được bảo vệ là phần mạng nằm giữa Router và tường lửa Chúng ta nên dùng loại DM được bảo vệ, vì nơi đó là nơi chúng ta thường đặt cả Web Server và Mail Server

Con đường duy nhất có thể đi vào mạng nội bộ là phải đi qua sự kiểm soát của nhà quản trị mạng (cũng có thể cho phép thực hiện mạng từ xa)

Cái mà chúng ta có thể nói đến nữa là DNS (Domain Name Server) Chúng ta

sẽ phải thực hiện chia DNS ra làm nhiều phần Chia DNS thành nhiều phần có nghĩa là chia các thao tác của DNS sẽ thuộc hai máy chủ DNS khác nhau Chúng ta làm điều này vì ta sẽ để một máy chủ DNS sẽ lo cho chúng ta việc giải quyết thông tin tên miền của công ty với mạng bên ngoài Và một máy chủ DNS ở bên trong để giải quyết vấn

đề của mạng bên trong Máy chủ DNS ngoài sẽ nằm trong DMS có được bảo vệ cùng với Web và Mail Server Máy DNS bên trong sẽ nằm ở mạng bên trong với việc này sẽ giúp cho chúng ta không cho biết thông tin về tên miền trong màng nội bộ Vì máy chủ DNS chứa thông tin về sơ đồ của mạng bên trong nên cúng ta cần phải đặt dưới sự bảo

vệ tránh lộ thông tin về bản đồ mạng

2.3.4 Thứ tự các quy tắc trong bảng (Sequence of Rules Base)

Trước khi chúng ta xây dựng các quy tắc căn bản thì điều chúng ta cần phải quan tâm đến đó chính là thứ tự của các quy tắc (hay còn gọi là cấp độ của các quy tắc) và trong đó có một quy tắc đặc biệt, nó sẽ giữ vai trò then chốt trong chính sách

Trang 24

nhưng vẫn phải đặt chúng theo một thứ tự trước/sau, việc này làm thay đổi phương thức làm việc căn bản của tường lửa Đa số các tường lửa kiểm tra các gói tin một cách tuần tự và liên tục Khi tường lửa nhận được một gói tin, nó sẽ xem xét gói tin đó có đúng với quy tắc nào trong bảng Rules base hay không bằng cách cho xét bắt đầu từ quy tắc thứ nhất, rồi quy tắc thứ hai … cho đến khi có quy tắc nào đó thoả mãn thì nó

sẽ dừng công việc kiêm trả và nó sẽ thực thi theo quy tắc đó Nếu gói tin đã được so sánh với tất cả các quy tắc trong bảng mà không có quy tắc nào thoả đáng thì gói tin

đó sẽ bị từ chối (lọc bỏ) Vấn đề then chốt là phải sớm tìm được quy tắc đầu tiên thoả mãn để khớp được với quy tắc Rules Base để cho gói tin được nhanh chóng được đi qua Và khi tìm hiểu rõ được điều này thì ta nên đặt các quy tắc đặc biệt trước tiên, rồi sau đó mới đến các quy tắc thông thường Việc này ngăn chặn việc các quy tắc thông thường cho phép gói tin đi qua nhưng trong trường hợp đắc biệt lại không cho gói tin

đi qua gây chồng chéo Chính vì vậy phải luôn chú ý và phải đặt các quy tắc đặc biệt lên trước tiên rồi tới các nguyên tắc thông thường Phải tuân thủ nguyên tắc này để tránh việc cấu hình bị sai giúp tường lửa làm việc hiệu quả, đồng thời dễ dàng trong công tác nâng cấp bảo trì và thay đổi sửa chữa

2.3.5 Các quy tắc căn bản (Rules Base)

Default properties (nguyên tắc mặc định): Phải loại trừ tất cả các trường hợp này và phải chắc chắn một điều là không có một gói tin nào có thể đi qua được, bất kể gói tin đấy là gói tin gì

Internal Outbound (đi từ mạng bên trong ra ngoài): Bước đầu tiên ta cho phép việc đi từ trong ra ngoài mà không có hạn chế nào Và tất cả các dịch vụ cơ bản như Web, Mail, FTP v.v… đều cho phép

Lockdown (): Hạn chế tất cả không cho phép một sự sâm nhập nào vào tường lửa của chúng ta Đây là quy tắc chuẩn mà quy tắc căn bản cần phải có Không có bất

kỳ sự sâm nhập nào vào tường lửa nhưng chúng ta lại cần có người quản trị tường lửa (Firewall Admins)

Admin Access (): Không ai có thể kết nối với tường lửa, bao gồm cả Admin Chúng ta cũng phải tạo ra một quy tắc để cho phép Admin truy nhập vào được tường lửa

Drop All (): Thông thường thì ta sẽ loại bỏ tất cả các gói tin mà không phù hợp với quy tắc nào Nhưng ta nên đưa gói tin này vào một bản ghi và ta sẽ thêm vào đó cuối danh sách các quy tắc Đây là một quy tắc chuẩn mà ta nên có

No Logging (): Thông thường sẽ có rất nhiều gói tin được giử đến tất cả các địa chỉ (vd: như tin quảng cáo) trên mạng Khi đến tường lửa thì nó sẽ bị loại bỏ và sau đó

Trang 25

được ghi vào bản ghi, nhưng việc này sẽ làm cho bản ghi nhanh chóng bị đầy Chính

vì vậy ta phải tạo một quy tắc sao cho khi ta bỏ gói tin ấy đi mà lại không ghi lại vào bản ghi Đây cũng là một nguyên tắc căn bản mà đôi khi ta cũng phải dùng đến

DNS Access (): Mô hình và các thành phần của tường lửa

2.4 Lọc gói và cơ chế hoạt động

Khi nói đến việc chuyển thông tin dữ liệu giữa các mạng với nhau thông tin qua tường lửa thì điều đó có nghĩa rằng bức tường lửa hoạt động kết hợp chặt chẽ với giao thức TCP/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 Tức là:

Dữ liệu nhận được từ các dịch vụ chạy trên các giao thức phổ cập trên mạng (ví

dụ như: telnet, SMTP, DNS, SMNP,… ) được phân thành các gói giữ liệu (data packet)

Các gói tin này được gán những địa chỉ và thông tin để có thể nhận và tái hợp lại thành dữ liệu ban đầu Chính vì vậy các loại tường lửa cũng liên quan rất nhiều đến các gói tin và các địa chỉ của chúng sau đây chúng ta sẽ cùng tìm hiểu lọc gói là gì và

cơ chế của nó như thế nào

2.4.1 Bộ lọc gói (packet filtering):

Bộ lọc gói có những chức năng thực hiện việc kiểm tra số nhận dạng địa chỉ của gói tin để kiểm tra có thể cho phép chúng đi qua tường lửa hay không Các thông tin

có thể lọc được một gói tin bao gồm :

Địa chỉ nơi xuất phát hay còn gọi là địa chỉ nguồn (source IP Address)

Địa chỉ nơi nhận hay còn gọi là địa chỉ đích (destination IP Address)

Số cổng của nơi xuất phát (source port)

Số cổng của nơi nhận (destination)

Nhờ vậy mà tường lửa có thể chặn được các kết nối từ mạng ngoài vào những máy chủ nội bộ hoặc vào trong mạng nội bộ Từ những địa chỉ không cho phép

Hơn nữa việc kiểm soát các cổng làm cho tường lửa có khả năng chỉ cho phép một số loại kết nối nhất định vào máy chủ đã được định sẵn mà phục vụ cho một số dịch vụ nào đó (Telnet, SMTP,mail………) được phép sử dụng trên mạng nội bộ

2.4.2 Cổng ứng dụng (Application Gateway)

Application Gateway được thiết kế để tăng cường chức năng kiểm soát các loại dich vụ vào giao thức được cho phép truy cập vào hệ thống mạng Cơ chế hoạt động

Trang 26

Proxy Service hoạt động theo cơ chế: Một ứng dụng nào đó được quy chiếu đến (hay đại diện bởi) một proxy Service chạy trên các hệ thống máy chủ thì được quy chiếu đến ApplicationGateway của firewall Cơ chế lọc của packet filtering phối hợp kiểm soát với cơ chế “đại diện của ”Application gateway cung cấp một khả năng an toàn hơn cho firewall trong việc giao tiếp thông tin với mạng ngoài

Ví dụ một hệ thống mạng có chức năng lọc gói tin, nó sẽ ngăn các kết nối bằng Telnet vào hệ thống chỉ trừ một cổng duy nhất -Telnet Application Gateway- là được phép Một người sử dụng dịch vụ Telnet muốn kết nối vào hệ thống phải thực hiện các bước sau:

Thực hiện dịch vụ Telnet đến Telnet Application Gateway rồi cho biết tên của máy chủ bên trong cần truy cập

Gateway kiểm tra địa chỉ IP nơi xuất phát của người truy cập rồi cho phép hoặc

từ chối tuỳ theo chế độ an ninh của hệ thống

Người truy cập phải vượt qua được hệ thống kiểm tra xác định

Proxy service liên kết lưu thông giữa người truy cập với máy chủ

Cơ chế hoạt động này có ý nghĩa quan trọng trong việc thiết kế an ninh hệ thống Nó có thể cung cấp nhiều khả năng, ví dụ như:

Che dấu các thông tin: người dùng chỉ có thể nhìn thấy trực tiếp các Gateway được phép

Tăng cường kiểm tra truy cập bằng các dịch vụ xác thực (Authentication) Giảm đáng kể giá thành cho việc phát triển các hệ quản trị xác thực vì hệ thống này được thiết kế chỉ quy chiếu đến Application Gateway

Giảm thiếu các quy tắc kiểm soát của bộ lọc (Packet Filtering) Điều này làm tăng một cách đáng kể tốc độ hoạt động của Firewall

2.4.3 Bộ lọc Sesion thông minh (Smart Sesion Filtering)

Cơ chế hoạt động phối hợp giữa bộ lọc packet và cổng ứng dụng như đề cập ở trên cung cấp một chế độ an ninh cao tuy nhiên nó cũng tồn tại một vài hạn chế Vấn

đề chính hiện nay là làm sao để cung cấp đủ Proxy Service cho rất nhiều ứng dụng khác nhau đang phát triển ồ ạt Điều này có nghĩa là nguy cơ, áp lực đối với việc firewall bị đánh lừa gia tăng lên rất lớn nếu các Proxy không kịp đáp ứng

Trong khi giám sát các packet ở những mức phía trên, nếu như lớp Network đòi hỏi nhiều công sức đối với việc lọc các packet đơn giản, thì việc giám sát các giao dịch lưu thông ở mức mạng (Sesion) đòi hỏi ít công việc hơn Cách này cũng loại bỏ được các dịch vụ đặc thù cho từng loại ứng dụng khác nhau

Trang 27

Cơ chế hoạt động của bộ lọc sesion thông minh chính là việc kết hợp khả năng ghi nhận thông tin về các Sesion và sử dụng nó để tạo các quy tắc cho bộ lọc

Biết rằng, một Sesion ở mức network được tạo bởi hai packet lưu thông hai chiều:

Một để kiểm soát các packet lưu thông từ host phát sinh ra nó đến máy chủ cần tới

Một để kiểm soát packet trở về từ máy chủ phát sinh

Một bộ lọc thông minh sẽ nhận biết được rằng packet trở về theo chiều ngược lại nên quy tắc thứ hai là không cần thiết Do vậy, cách tiếp nhận các packet không mong muốn sinh ra từ bên ngoài firewall sẽ khác biệt rất rõ với cách tiếp nhận cho các packet do những kết nối được phép (ra bên ngoài) Và như vậy dễ dàng nhận dạng được các packet “bất hợp pháp”

2.4.4 Firewall hỗn hợp (Hybrid Firewall)

Trong thực tế xây dựng, các firewall được sử dụng là kết hợp của nhiều kỹ thuật để tạo ra hiệu quả an ninh tối đa Ví dụ việc để lọt lưới tại các kiểm soát của bộ lọc packet có thể được thực hiện tại bộ lọc sesion thông minh ở mực ứng dụng Các giám sát của bộ lọc lót chặt chẽ bởi các dịch vụ Proxy của Application Gateway

Trang 28

CHƯƠNG III : IPTABLES TRÊN LINUX

3.1 Iptables là gì?

Iptables do Netfiter Organiztion viết ra để tăng tính năng bảo mật trên Linux

Iptables cung cấp các tính năng sau:

- Tích hợp tốt với kenel(nhân) của Linux

- Có khả năng phân tích parkage hiệu quả

- Lọc parkage dựa vào Mac và một số cờ hiệu trong TCP Header

- Cung cấp các chi tiết tùy chọn để ghi nhận sự kiện hệ thống

- Cung cấp kỹ thuật NAT

- Có khả năng ngăn chặn một số cơ chế tấn công kiểu DoS Iptables là một chương trình chạy ở không gian người dùng, cho phép người

quản trị hệ thống có thể cấu hình các bảng của tường lửa trong nhân Linux ( được cài

đặt trong các modun Netfilter khác nhau ) và lưu trữ các chuỗi, luật Các modun nhân

và các chương trình khác nhau được áp dụng cho từng giao thức; iptables cho IPV4,

iptables cho IPV6, arptables cho ARP, và ebtables cho Ethernet frames

Iptables yêu cầu quyền cao nhất trong hệ thống để hoạt động và phải được

người dùng root thực thi, nếu không một số chức năng chương trình sẽ không hoạt

động Trong hầu hết các hệ thống Linux, iptables được cài đặt tại /usr/sbin/iptables và

hướng dẫn sử dụng trong trang chỉ dẫn của chương trình Người dùng có thể mở trang

chỉ dẫn bằng lệnh man iptables sau khi cài đặt

Trước iptables các gói chương trình dùng để quản lý tường lửa trên Linux là

ipchains trên Linux 2.2, ipfwadm trên linux 2.0, dựa trên chương trình ipfw trên BSD

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 và Iptables ở

ngoài nhân Iptables chịu giao tiếp giữa người dùng và Netfilter để đẩy các tập luật của

người dùng vào cho Netfilter 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 độ hệ thống

Ngày đăng: 25/08/2021, 15:33

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w