Nghiên cứu firewall và ứng dụng
Trang 1CHƯƠNG I: TỔNG QUAN VỀ MẠNG MÁY TÍNH 6
1.1 MẠNG MÁY TÍNH 6
1.1.1 Lịch sử phát triển mạng máy tính 6
1.1.2 Nhu cầu và mục đích của việc kết nối các máy tính thành mạng 7
1.1.3 Đặc trưng kỹ thuật của mạng máy tính 8
1.1.4 Phân loại mạng máy tính: 10
1.1.5 Một số mạng máy tính thông dụng nhất 16
1.2 MÔ HÌNH MẠNG 19
1.2.1 Mô hình OSI và TCP/IP 19
1.2.2 Các tầng của mô hình TCP/IP 20
1.2.3 Các giao thức, dịch vụ trong mạng TCP/IP 21
1.2.4 Các dịch vụ tầng ứng dụng 26
1.3 BẢO MẬT MẠNG 27
1.3.1 Định nghĩa bảo mật mạng: 27
1.3.2 Các kiểu tấn công mạng: 30
1.3.3 Các mức độ bảo mật: 31
CHƯƠNG 2: TƯỜNG LỬA-FIREWALL 34
2.1 CÁC KHÁI NIỆM CƠ BẢN VỀ FIREWALL 34
2.1.1 LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA CÔNG NGHỆ FIREWALL 34
2.1.2 ĐỊNH NGHĨA FIREWALL 35
2.1.3 PHÂN LOẠI FIREWALL 36
2.1.4 CHỨC NĂNG CỦA FIREWALL 36
2.2 CÁC KIẾN TRÚC FIREWALL CƠ BẢN .42
2.2.1 FIREWALL BỘ LỌC GÓI TIN (PACKET FILTERING FIREWALL) 42
Trang 22.2.2 FIREWALL DỊCH VỤ ỦY THÁC (PROXY SERVER) 43
2.2.3 KĨ THUẬT KIỂM TRA TRẠNG THÁI (Stateful packet filtering) 45
2.2.4 FIREWALL PHÁO ĐÀI PHÒNG NGỰ (BASTION HOST) 46
2.3 NGUYÊN TẮC HOẠT ĐỘNG CỦA CÁC LOẠI FIREWALL 47
2.3.1 HOẠT ĐỘNG CỦA FIREWALL “MỀM” 47
2.3.2 HOẠT ĐỘNG CỦA FIREWALL “CỨNG” 49
2.3.3 Cấu hình NAT 56
2.3.4 Cơ chế điều khiển và giám sát các kết nối qua firewall 59
2.3.5 Một số kĩ thuật khác được sử dụng trong firewall .61
2.3.6 Sự kết hợp các biện pháp kỹ thuật 62
2.4 CÁC PHƯƠNG PHÁP TRIỂN KHAI FIREWALL 62
2.4.1 CHỨC NĂNG PHÂN VÙNG CỦA FIREWALL TRONG THIẾT KẾ AN NINH MẠNG 62
2.4.2 KIẾN TRÚC FIREWALL CƠ BẢN 64
2.4.3 MÔ HÌNH FIREWALL PHỨC TẠP 67
CHƯƠNG 3: FIREWALL THÔNG DỤNG 71
3.1 MICROSOFT INTERNET SECURITY AND ACCELERATION SEVER (ISA SERVER) 71
3.1.1 GIỚI THIỆU VỀ ISA SERVER 71
3.1.2 Các luật của ISA Server 74
3.2.3 Xác thực ở ISA Server 77
3.1.4 Các dịch vụ của ISA Server 80
3.1.5 MỘT SỐ MÔ HÌNH ISA FIREWALL THƯỜNG GẶP 86
3.2 ASA 88
Trang 33.2.2 CÁC SẢN PHẨM TƯỜNG LỬA CỦA CISCO: 89
3.2.3 ĐIỀU KHIỂN TRUY CẬP MẠNG (NAC) 89
3.2.4 GIAO THỨC AAA VÀ DỊCH VỤ HỖ TRỢ CỦA CISCO ASA 93
3.2.5 KIỂM TRA ỨNG DỤNG 100
3.2.6 KHẢ NĂNG CHỊU LỖI VÀ DỰ PHÒNG (FAILOVER AND REDUNDANCY) 101
3.2.7 CHẤT LƯỢNG DỊCH VỤ (QOS) 102
3.2.8 PHÁT HIỆN XÂM NHẬP (IDS) 104
Tổng kết: ĐÁNH GIÁ FIREWALL 106
1 Firewall có thể làm được gì? 106
2 Firewall không thể làm được những gì? 107
Trang 4MỤC LỤC HÌNH Chương 1
Trang 5MỤC LỤC BẢNG
Trang 6CHƯƠNG I: TỔNG QUAN VỀ MẠNG MÁY TÍNH
Hình 1.1: Mạng máy tính với bộ tiền xử lý.
Trang 7Việc tăng nhanh các máy tính mini, các máy tính cá nhân làm tăng nhu cầu truyền
số liệu giữa các máy tính, các Terminal và giữa các Terminal với các máy tính là một trong những động lực thúc đẩy sự ra đời và phát triển ngày càng mạnh mẽ các mạng máy tính Quá trình hình thành mạng máy tính có thể tóm tắt qua một số thời điểm chính sau:Những năm 60: Để tận dụng công suất của máy tính, người ta ghép nối các Terminal vào một máy tính được gọi là máy tính trung tâm (main frame) Máy tính trung tâm làm tất cả mọi việc từ quản lý các thủ tục truyền dữ liệu, quản lý quá trình đồng bộ của các trạm cuối, cho đến việc xử lý các ngắt từ các trạm cuối
Những năm 70: Các máy tính đã được nối với nhau trực tiếp thành một mạng máy tính nhằm phân tán tải của hệ thống và tăng độ tin cậy và người ta đã bắt đầu xây dựng mạng truyền thông trong đó các thành phần chính của nó là các nút mạng (node) gọi là bộ chuyển mạch, dùng để hướng thông tin tới đích
Từ thập kỷ 80 trở đi: Việc kết nối mạng máy tính đã bắt đầu được thực hiện rộng rãi nhờ tỷ lệ giữa giá thành máy tính và chi phí truyền tin đã giảm đi rõ rệt do sự bùng nổ của các thế hệ máy tính cá nhân
1.1.2 Nhu cầu và mục đích của việc kết nối các máy tính thành mạng
Việc nối máy tính thành mạng từ lâu đã trở thành một nhu cầu khách quan bởi vì:– Có rất nhiều công việc về bản chất là phân tán hoặc về thông tin, hoặc về xử lý hoặc cả hai đòi hỏi có sự kết hợp truyền thông với xử lý hoặc sử dụng phương tiện từ xa.– Chia sẻ các tài nguyên trên mạng cho nhiều người sử dụng tại một thời điểm (ổ cứng, máy in, ổ CD ROM )
– Nhu cầu liên lạc, trao đổi thông tin nhờ phương tiện máy tính
– Các ứng dụng phần mềm đòi hòi tại một thời điểm cần có nhiều người sử dụng, truy cập vào cùng một cơ sở dữ liệu
Chính vì vậy, việc kết nối các máy tính thành mạng nhằm mục đích:
Chia sẻ tài nguyên:
-Chia sẻ dữ liệu: Về nguyên tắc, bất kỳ người sử dụng nào trên mạng đều có quyền truy nhập, khai thác và sử dụng những tài nguyên chung của mạng (thường là server)
-Chia sẻ phần cứng: Tài nguyên chung của mạng cũng bao gồm các máy móc, thiết bị như: Máy in (Printer), máy quét (Scanner), ổ đĩa mềm (Floppy), ổ đĩa CD (CD Rom) được nối vào mạng Thông qua mạng máy tính, người sử dụng có thể sử dụng những tài nguyên phần cứng này ngay cả khi máy tính của họ không có những phần cứng đó
Trang 8 Duy trì và bảo vệ dữ liệu: Một mạng máy tính có thể cho phép các dữ liệu được tự động lưu trữ dự phòng tới một trung tâm nào đó trong mạng Công việc này là hết sức khó khăn và tốn nhiều thời gian nếu phải làm trên từng máy độc lập Hơn nữa, mạng máy tính còn cung cấp một môi trường bảo mật an toàn cho mạng qua việc cung cấp cơ chế bảo mật (security) bằng mật khẩu (password) đối với từng người sử dụng, hạn chế được việc sao chép, mất mát thông tin ngoài ý muốn.
Nâng cao độ tin cậy của hệ thống nhờ khả năng thay thế cho nhau khi xảy ra sự cố
kỹ thuật đối với một máy tính nào đó trong mạng
Khai thác có hiệu quả các cơ sở dữ liệu tập trung và phân tán, nâng cao khả năng tích hợp và trao đổi các loại dữ liệu giữa các máy tính trên mạng
1.1.3 Đặc trưng kỹ thuật của mạng máy tính
1.1.3.1 Đường truyền
Là thành tố quan trọng của một mạng máy tính, là phương tiện dùng để truyền các tín hiệu điện tử giữa các máy tính Các tín hiệu điệu tử đó chính là các thông tin, dữ liệu được biểu thị dưới dạng các xung nhị phân (On – Off), mọi tín hiệu truyền giữa các máy tính với nhau đều thuộc sóng điện từ
- Các tần số radio có thể truyền bằng cáp điện (dây xoắn đôi hoặc đồng trục) hoặc bằng phương tiện quảng bá (radio broadcasting)
- Sóng cực ngắn (viba) thường được dùng để truyền giữa các trạm mặt đất và các vệ tinh Chúng cũng được dùng để truyền các tín hiệu quảng bá từ một trạm phát đến nhiều trạm thu Mạng điện thoại “tổ ong” (cellular phone network) là một ví dụ cho cách dùng này
- Tia hồng ngoại là lý tưởng đối với nhiều loại truyền thông mạng Tia hồng ngoại
và các tần số cao hơn của ánh sáng có thể được truyền qua cáp sợi quang
Các đặc trưng cơ bản của đường truyền là giải thông (bandwidth), độ suy hao và độ nhiễu điện từ
- Dải thông của một đường truyền chính là độ đo phạm vi tần số mà nó có thể đáp ứng được, nó biểu thị khả năng truyền tải tín hiệu của đường truyền Tốc độ truyền dữ liệu trên đường truyền được gọi là thông lượng (throughput) của đường truyền, thường được tính bằng số lượng bit được truyền đi trong một giây (bps) Giải thông của cáp truyền phụ thuộc vào độ dài cáp (nói chung cáp ngắn có thể có giải thông lớn hơn so với cáp dài) Bởi vậy, khi thiết kế cáp cho mạng cần thiết phải chỉ rõ độ dài chạy cáp tối đa vì ngoài giới hạn đó chất lượng truyền tín hiệu không còn được đảm bảo
Trang 9- Độ suy hao của một đường truyền là độ đo sự yếu đi của tín hiệu trên đường truyền
đó, nó cũng phụ thuộc vào độ dài cáp Còn độ nhiễu điện từ EMI (Electromangetic Interference) gây ra bởi tiếng ồn từ bên ngoài làm ảnh hưởng đến tín hiệu trên đường truyền
Thông thuờng người ta hay phân loại đường truyền theo hai loại:
•Đường truyền hữu tuyến: các máy tính được nối với nhau bằng các dây cáp mạng Đường truyền hữu tuyến gồm có:
- Cáp đồng trục (Coaxial cable)
- Cáp xoắn đôi (Twisted pair cable) gồm 2 loại có bọc kim (stp – shielded twisted pair) và không bọc kim (utp – unshielded twisted pair)
- Cáp sợi quang (Fiber optic cable)
•Đường truyền vô tuyến: các máy tính truyền tín hiệu với nhau thông qua các sóng
vô tuyến với các thiết bị điều chế/giải điều chế ở các đầu mút Đường truyền vô tuyến gồm có:
- Theo kiểu điểm – đa điểm: Tất cả các nút phân chia chung một đường truyền vật
lý Dữ liệu gửi đi từ một nút nào đó sẽ có thể được tiếp nhận bởi tất cả các nút còn lại Bởi
Trang 10vậy cần chỉ ra địa chỉ đích của dữ liệu để mỗi nút căn cứ vào đó kiểm tra xem dữ liệu có phải gửi cho mình hay không Mạng trục tuyến tính (bus), mạng hình vòng (ring), mạng
vệ tinh (satellite) hay radio là những mạng có cấu trúc điểm – đa điểm phổ biến
1.1.3.2.2 Giao thức mạng
Việc trao đổi thông tin dù là đơn giản nhất, cũng phải tuân theo những quy tắc nhất định Đơn giản như khi hai người nói chuyện với nhau muốn cho cuộc nói chuyện có kết quả thì ít nhất cả hai cũng phải ngầm hiểu và tuân thủ quy ước: khi một người nói thì người kia phải nghe và ngược lại Việc truyền thông trên mạng cũng vậy, cần có các quy tắc, quy ước truyền thông về nhiều mặt: khuôn dạng cú pháp của dữ liệu, các thủ tục gửi, nhận dữ liệu, kiểm soát hiệu quả và chất lượng truyền tin Tập hợp những quy tắc quy ước truyền thông đó được gọi là giao thức của mạng (network protocol)
Có rất nhiều giao thức mạng, các mạng có thể sử dụng các giao thức khác nhau tùy
sự lựa chọn của người thiết kế Tuy vậy, các giao thức thường gặp nhất là: TCP/IP, NETBIOS, IPX/SPX,
1.1.3.3 Hệ điều hành mạng
Hệ điều hành mạng là một phần mềm hệ thống có các chức năng sau:
- Quản lý tài nguyên của hệ thống, các tài nguyên này gồm:
Tài nguyên thông tin (về phương diện lưu trữ) hay nói một cách đơn giản là quản lý tệp Các công việc về lưu trữ, tìm kiếm, xoá, copy, nhóm, đặt các thuộc tính cho tệp đều thuộc nhóm công việc này
Tài nguyên thiết bị Điều phối việc sử dụng CPU, các ngoại vi để tối ưu hoá việc
1.1.4 Phân loại mạng máy tính:
Có nhiều cách phân loại mạng khác nhau tùy thuộc vào yếu tố chính được chọn làm chỉ tiêu phân loại như:
- Khoảng cách địa lý của mạng
- Kỹ thuật chuyển mạch áp dụng trong mạng
Trang 11- Hình trạng mạng.
- Giao thức mạng sử dụng
- Hệ điều hành mạng sử dụng
1.1.4.1 Phân loại mạng theo khoảng cách địa lý:
Mạng máy tính có thể phân bổ trên một vùng lãnh thổ nhất định và cũng có thể phân bổ trong phạm vi một quốc gia hay rộng hơn nữa là toàn thế giới Dựa vào phạm vi phân bổ của mạng, người ta có thể phân ra các loại mạng như sau:
1.1.4.1.1 Mạng toàn cầu (GAN – Global Area Network)
Là mạng kết nối các máy tính từ các châu lục khác nhau Thông thường kết nối này được thực hiện thông qua mạng viễn thông và vệ tinh
1.1.4.1.2 Mạng diện rộng (WAN – Wide Area Network)
Là mạng kết nối các máy tính trong nội bộ các quốc gia hay giữa các quốc gia trong cùng một châu lục Thông thường các kết nối này được thực hiện thông qua mạng viễn thông Các WAN có thể kết nối với nhau tạo thành GAN hay tự nó cũng có thể xem là một GAN
1.1.4.1.3 Mạng đô thị (MAN – Metropolitan Area Network)
Là mạng kết nối các máy tính trong phạm vi một đô thị, một trung tâm văn hoá xã hội, có bán kính tối đa vào khoảng 100 km Kết nối này được thực hiện thông qua môi trường truyền thông tốc độ cao (50–100 Mbps)
1.1.4.1.4 Mạng cục bộ (LAN – Local Area Network)
Là mạng kết nối các máy tính trong một khu vực bán kính hẹp, thông thường khoảng vài trăm mét đến vài kilômét Kết nối được thực hiện thông qua môi trường truyền thông tốc độ cao Ví dụ như cáp đồng trục, cáp xoắn đôi hay cáp quang LAN thường được sử dụng trong nội bộ một cơ quan, tổ chức, trong một tòa nhà Nhiều LAN
có thể được kết nối với nhau thành WAN
1.1.4.2 Phân loại theo kỹ thuật chuyển mạch áp dụng trong mạng
Nếu lấy kỹ thuật chuyển mạch làm yếu tố chính để phân loại ta sẽ có:
- Mạng chuyển mạch kênh
- Mạng chuyển mạch thông báo
- Mạng chuyển mạch gói
Trang 121.1.4.3 Phân loại theo hình trạng mạng
Khi phân loại theo hình trạng mạng, người ta thường phân loại thành: Mạng hình sao, hình vòng, trục tuyến tính, hình cây, Dưới đây là một số hình trạng mạng cơ bản:
1.1.4.3.1 Mạng hình sao
Mạng hình sao có tất cả các trạm được kết nối với một thiết bị trung tâm có nhiệm
vụ nhận tín hiệu từ các trạm và chuyển đến trạm đích Tuỳ theo yêu cầu truyền thông trên mạng mà thiết bị trung tâm có thể là bộ chuyển mạch (switch), bộ chọn đường (router) hoặc là bộ phân kênh (hub) Vai trò của thiết bị trung tâm này là thực hiện việc thiết lập các liên kết điểm–điểm (point–to–point) giữa các trạm
Hình 1.2: Mạng hình sao (Star)
- Ưu điểm của topo mạng hình sao
Thiết lập mạng đơn giản, dễ dàng cấu hình lại mạng (thêm, bớt các trạm), dễ dàng kiểm soát và khắc phục sự cố, tận dụng được tối đa tốc độ truyền của đường truyền vật lý
- Nhược điểm của topo mạng hình sao
Độ dài đường truyền nối một trạm với thiết bị trung tâm bị hạn chế (trong vòng 100m, với công nghệ hiện nay)
Trang 131.1.4.3.2 Mạng hình vòng
Trên mạng hình vòng tín hiệu được truyền đi trên vòng theo một chiều duy nhất Mỗi trạm của mạng được nối với vòng qua một bộ chuyển tiếp (repeater) có nhiệm vụ nhận tín hiệu rồi chuyển tiếp đến trạm kế tiếp trên vòng Như vậy tín hiệu được lưu chuyển trên vòng theo một chuỗi liên tiếp các liên kết điểm – điểm giữa
Các repeater do đó cần có giao thức điều khiển việc cấp phát quyền được truyền dữ liệu trên vòng mạng cho trạm có nhu cầu
Để tăng độ tin cậy của mạng ta có thể lắp đặt thêm các vòng dự phòng, nếu vòng chính có sự cố thì vòng phụ sẽ được sử dụng
Mạng hình vòng có ưu nhược điểm tương tự mạng hình sao, tuy nhiên mạng hình vòng đòi hỏi giao thức truy nhập mạng phức tạp hơn mạng hình sao
Hình 1.3: Mạng hình vòng (Ring)
1.1.4.3.3 Mạng trục tuyến tính (Bus)
Trong mạng trục tất cả các trạm phân chia một đường truyền chung (bus) Đường truyền chính được giới hạn hai đầu bằng hai đầu nối đặc biệt gọi là terminator.Mỗi trạm được nối với trục chính qua một đầu nối chữ T (T–connector) hoặc một thiết bị thu phát (transceiver)
Trang 14Hình 1.4: Mạng trục tuyến tính (Bus)
Khi một trạm truyền dữ liệu tín hiệu được quảng bá trên cả hai chiều của bus, tức là mọi trạm còn lại đều có thể thu được tín hiệu đó trực tiếp Đối với các bus một chiều thì tín hiệu chỉ đi về một phía, lúc đó các terminator phải được thiết kế sao cho các tín hiệu
đó phải được dội lại trên bus để cho các trạm trên mạng đều có thể thu nhận được tín hiệu
đó Như vậy với topo mạng trục dữ liệu được truyền theo các liên kết điểm–đa điểm (point–to–multipoint) hay quảng bá (broadcast)
Ưu điểm: Dễ thiết kế, chi phí thấp.
Nhược điểm: Tính ổn định kém, chỉ một nút mạng hỏng là toàn bộ mạng bị ngừng
hoạt động
1.1.4.3.4 Mạng kết nối hỗn hợp
Ngoài các hình trạng mạng cơ bản chuẩn, còn có thể kết hợp hai hay nhiều hình trạng mạng cơ bản lại với nhau tạo ra các hình trạng mở rộng nhằm tận dụng những ưu điểm, khắc phục những nhược điểm của từng loại mạng riêng khi chúng chưa được kết hợp với nhau:
Trang 15Hình 1.5: Mạng kết nối hỗn hợp
1.1.4.4 Phân loại theo giao thức và theo hệ điều hành mạng sử dụng
Khi phân loại theo giao thức mà mạng sử dụng người ta phân loại thành: Mạng TCP/IP, mạng NETBIOS …
Tuy nhiên cách phân loại trên không phổ biến và chỉ áp dụng cho các mạng cục bộ Nếu phân loại theo hệ điều hành mạng người ta chia ra theo mô hình mạng ngang hàng, mạng khách/chủ hoặc phân loại theo tên hệ điều hành mà mạng sử dụng: Windows NT, Unix, Novell …
1.1.4.4.1 Mạng khách/chủ (Client – Server)
Trong mạng có những máy chuyên dụng phục vụ cho những mục đích khác nhau, máy phục vụ này hoạt động như một người phục vụ và không kiêm vai trò của trạm làm việc hay máy khách
Các máy phục vụ chuyên dụng được tối ưu hóa để phục vụ nhanh những yêu cầu của các máy khách
Trang 16Các loại thường dùng: máy phục vụ tập tin/in ấn (file/print server), máy phục vụ chương trình ứng dụng (application server), máy phục vụ thư tín (mail server), máy phục
vụ fax (fax server), máy phục vụ truyền thông (communication server)
Một trong những ưu điểm quan trọng của mạng dựa trên máy phục vụ đó là: có tính
an toàn và bảo mật cao Hầu hết các mạng trong thực tế (nhất là những mạng lớn) đều dựa trên mô hình khách/chủ này
1.1.4.4.2 Mạng ngang hàng (Peer to Peer)
Trong mạng ngang hàng không tồn tại một cấu trúc phân cấp nào, mọi máy trạm đều bình đẳng Thông thường, mỗi máy tính kiêm luôn cả hai vai trò máy khách và máy phục
vụ, vì vậy không máy nào được chỉ định chịu trách nhiệm quản lý mạng Người dùng ở từng máy tự quyết định phần dữ liệu nào trên máy của họ sẽ được dùng chung trên mạng
Mô hình mạng ngang hàng thích hợp cho các mạng có quy mô nhỏ (như nhóm làm việc)
và không yêu cầu phải có tính bảo mật cao
1.1.5 Một số mạng máy tính thông dụng nhất
1.1.5.1 Mạng cục bộ (LAN):
Một mạng cục bộ là sự kết nối một nhóm máy tính và các thiết bị kết nối mạng được lắp đặt trên một phạm vị địa lý giới hạn, thường trong một toà nhà hoặc một khu công sở nào đó
Mạng cục bộ có một số các đặc trưng sau:
- Đặc trưng địa lý: Mạng cục bộ thường được cài đặt trong một phạm vi địa lý tương đối nhỏ như: trong một tòa nhà, một trường đại học, một căn cứ quân sự,… với đường kính của mạng có thể là từ vài chục mét, tới vài chục kilômét trong điều kiện công nghệ hiện nay
- Đặc trưng tốc độ truyền: Mạng cục bộ có tốc độ truyền thường cao hơn so với mạng diện rộng Với công nghệ mạng hiện nay, tốc độ truyền của mạng cục bộ có thể đạt tới 100Mb/s
- Đặc trưng độ tin cậy: Tỷ suất lỗi trên mạng cục bộ là thấp hơn nhiều so với mạng diện rộng hoặc các loại mạng khác
- Đặc trưng quản lý: Mạng cục bộ thường là sở hữu riêng của một tổ chức nào đó
Trang 171.1.5.2 Mạng diện rộng với kết nối LAN to LAN:
Hình 1.6: Mạng diện rộng với kết nối LAN to LAN
Mạng diện rộng bao giờ cũng là sự kết nối của các mạng LAN, mạng diện rộng có thể trải trên phạm vi một vùng, một quốc gia hoặc cả một lục địa thậm chí trên phạm vi toàn cầu
Mạng diện rộng có một số đặc điểm sau:
- Tốc độ truyền dữ liệu không cao
- Phạm vi địa lý không giới hạn
- Thường triển khai dựa vào các công ty truyền thông, bưu điện và dùng các hệ thống truyền thông này để tạo dựng đường truyền
- Một mạng WAN có thể là sở hữu của một tập đoàn, một tổ chức hoặc là mạng kết nối của nhiều tập đoàn, tổ chức
Trang 18- Là sở hữu chung của toàn nhân loại.
- Càng ngày càng phát triển mãnh liệt
1.1.5.4 Mạng Intranet
Thực sự là một mạng Internet thu nhỏ vào trong một cơ quan, công ty, tổ chức hay một bộ, ngành, giới hạn phạm vi người sử dụng, có sử dụng các công nghệ kiểm soát truy cập và bảo mật thông tin
Intranet được phát triển từ các mạng LAN, WAN dùng công nghệ Internet
Intranet là mạng thông tin, liên lạc cục bộ cũng dùng giao thức TCP/IP như Internet, của một tổ chức nào đó (thường là một công ty) chỉ cho phép các thành viên công ty hay những người được cấp quyền truy cập Người dùng máy tính ở Việt Nam trước khi được ngao du trên mạng Internet như hiện nay, hồi nẳm đã được làm quen với mạng Intranet, như Cinet, Phương Nam,
Do là mạng cục bộ, tuy bạn cũng dùng giao thức quay số kết nối Dial-up bằng modem tới số điện thoại máy chủ và duyệt thông tin, tải file, gửi và nhận e-mail giống hệt với Internet; nhưng khác là chỉ loanh quanh trong phạm vi mạng mình làm thành viên, không thể liên thông với các mạng khác chứ đừng nói chi héo lánh ra được tới mạng Internet
Có thể nói cho dễ hiểu, Intranet là mạng Internet cục bộ
Trang 191.2 MÔ HÌNH MẠNG
1.2.1 Mô hình OSI và TCP/IP
Kiến trúc mạng được mô tả theo hai dạng mô hình OSI và TCP/IP như hình vẽ dưới đây
FTP – File Transfer Protocol
SMTP – Simple Mail Transfer Protocol
DSN – Domain Name Protocol
SNMP – Simple Network Management Protocol
ICMP – Internet Control Message Protocol
ARP – Address Resolution Protocol
FDDI – Fiber Distributed Data Interface
RIP – Routing Information Protocol.
TCP/IP thực chất là một họ giao thức cùng làm việc với nhau để cung cấp phương
tiện truyền thông liên mạng Dữ liệu được truyền đi trên mạng theo hình sau:
Trang 20Hình 1.7: Kiến trúc OSI và TCP/IP
Hình 1.8: Đường đi của dữ liệu qua các phần tử trên mạng
1.2.2 Các tầng của mô hình TCP/IP
Như trong phần trên đã giới thiệu về mô hình OSI và TCP/IP, chúng ta có thể đưa ra
sự tương ứng giữa các tầng của chúng như sau:
1.2.2.1 Tầng truy nhập mạng - Network Acces Layer
Tầng truy nhập mạng bao gồm các giao thức mà nó cung cấp khả năng truy nhập đến một kết nối mạng Tại tầng này, hệ thống giao tiếp với rất nhiều kiểu mạng khác nhau.Cung cấp các trình điều khiển để tương tác với các thiết bị phần cứng ví dụ như Token Ring, Ethernet, FDDI…
Trang 211.2.2.2 Tầng Internet – Internet Layer
Tầng Internet cung cấp chức năng dẫn đường các gói tin Vì vậy tại tầng này bao gồm các thủ tục cần thiết giữa các hosts và gateways để di chuyển các gói giữa các mạng khác nhau Một gateway kết nối hai mạng, và sử dụng kết nối mạng bao gồm IP (Internet Protocol), ICMP (Internet Control Message Protocol)
1.2.2.3 Tầng giao vận - Transport Layer
Tầng giao vận phân phát dữ liệu giữa hai tiến trình khác nhau trên các máy tính host Một giao thức đầu vào tại đây cung cấp một kết nối logic giữa các thực thể cấp cao.Các dịch vụ có thể bao gồm việc điều khiển lỗi và điều khiển luồng Tại tầng này bao gồm các giao thức Transmission Control Protocol (TCP) và User Datagram Protocol (UDP)
1.2.2.4 Tầng ứng dụng – Application Layer
Tầng này bao gồm các giao thức phục vụ cho việc chia sẻ tài nguyên và điều khiển
từ xa (remote access) Tầng này bao gồm các giao thức cấp cao mà chúng được sử dụng
để cung cấp các giao diện với người sử dụng hoặc các ứng dụng Một số giao thức quan trọng như File Transfer Protocol (FTP) cho truyền thông, HyperText Transfer Protocol (HTTP) cho dịch vụ World Wide Web, và Simple Network Management Protocol (SNMP) cho điều khiển mạng Ngoài ra còn có: Domain Naming Service (DNS), Simple Mail Transport Protocol (SMTP)
Post Office Protocol (POP) Internet Mail Access Protocol (IMAP), Internet Control Message Protocol (ICMP)…
1.2.3 Các giao thức, dịch vụ trong mạng TCP/IP
1.2.3.1 Các giao thức tầng mạng – Network Layer Protocols
a Internet Protocol (IP)
Mục đích chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên mạng để truyền dữ liệu Vai trò của nó tương tự vai trò tầng mạng trong mô hình OSI IP là giao thức kiểu “không liên kết” (connectionless) có nghĩa là không cần thiết lập liên kết trước khi truyền dữ liệu Đơn vị dữ liệu dùng trong giao thức IP được gọi là IP datagram có khuôn dạng bao gồm phần header và phần dữ liệu
Trang 22Hình 1.9: Cấu trúc gói tin IP (IP datagram)
Để định danh các host trên mạng thì trong giao thức dùng địa chỉ IP có độ dài 32 bits được tách thành 4 vùng mỗi vùng 1 byte và chúng thường được viết dưới dạng các số thập phân Người ta chia địa chỉ IP ra làm 5 lớp ký hiệu là A, B, C, D, E Ví dụ về một địa chỉ IP: 192.168.1.1
Mỗi địa chỉ IP gồm hai phần là: địa chỉ mạng (network id) và địa chỉ máy trạm (host id) Để phân tách giữa phần network id và host id người ta dùng đến subnet mask do vậy một địa chỉ IP đầy đủ thường là: 192.168.1.1/24
b Giao thức ánh xạ địa chỉ - Address Resolution Protocol (ARP)
Địa chỉ IP và địa chỉ phần cứng hay địa chỉ vật lý (độ dài 48 bits) là độc lập nhau Giao thức ARP làm nhiệm vụ chuyển đổi từ địa chỉ IP sang địa chỉ vật lý khi cần thiết Để ánh xạ từ địa chỉ IP sang địa chỉ vất lý theo hai cách là tĩnh hoặc động ARP và RARP sử dụng phương pháp ánh xạ động Nó sử dụng các gói tin ARP request và ARP reply
c Giao thức ánh xạ ngược địa chỉ - Reverse Address Resolution Protocol (RARP)
Tuơng tự như ARP chỉ có điều nó sẽ ánh xạ ngược từ địa chỉ vật lý (MAC) sang địa chỉ IP Sơ đồ đơn giản sự hoạt động của giao thức như sau:
Trang 23d IP version6 or IP next generation (IPv6 or IPng)
IPv6 về cơ bản vẫn giống như IPv4 Sau đây là một số điểm khác biệt giữa chúng:
- IP address có độ dài là 128 bits so với 32 bít của IPv4 Ví dụ một địa chỉ IPv6
- Hỗ trợ cho chứng thực, bảo mật dữ liệu là một phần của kiến trúc Ipv6
e Internet Control Message Protocol (ICMP)
Vì IP là giao thức không tin cậy vì vậy phải cần đến giao thức ICMP Giao thức này thực hiện truyền các thông báo điều khiển (báo cáo về tình trạng lỗi trên mạng, …) giữa các gateway hay các trạm của liên mạng Tình trạng lỗi có thể là: một datagram không thể tới đuợc đích của nó, hoặc một router không đủ bộ đệm để lưu và chuyển một datagram Một thông báo ICMP được tạo ra và sẽ chuyển cho IP để IP thực hiện gói
(encapsulate) với một IP header để truyền cho trạm hay router đích
1.2.3.2 Các giao thức tầng giao vận – Transport Layer Protocols
Có hai giao thức tại tầng giao vận là: TCP (Transport Control Protocol) và UDP (User Datagram Protocol) Cả hai đều nằm giữa tầng ứng dụng và tầng mạng TCP và UDP có trách nhiệm truyền thông tiến trình với tiến trình tại tầng giao vận (process – to – process)
a Transport Layer Protocol (TCP)
TCP là một giao thức kiểu “ hướng liên kết “ (connection – oriented) nghĩa là cần phải thiết lập liên kết locgic trước khi có thể truyền dữ liệu
Đơn vị dữ liệu dùng trong TCP được gọi là segment (đoạn dữ liệu) có khuôn dạng được mô tả dưới đây:
Trang 24Hình 1.10: Khuôn dạng của TCP segment
Các tham số trong khuôn dạng trên có ý nghĩa như sau:
- Source port (16bits): Số hiệu cổng của trạm nguồn
- Destrination port (16bits): Số hiệu cổng của trạm đích
- Sequence Number (32bits): Số hiệu của byte đầu tiên của segment trừ khi bit SYN được thiết lập Nếu bit SYN được thiết lập thì nó là số hiệu tuần tự khởi đầu (ISN)
- Acknowledment Number (32bits): Số hiệu của segment tiếp theo mà trạm nguồn đang chờ nhận được và nó có ý nghĩa báo nhận tốt
- Data offset (4bits): Số lượng từ (32bits) trong TCP header Nó có tác dụng chỉ ra vị trí bắt đầu của vùng data
- Reserved (6bits): dành để sử dụng sau này
- Code bits hay các bits điều khiển (6bits) theo thứ tự từ trái sang phải như sau:
URG: vùng con trỏ khẩn (Urgent Pointer) có hiệu lựcACK: vùng báo nhận (ACK number) có hiệu lựcPSH: chức năng PUSH
RST: khởi động lại liên kết
Trang 25FIN: không còn dữ liệu từ trạm nguồn
- Window (16bits): cấp phát credit để kiểm soát luồng dữ liệu(cơ chế cửa sổ) Đây chính là số lượng các byte dữ liệu, bắt đầu từ byte được chỉ ra trong vùng ACK number, mà trạm nguồn đã sẵn sang nhận
- Check sum (16bits): mã kiểm soát lỗi (theo phương pháp CRC)
- Urgent Poiter (16bits): con trỏ này trỏ tới số hiệu tuần tự của byte đi theo sau sữ liệu khẩn, cho phép bên nhận biết được độ dài của dữ liệu khẩn, chỉ có hiệu lực khi bit URG được thiết lập
- Options (độ dài thay đổi): khai báo các options của TCP
- Padding (độ dài thay đổi): Phần chèn thêm vào header để đảm bảo đủ kích thước
- TCP data: phần dữ liệu của TCP segment
b User Datagram Protocol (UDP)
UDP là giao thức không kết nối, không tin cậy như giao thức TCP, nó được sủ dụng thay thế TCP trong một số ứng dụng Không giống như TCP nó không có chức năng thiết lập và giải phóng liên kết Nó cũng không cung cấp các cơ chế báo nhận, không sắp xếp các đơn vị dữ liệu theo thứ tự đến và có thể dẫn đến tình trạng mất dữ liệu hoặc trùng dữ liệu mà không hề có thông báo lỗi cho người gửi
UDP cung cấp cơ chế gán và quản lý các số hiệu cổng để định danh duy nhất cho các ứng dụng chạy trên một trạm của mạng Do có ít chức năng nên UDP có xu hướng chạy nhanh hơn so với TCP Nó thường được sử dụng cho các ứng dụng đòi hỏi độ tin cậy không cao Khuôn dang một UDP datagram như sau:
Trang 26Hình 1.11: Khuôn dạng UDP datagram
c Các giao thức dẫn đường – Routing Protocols
Như chúng ta biết Internet bao gồm các mạng được kết nối bởi các routers Khi một gói được chuyển từ trạm nguồn đến trạm đích, nó phải đi qua các routers mà các router này được gắn với trạm đích Khoảng cách quãng đường đi này được xác định khác nhau tuỳ thuộc vào từng giao thức được sử dụng Để đưa được các gói tin đến đích thì tại các trạm hay các router phải cài đặt các giao thức dẫn đường Tuỳ vào giải thuật đựoc sử dụng
mà có các loai giao thức dẫn đường khác nhau Bao gồm các giao thức dẫn đường tĩnh (ví
dụ như RIP – Routing Information Protocol …) và dẫn đường động (ví dụ như OSPF – Open Shortest Path First …)
1.2.4 Các dịch vụ tầng ứng dụng
a Dịch vụ tên miền – Domain Name System (DNS)
Dịch vụ này cho phép định danh các phần tử trên mạng theo tên thay vì các con số trong địa chỉ IP Hệ thống này được đựoc phân cấp và mỗi cấp được gọi là một miền (domain) các miền được tách nhau bằng dấu chấm Domain cao nhất là cấp quốc gia, mỗi quốc gia được cấp một tên miền riêng gồm hai ký tự ví dụ vn (Việt Nam), fr (France)…và sau đó lại tiếp tục đuợc phân cấp nhỏ hơn Việc ánh xạ giữa địa chỉ IP và các tên miền được thực hiện bởi hai thực thể có tên là: Name Resolver và Name Server Name Resolever được cài đặt trên trạm làm việc còn Name Server được cài đặt trên một máy chủ Name Resolver gửi yêu cầu ánh xạ địa chỉ tới Name Server Nếu host name được tìm thấy thì địa chỉ IP tuơng ứng sẽ được gửi trả lại trạm làm việc Sau đó trạm làm việc sẽ kết nối với host bằng địa chỉ IP này
b Đăng nhập từ xa - TELNET
Cho phép người sử dụng từ một trạm làm việc của mình có thể đăng nhập (login) vào một trạm ở xa thông qua mạng và làm việc y như đang ngồi tại đó TELNET làm việc
Trang 27dựa trên giao thức TCP và trao đổi thông tin tại cổng 23 Để khởi động TELNET, từ trạm làm việc của mình người sử dụng chỉ việc gõ lệnh sau từ của sổ command line:
telnet <domain name or IP address >
c Truyền tệp – File Transfer Protocol (FTP)
Cho phép chuyển các tệp tin từ một máy trạm này sang một trạm khác, bất kể máy
đó ở đâu và sử dụng hệ điều hành gì, chỉ cần chúng được nối với nhau thông qua mạng Internet và có cài đặt FTP
Để khởi động FTP ta sử dụng câu lệnh:
ftp <domain name or IP address >
Sau đó ta phải đăng nhập với user name và password Khi đó chúng ta có thể thực hiện các công việc như lấy về hay tải lên một file
d Thư điện tử - Electronic Mail (E_mail)
Hiện là một dịch vụ phổ biến nhất trên mạng Internet Nó là dịch vụ kiểu
“ lưu và chuyển tiếp “ (store – and – forward) tức là hai trạm trao đổi thư điện tử cho nhau không cần phải liên kết trực tiếp Chúng được lưu chuyển thông qua các E_mail Server Các giao thức được sử dụng cho dịch vụ thư điện tử bao gồm:
- Simple Mail Transfer Protocol (SMTP)
- Post Office Protocol Version 3 (POP3)
- Internet Message Access Protocol (IMAP)
- Multipurpose Internet Mail Extension (MIME)
e Các dịch vụ tìm kiếm:
Bao gồm các dịch vụ như:
- Tìm kiếm file (Archie)
- Tra cứu thông tin theo thực đơn (Gopher)
- Tìm kiếm thông tin theo chỉ số (WAIS)
- Tìm kiếm thông tin dựa trên siêu văn bản (WWW)
Trang 28Vấn đề bảo mật mạng luôn là một vấn đề bức thiết khi ta nghiên cứu một hệ thống mạng Hệ thống mạng càng phát triển thì vấn đề bảo mật mạng càng được đạt lên hàng đầu.
Khi nguyên cứu một hệ thống mạng chúng ta cần phải kiểm soát vấn đề bảo mật mạng ở các cấp độ sau:
• Mức mạng: Ngăn chặn kẻ xâm nhập bất hợp pháp vào hệ thống mạng
• Mức server: Kiểm soát quyền truy cập, các cơ chế bảo mật, quá trình nhận dạng người dùng, phân quyền truy cập, cho phép các tác vụ
• Mức cơ sở dữ liệu: Kiểm soát ai? được quyền như thế nào? với mỗi cơ sở dữ liệu
• Mức trường thông tin: Trong mỗi cơ sở dữ liệu kiểm soát được mỗi trường dữ liệu chứa thông tin khác nhau sẽ cho phép các đối tượng khác nhau có quyền truy cập khác nhau
• Mức mật mã: Mã hoá toàn bộ file dữ liệu theo một phương pháp nào đó và chỉ cho phép người có “ chìa khoá” mới có thể sử dụng được file dữ liệu
Theo quan điểm hệ thống, một xí nghiệp (đơn vị kinh tế cơ sở) được thiết lập từ ba
hệ thống sau:
- Hệ thống thông tin quản lý
- Hệ thống trợ giúp quyết định
- Hệ thống các thông tin tác nghiệp
Trong đó hệ thống thông tin quản lý đóng vai trò trung gian giữa hệ thống trợ giúp quyết định và hệ thống thông tin tác nghiệp với chức năng chủ yếu là thu thập, xử lý và truyền tin
Trang 29Hình 1.12: Sơ đồ mạng thông dụng hiện nay.
1.3.1.1 Các yếu tố cần quan tâm khi phân tích bảo mật mạng:
+ Vấn đề con người: Trong bảo mật mạng yếu tố con người cũng rất quan trọng Khi nghiên cứu đến vấn đề bảo mật mạng cần quan tâm xem ai tham gia vào hệ thống mạng, họ có tránh nhiệm như thế nào Ở mức độ vật lý khi một người không có thẩm quyền vào phòng máy họ có thể thực hiện một số hành vi phá hoại ở mức độ vật lý
+ Kiến trúc mạng: Kiến trúc mạng cũng là một vấn đề mà chúng ta cần phải quan tâm khi nghiên cứu, phân tích một hệ thống mạng Chúng ta cần nghiên cứu hiện trạng mạng khi xây dựng và nâng cấp mạng đưa ra các kiểu kiến trúc mạng phù hợp với hiện trạng và cơ sở hạ tầng ở nơi mình đang định xây dựng…
+ Phần cứng & phần mềm:
Mạng được thiết kế như thế nào Nó bao gồm những phần cứng và phần mềm nào
và tác dụng của chúng Xây dựng một hệ thống phần cứng và phần mềm phù hợp với hệ thống mạng cũng là vấn đề cần quan tâm khi xây dựng hệ thống mạng Xem xét tính tương thích của phần cứng và phần mềm với hệ thống và tính tương thích giữu chúng
1.3.1.2 Các yếu tố cần được bảo vệ:
+ Bảo vệ dữ liệu (tính bảo mật tính toàn vẹn và tính kíp thời)
+ Bảo vệ tài nguyên sử dụng trên mạng để tránh sử dụng tài nguyên này vào mục đính tấn công của kẻ khác
Trang 30+ bảo vệ danh tiếng.
1.3.2 Các kiểu tấn công mạng:
Cùng với sự phát triển nhanh chóng của mạng thì nó cũng để lại nhiều lỗ hổng để hacker có thể tấn công Các thủ đoạn tấn công ngày càng trở nên tinh vi hơn Các phương pháp tấn công thường gặp là:
1.3.2.3 Đánh lừa (IP spoofing):
Kỹ thuật này được sử dụng khi hacker giả mạo địa chỉ IP tin cậy trong mạng nhằm thực hiện việc chèn thông tin bất hợp pháp vào trong phiên làm việc hoặc thay đổi bản tin định tuyến để thu nhận các gói tin cần thiết
1.3.2.4 Tấn công từ chối dịch vụ (Denial of services):
Kiểu tấn công này nhằm tắc nghẽn mạng bằng cách hacker gửi các gói tin với tốc
độ cao và liên tục tới hệ thống bảo mật nhằm làm tê liện hệ thống chiếm hết băng thông
sử dụng
1.3.2.5 Tấn công trực tiếp password:
Đó là kiểu tấn công trực tiếp vào username và password của người sử dụng nhằm
ăn cắp tài khoải sử dụng vào mục đích tấn công Hacker dùng phần mềm để tấn công (vị
dụ như Dictionary attacks)
1.3.2.6 Thám thính(agent):
Hacker sử dụng các các phần mềm vius, trojan thường dùng để tấn công vào máy trạm làm bước đệm để tấn công vào máy chủ và hệ thống Kẻ tấn công có thể nhận được các thông tin hữu ích từ máy nạn nhân thông qua các dịch vụ mạng
Trang 311.3.2.7.Tấn công vào yếu tố con người:
Hacker có thể tấn công vào các lỗ hổng do lỗi nhà quản trị hệ thống hoặc liên lạc với nhà quản trị hệ thống giả mạo là người sủ dụng thay đổi username và password
1.3.3.2 Đăng nhập/Mật khẩu(login/password):
Đây là lớp bảo vệ mức độ truy nhập thông tin ở mức độ hệ thống Đây là mức độ bảo vệ được sử dụng phổ biến nhất vì nó đơn giản và ít tốn kém Nhà quản trị cung cấp cho mỗi người dùng một username và password và kiểm soát mọi hoạt động của mạng thông qua hình thức đó Mỗi lần truy nhập mạng người dùng phải đăng nhập nhập username và password hệ thống kiểm tra thấy hợp lệ mới cho đăng nhập
1.3.3.3 Mã hóa dữ liệu(Data encryption):
Đó là sử dụng các phương pháp mã hoá dữ liệu ở bên phát và thực hiện giải mã ở bên thu bên thu chỉ có thể mã hóa chính xác khi có khoá mã hóa do bên phát cung cấp
1.3.3.4 Bảo vệ vật lý (Physical protect):
Đây là hình thức ngăn chạn nguy cơ truy nhập vật lý bất hợp pháp vào hệ 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 ổ khoá máy tính, hoặc cài đặt cơ chế báo động khi có truy nhập vào hệ thống
Bức tường lửa (Firewall) Bảo vệ vật lý (Physical Protect)
Mã hóa dữ liệu(Data Encryption) Đăng nhập/Mật khẩu (Login/Password) Quyền truy nhập (Access Right) Thông tin (Information)
Trang 321.3.3.5 Bức tường lửa (firewall):
Đây là hình thức ngăn chặn sự xâm nhập bất hợp pháp vào mạng nội bộ thông qua firewall.) Chức năng của tường lửa là ngăn chặn các truy nhập trái phép (theo danh sách truy nhập đã xác định trước) và thậm chí có thể lọc các gói tin mà ta không muốn gửi đi hoặc nhận vào vì một lý do nào đó Phương thức bảo vệ này được dùng nhiều trong môi trường liên mạng Internet
Bức tường lửa (Firewall) sẽ cho phép chúng ta lọc, ngăn chặn hay cho phép gói tin
đi qua dựa trên địa chỉ nguồn, đích hay các dịch vụ đang sử dụng Các firewall sẽ chia hệ thống mạng ra làm nhiều vùng khác nhau và việc truy cập từ vùng này sang vùng khác sẽ được kiểm soát chặt chẽ Việc sử dụng bức tường lửa vào những vị trí thích hợp sẽ giúp ngăn chặn tối đa khả năng truy cập trái phép của các hacker
Hình 1.14: Bảo mật sử dụng bức tường lửa
Hiện nay, có rất nhiều hướng giải pháp để xây dựng hệ thống tường lửa, được chia ra làm 2 nhóm sau: Giải pháp dùng phần cứng và Giải pháp dùng phần mềm
• Giải pháp dùng phần cứng là dùng thiết bị Firewall phần cứng chuyên
dụng hay còn gọi là “Firewall cứng” Trong số này có hai nhà cung cấp nổi tiếng hàng đầu thế giới là PIX của Cisco và Netscreen của Junifer
• Giải pháp dùng phần mềm là dùng các phần mềm có chức năng Firewall
hay còn gọi là “Firewall mềm
Trang 33Tường lửa (Firewall) là thành phần quan trọng trong toàn bộ hệ thống bảo mật và
là thành phần không thể thiếu trong bất cứ hệ thống công nghệ thông tin nào, trên thị trường hiện nay phổ biến là các dòng Firewall truyền thống hoạt động dựa trên cổng và giao thức vốn không có khả năng kiểm soát dựa trên người dùng và ứng dụng cụ thể và không còn đáp ứng được đối với các ứng dụng và đòi hỏi của hệ thống CNTT ngày nay Bất cứ nhà quản trị mạng nào cũng mong muốn làm sao để biết rõ những gì đang diễn ra trong hệ thống mạng do mình quản lý, từ người dùng nào đang sử dụng ứng dụng nào và những nguy cơ tiềm tàng về mặt bảo mật bên trong các ứng dụng đó, nên sử dụng những công cụ mạnh mẽ nào để ngăn chặn các nguy cơ có thể xảy ra, đưa ra được báo cáo trực quan trong khi vẫn phải cung cấp một giao diện thân thiện trong việc quản trị, vận hành Firewall càng ngày càng phổ biến và được tích hợp trực tiếp vào các hệ điều hành máy tính
Sau đây, trong đồ án em xin trình bày về “Công nghệ firewall”
Trang 34CHƯƠNG 2: TƯỜNG LỬA-FIREWALL
2.1 CÁC KHÁI NIỆM CƠ BẢN VỀ FIREWALL
2.1.1 LỊCH SỬ RA ĐỜI VÀ PHÁT TRIỂN CỦA CÔNG NGHỆ FIREWALL
Công nghệ Firewall bắt đầu xuất hiện vào cuối những năm 1980 khi Internet vẫn còn là một công nghệ khá mới mẻ theo khía cạnh kết nối và sử dụng trên toàn cầu Ý tưởng đầu tiên được đã hình thành sau khi hàng loạt các vụ xâm phạm nghiêm trọng đối với an ninh liên mạng xảy ra vào cuối những năm 1980 Năm 1988, một nhân viên tại trung tâm nghiên cứu NASA Ames tại California gửi một bản ghi nhớ qua thư điện tử tới đồng nghiệp rằng: "Chúng ta đang bị một con VIRUS Internet tấn công! Nó đã đánh Berkeley, UC San Diego, Lawrence Livermore, Stanford, và NASA Ames." Con virus
được biết đến với tên Sâu Morris này đã được phát tán qua thư điện tử và khi đó đã là một
sự khó chịu chung ngay cả đối với những người dùng vô thưởng vô phạt nhất Sâu Morris
là cuộc tấn công diện rộng đầu tiên đối với an ninh Internet Cộng đồng mạng đã không
hề chuẩn bị cho một cuộc tấn công như vậy và đã hoàn toàn bị bất ngờ Sau đó, cộng đồng Internet đã quyết định rằng ưu tiên tối cao là phải ngăn chặn không cho một cuộc tấn công bất kỳ nào nữa có thể xảy ra, họ bắt đầu cộng tác đưa ra các ý tưởng mới, những
hệ thống và phần mềm mới để làm cho mạng Internet có thể trở lại an toàn
Năm 1988, bài báo đầu tiên về công nghệ tường lửa được công bố, khi Jeff Mogul thuộc Digital Equipment Corp phát triển các hệ thống lọc đầu tiên được biết đến với tên các tường lửa lọc gói tin(packet filtering firewall) Hệ thống khá cơ bản này đã là thế hệ đầu tiên của cái mà sau này sẽ trở thành một tính năng kỹ thuật an toàn mạng được phát triển cao Từ năm 1980 đến năm 1990, hai nhà nghiên cứu tại phòng thí nghiệm AT&T
Bell, Dave Presetto và Howard Trickey, đã phát triển thế hệ tường lửa thứ hai, được biết đến với tên các tường lửa tầng mạch (circuit level firewall) Các bài báo của Gene Spafford ở Đại học Purdue, Bill Cheswick ở phòng thí nghiệm AT&T và Marcus Ranum
đã mô tả thế hệ tường lửa thứ ba, với tên gọi tường lửa tầng ứng dụng (application layer firewall), hay tường lửa dựa proxy (proxy-based firewall) Nghiên cứu công nghệ của Marcus Ranum đã khởi đầu cho việc tạo ra sản phẩn thương mại đầu tiên Sản phẩm này
đã được Digital Equipment Corporation's (DEC) phát hành với tên SEAL Đợt bán hàng lớn đầu tiên của DEC là vào ngày 13 tháng 9 năm 1991 cho một công ty hóa chất tại bờ biển phía Đông của Mỹ
Tại AT&T, Bill Cheswick và Steve Bellovin tiếp tục nghiên cứu của họ về lọc gói tin và đã phát triển một mô hình chạy được cho công ty của chính họ, dựa trên kiến trúc của thế hệ tường lửa thứ nhất của mình Năm 1992, Bob Braden và Annette DeSchon tại
Trang 35phẩm có tên “Visas” này là hệ thống đầu tiên có một giao diện với màu sắc và các biểu tượng, có thể dễ dàng cài đặt thành phần mềm cho các hệ điều hành chẳng hạn Microsoft Windows và Mac/OS của Apple và truy nhập từ các hệ điều hành đó Năm 1994, một công ty Israel có tên Check Point Software Technologies đã xây dựng sản phẩm này thành một phần mềm sẵn sàng cho sử dụng, đó là FireWall-1 Một thế hệ thứ hai của các tường lửa proxy đã được dựa trên công nghệ Kernel Proxy Thiết kế này liên tục được cải tiến nhưng các tính năng và mã chương trình cơ bản hiện đang được sử dụng rộng rãi trong cả các hệ thống máy tính gia đình và thương mại Cisco, một trong những công ty sản xuất thiết bị mạng lớn nhất trên thế giới đã phát hành sản phẩm này năm 1997.
Thế hệ FireWall-1 mới tạo thêm hiệu lực cho động cơ kiểm tra sâu gói tin bằng cách chia sẻ chức năng này với một hệ thống ngăn chặn xâm nhập
2.1.2 ĐỊNH NGHĨA FIREWALL
Firewall theo tiếng việt có nghĩa là Bức Tường lửa Dùng để ngặn chặn và bảo vệ
những thông tin và chống việc truy cập bất hợp pháp của các hacker Firewall là một giải pháp dựa trên phần cứng và phần mềm dùng để kiểm tra dữ liệu đi từ bên ngoài vào máy tính hoặc từ máy tính ra ngoài mạng Internet, rộng hơn là giữa mạng nội bộ và Internet, và giữa các mạng con trong hệ thống mạng nội bộ của công ty
Hình 2.1: Firewall làm màn chắn ngăn cách giữa mạng nội bộ và Internet
Có thể nói Firewall là nguời bảo vệ có nhiệm vụ kiểm tra “giấy thông hành” của bất
kì gói dữ liệu đi vào hoặc đi ra Nó chỉ cho phép những gói dữ liệu hợp lệ đi qua và loại
bỏ tất cả các gói dữ liệu không hợp lệ.Vì vậy mà Firewall rất cần thiết cho việc đảm bảo
an toàn trên hệ thống mạng
Trang 362.1.3 PHÂN LOẠI FIREWALL
2.1.3.1 Firewall phần mềm:
Là các ứng dụng chạy trên các hệ điều hành như Microsoft Window hay Mac/OS, đối với window XP đã được tích hợp sẵn Firewall phần mềm thường không đắt tiền bằng phần cứng thậm chí còn được cho sử dụng miễn phí, so với Firewall phần cứng thì Firewall phần mềm linh động hơn nó có thể chạy tốt trên nhiều Hệ Điều Hành khác nhau Một trong những Firewall phần mềm phổ biến là Zonealarm, ISA, Checkpoint…
2.1.3.2 Firewall phần cứng:
Là các thiết bị phần cứng chuyên dụng có chức năng và mức độ bảo vệ cao hơn so với Firewall phần mềm và dễ bảo trì hơn do không chiếm dụng tài nguyên hệ thống như Firewall phần mềm Một trong những hãng chuyên cung cấp Firewall phần cứng là Linkksys và NetGar Các sản phẩm firewall cứng được sử dụng rộng rãi hiện nay là dòng ASA, PIX của Cisco System và Netscreen của Juniper
2.1.4 CHỨC NĂNG CỦA FIREWALL
Firewall thực hiện 3 chức năng điều khiển truy nhập (Access control), quản lý xác
thực (Authentication) và ghi nhật ký truy nhập (activity logging)
2.1.4.1 Điều khiển truy nhập (Access Control)
Như ở trên đã giới thiệu có hai loại tường lửa với 2 cách điều khiển truy nhập khác nhau là quy chế bộ lọc gói (packet filter) và chính sách người đại diện ứng dụng (proxy server)
2.1.4.1.1 Vị trí xảy ra quá trình xử lý gói
Để hiểu được firewall hoạt động như thế nào thì trước hết hãy quan tâm đến
đường đi của các gói tin sẽ dẫn đến firewall đó Có 3 đường dẫn phổ biến mà một gói tin có thể đi qua tùy thuộc vào dạng tường lửa được cài đặt Một gói tin có thể vựợt
qua một tường lửa ở mức tầng ứng dụng, ở mức nhân hệ điều hành hoặc là mức card giao tiếp mạng Hầu hết các tường lửa đều kiểm soát và cho phép các gói đi qua 3 mức này.
Trang 37Hình 2.2: Các vị trí có thể kiểm soát gói tin trong tầng giao thức
Để có được tốc độ xử lý cao hơn ở các router, bộ lọc gói được thiết lập trên phần mở rộng của thiết bị trên card giao tiếp mạng với một bộ xử lý đặc biệt tối ưu quá trình xử lý các gói Để lưu chứa ở đây với tốc độ cao bộ xử lý trên card giao tiếp mạng chỉ hỗ trợ những luật xử lý đơn giản như các phép so sánh nhị phân Những dịch vụ khác không được hỗ trợ ở đây
Những router và những trạm luân chuyển gói khác thì quá trình lọc các gói tin thường diễn ra ở mức nhân hệ điều hành hơn là mức card giao tiếp mạng Thông thường quá trình lọc được thực thi trên các bộ xử lý chuyên dụng cho phép tường lửa có thể thực hiện quá trình lọc và kiểm định một cách chuẩn xác, tinh xảo hơn là trên các card giao tiếp mạng tích hợp tính lọc Hơn nữa quá trình xử lý các gói tại mức nhân hệ điều hành nhanh hơn ở mức tầng ứng dụng bởi vì quá trình lập lịch và tràn bộ nhớ được tránh Tuy nhiên quá trình xử lý nhân thường đòi hỏi tất cả các thông tin cần thiết cho việc lọc gói phải được chứa trong bộ nhớ thay vì trên đĩa Một gói phải được xử lý và được cho qua
mà không cần phải đợi trên đĩa điều này sẽ làm hạn chế các dạng gói và số lượng các gói được xử lý ở mức này
Quá trình xử lý ở mức tầng ứng dụng có thể cung cấp một chính sách an ninh tốt nhất Mức ứng dụng có thể truy cập đến tất cả các tài nguyên hệ thống bao gồm đĩa, card mạng, bộ nhớ, thư viện các chương trình và cả những tiến trình khác Tầng ứng dụng là tầng trên cùng trong cấu trúc phân tầng của giao thức mạng do đó nó không bị giới hạn bởi các tầng thấp hơn nó
Trang 382.1.4.1.2 Hoạt động lọc gói (Packet Filtering)
Hoạt động lọc các gói có thể diễn ra ở một trong 3 mức xử lý gói như trên đã trình bày nhưng nó thường được hỗ trợ ở mức card giao tiếp mạng hoặc mức nhân hệ điều hành Một bộ lọc gói sẽ căn cứ vào phần địa chỉ IP chứa trong gói tin để quyết định xem gói đó có được cho phép vượt qua hay bị chặn lại Gói được cho qua sẽ được chuyển đến trạm đích hoặc router tiếp theo Gói bị chặn lại sẽ bị loại bỏ
2.1.4.1.3 Luật lọc (Filtering Rules)
Bộ lọc sẽ kiểm tra 5 mảng thông tin trong khối IP ở phần đầu của gói tin các
thông tin đó bao gồm:
Source IP address Địa chỉ IP của trạm nguồn gửi gói tinDestination IP address Địa chỉ IP của trạm đích gói tin sẽ đi
tớiUpper Level Protocol Đó là TCP hoặc UDP
TCP or UDP source port
Bảng 2.1: Các thông tin được sử dụng trong luật lọc của gói tin IP
Khi có được các thông tin trên của các gói, bộ lọc sẽ so sánh chúng với một tập hợp
các luật để đưa ra quyết định Một luật lọc là sự kết hợp một giá trị hoặc miền giá trị của mỗi trường thông tin trên và quyết định sẽ được đưa ra nếu tất cả các thông tin của gói được so khớp với các thông tin của các luật Một bộ lọc gói sẽ thực hiện việc kiểm tra sự
hợp lệ của các gói rất đơn giản và rất nhanh chỉ bằng các phép so sánh nhị phân Quyết định (cho phép hoặc cấm) sẽ được đưa ra ngay sau khi bộ lọc tìm thấy một luật nào đó hoàn toàn so khớp với thông tin mà nó có được về gói tin, do đó trật tự sắp xếp các luật cũng rất quan trọng nó góp phần làm cho quá trình lọc được nhanh hơn
Có một điều đáng quan tâm ở đây đó là danh sách luật là hữu hạn và ta không thể lường hết được các tình huống để đưa ra tất cả các luật được vì vậy phải có một luật mặc định ở đây để nếu như khi xem xét hết tất cả các luật trong danh sách luật rồi mà bộ lọc vẫn không thể đưa ra được quyết định thì luật mặc định này sẽ giúp bộ lọc đưa ra quyết định Có 2 ý tưởng chủ đạo trong việc tạo ra luật mặc định này đó là hoặc là từ chối tất cả hoặc chấp nhận tất cả, có nghĩa là tất cả các gói có thông tin không thoả mãn tập luật thì
bị từ chối cho qua hoặc chấp nhận cho qua hết
Trang 39Hình 2.3: Hoạt dộng của người đại diện ứng dụng
Người sử dụng trước hết phải thiết lập một kết nối đến người đại diện ứng dụng trên tường lửa (1) Đại diện ứng dụng này sẽ tập hợp các thông tin liên quan đến mối liên kết
và yêu cầu của người sử dụng (2) Tường lửa sẽ sử dụng thông tin này để quyết định liệu yêu cầu có được cho phép thực thi hay không Nếu yêu cầu từ phía người dùng là thoả đáng thì người đại diện trên tường lửa sẽ tạo một kết nối khác từ tường lửa đến đích dự kiến (3) Sau đó người đại diện sẽ đóng vai trò như một con thoi để truyền tải dữ liệu giữa
2 mối kết nối (4)
Có 2 điểm cần lưu ý ở đây là:
– Thứ nhất, kết nối đầu tiên phải được thiết lập đến người đại diện trên tường lửa thay vì nối trực tiếp đến trạm mong muôn kết nối
– Thứ hai, người đại diên trên tường lửa phải có được địa chỉ IP của trạm đích
Trước khi người sử dụng hoặc một ứng dụng nào đó muốn kết nối đến người đại diên ứng dụng thì phải thiết lập kết nối đến tường lửa, kết nối này phải sử dụngphương pháp chuẩn để cung cấp tên hoặc địa chỉ IP của trạm trạm đích mong muốn Đây không phải là một công việc dễ dàng vì giao thức tầng ứng dụng luôn cố định và thường không hỗ trợ sự vượt qua của những thông tin được thêm vào Để khắc phục đặc điểm này có rất nhiều giải pháp bắt buộc người sử dụng và các ứng dụng phải tuân theo
• Kết nối trực tiếp.
Đây là giải pháp đầu tiên cho phép người sử dụng thiết lập kết nối trực tiếp đến tường lửa thông qua địa chỉ và số hiệu cổng người đại diện sau đó người đại diện sẽ hỏi
Trang 40người sử dụng để biết được địa chỉ của trạm mong muốn kết nối Đây là một phương pháp thô được sử dụng bởi nhưng tường lửa sơ khai vì thế không được ưa dùng.
• Sử dụng chương trình hỗ trợ máy khách.
Giải pháp tiếp theo sử dụng trong việc cài đặt người đại diện là phải có một
chương trinh hỗ trợ đặt trên máy của người sử dụng Người sử dụng sẽ chạy ứng dụng đặc biệt để tạo kết nối đến tường lửa Người sử dụng chỉ việc cung cấp địa chỉ hoặc tên của trạm đích cho ứng dụng bổ trợ Địa chỉ tường lửa sẽ được ứng dụng bổ trợ này lấy
ra từ file cấu hình cục bộ sau đó nó sẽ thiết lập kết nối đến người đại diện trên tường lửa Giải pháp này tỏ ra hữu hiệu và trong suốt đối với người sử dụng tuy nhiên hạn chế của
nó là mỗi chương trình hỗ trợ máy khách chỉ thực hiện tương ứng với một dịch vụ nào đó của mạng mà thôi
• Sử dụng người đại diện tàng hình.
Một phương pháp nữa được sử dụng hiện nay cho việc kết nối đến đại diện ứng dụng trên tường lửa là sử dụng đại diện tàng hình (ẩn) Với giải pháp này thì người sử dụng không cần đến chương trình hỗ trợ máy khách hoặc kết nối trực tiếp đến tường lửa
Ở đây người ta sử dụng phương pháp dò đường căn bản, mọi kết nối đến các mạng bên ngoài đều phải định hướng thông qua tường lửa Các gói khi vào trong tường lửa tự động sẽ đổi hướng đến một đại diện ứng dụng mong muốn Ứng dụng đại diện có được địa chỉ trạm đích một cách chính xác bằng cách lấy địa chỉ trạm đích của phiên Trong trường hợp này tường lửa giả mạo thành một trạm đích và chặn các phiên lại Khi một kết nối được thiết lập đến đại diện trên tường lửa thì trình ứng dụng máy khách sẽ nghĩ rằng
nó đang kết nối đến một trạm đích thật sự Nếu được phân quyền thì đại diện ứng dụng trên tường lửa sẽ dùng một hàm đại diện để tạo ra liên kết thứ hai đến trạm đích thật
2.1.4.2 Quản lý xác thực (User Authentication).
Đây là chức năng ngăn cản việc truy cập trái phép vào hệ thống mạng nội bộ Các hệ điều hành quản lý mạng chỉ kiểm soát một cách không chặt chẽ tên người sử dụng và password được đăng ký, và đôi lúc chính người sử dụng được ủy nhiệm lại vô ý để lộ password của mình Hậu quả của việc này có khi là rất nghiêm trọng Nó trở nên càng quan trọng hơn đối với những hệ thống mạng lớn có nhiều người sử dụng Có hai giao thức chuẩn thông dụng nhất hiện nay để kết hợp làm việc với LAN
– RADIUS (Remote Authen-tication Dial-In User Service)
– TACAS+ (Terminal Access Controller Access Control System Extended)
Thông thường chức năng authentication được thực hiện với sự phối hợp của một thiết bị phần cứng hoặc phần mềm được tích hợp sẵn bên trong các phần mềm (giải mã theo thuật toán và tiêu chuẩn khóa mã định trước) Khi một thao tác truy cập vào mạng được thực hiện (kiểm tra đúng User Name và Password), hệ quản lý xác thực sẽ gửi đến