Nghiên cứu về Firewall và các cơ chế đảm bảo an ninh mà Firewall có thể thực hiện
Trang 1B I TI ÀI TI ỂU LUẬN
MÔN: AN TO N V B ÀI TI ÀI TI ẢO MẬT THÔNG TIN
Hng Yªn , tháng 1 năm 2010
Trang 2I Mục đích, khái niệm và chức năng 2
I.1 Mục đích: 2
I.2 Khái niệm: 2
I.3 Chức năng: 3
I.4 Cấu trúc 3
Về mặt cấu trúc vật lý, Firewall bao gồm : 3
II Phân loại 4
II.1 Firewall mức mạng(Network_Level Firewall) 4
I Các khái niệm cơ bản 5
I.1 Mạng vành đai 5
I.2 Bastion Host: 6
I.3 Router nội bộ(interior Router) 7
I.4 Router ngoài (exterior Router) 7
I.5 Packet filtering(Cơ chế lọc gói tin) 9
1.2.1 I.5.1 Sơ lược về gói tin(packet) 9
1.2.2 I.5.2 Các thông tin trong header của gói tin 10
1.2.3 I.5.3 Khái niệm cơ chế lọc gói tin: 11
1.2.4 I.5.4 Nguyên lý hoạt động của cơ chế lọc gói tin: 12
I.6 Hệ thống uỷ quyền (Proxy system) 15
1.2.5 I.6.1 Khái niệm: 15
1.2.6 I.6.2 Ưu điểm của cơ chế uỷ quyền: 17
1.2.7 I.6.3 Hạn chế của cơ chế uỷ quyền: 17
1.2.8 I.6.4 Cơ chế proxy hoạt động như thế nào? 18
II Các biến thể 19
II.1 Bastion Host bội (Multi-Bastion Host) 19
II.2 Kết hợp router nội bộ và router ngoài 19
II.3 Kết hợp Bastion Host và Router ngoài 20
II.4 Kết hợp Bastion Host và Router nội bộ 20
II.5 Kết hợp nhiều router nội bộ 21
II.6 Kết hợp nhiều router ngoài 22
II.7 Kết hợp nhiều mạng vành đai 23
II.8 Sử dụng Dual Host và Screen Subnet 23
II.9 Firewall nội bộ 24
KẾT LUẬN 25
TỔNG QUAN VỀ FIREWALL
Trang 31 Mục đích, khái niệm và chức năng
I.2 Khái niệm:
Trong công nghệ mạng thông tin, Firewall là một kỹ thuật được tích hợpvào hệ thống mạng để kiểm soát truy cập bằng cách cấm các lưu thông vàngười dùng không được phép nhằm bảo vệ các nguồn thông tin nội bộ cũngnhư hạn chế các thông tin không mong muốn xâm nhập vào hệ thống Firewallcũng có thể hiểu là một cơ chế để bảo vệ mạng tin cậy (mạng nội bộ) khỏi cácmạng không tin cậy (thường là Internet)
I.3 Chức năng:
Điều quan trọng nhất ở Firewall là nó thực hiện vấn đề kiểm soát truynhập Nó ngăn chặn người sử dụng không mong muốn truy cập mạng và chophép người dùng hợp lệ thực hiện việc truy xuất
Về mặt chức năng hệ thống, Firewall là một thành phần được đặt giữa hai haynhiều mạng để kiểm soát tất cả các lưu thông và truy cập giữa chúng với nhau
Trang 4- Tất cả các trao đổi dữ liệu từ trong ra ngoài và ngược lại phải thực hiệnthông qua Firewall.
- Chỉ có những trao đổi nào được phép của chế độ an ninh của hệ thốngmạng nội bộ mới được quyền lưu thông qua Firewall
Nhìn chung, các Firewall chống lại các đăng nhập tương tác không đượcxác minh từ bên ngoài Chúng có thể cung cấp một điểm nghẹt đơn nơi gánhvác trách nhiệm bảo mật và kiểm tra Firewall cung cấp chức năng kiểm tra vàcác nhật ký hệ thống (logging)-các bản tổng kết về các loại và tổng số các lưuthông truyền qua nó, số các ý định xâm nhập cho người quản trị mạng
Các Firewall không thể chống lại được các vụ tấn công không đi qua nó(như các cuộc tấn công qua đường điện thoại hay do rò rỉ thông tin qua đĩamềm) Firewall thật sự không thể bảo vệ bạn chống lại những kẻ phản bội haynhững kẻ thiếu học thức
Firewall chống các virus không đuợc tốt lắm Firewall không thể chống lạimột vụ tấn công kiểu hướng dữ liệu, khi chương trình tấn công được gửi hayđược chép vào một host nội bộ và được thực hiện ngay tại đó
I.4 Cấu trúc
Về mặt cấu trúc vật lý, Firewall bao gồm :
- Một hay nhiều hệ thống máy chủ kết nối với các router
- Các phần mềm quản lý an ninh chạy trên hệ thống máy chủ Thôngthường là các hệ quản trị xác thực (authentication), cấp quyền (authoziration) vàtính toán (acounting) - được gọi là các dịch vụ AAA
Một Firewall chuẩn bao gồm một hay nhiều thành phần sau đây: (cácthành phần này sẽ được đề cập chi tiết hơn ở phần sau)
- Bộ lọc gói tin (Packet Filter hay Screened Router)
- Cổng mức ứng dụng (Application-Level Gateway hay Proxy
Trang 5- Cổng mức mạng (Circuit -Level Gateway).
- Cơ chế lọc phiên thông minh (Smat Session Filtering)
2 Phân loại
II.1 Firewall mức mạng(Network_Level Firewall)
Các Firewall mức mạng là các Firewall mà trên đó lưu thông được kiểmtra ở cấp gói tin của giao thức mạng (quyết định của chúng được dựa trên cáccổng,các địa chỉ nguồn và đích của các gói tin IP) Ví dụ như một Router HiệnFirewall mức mạng phức tạp hơn, chúng duy trì các thông tin nội tại về trạngthái của các liên kết truyền qua chúng, nội dung của một số dòng dữ liệu Firewall mức mạng trực tiếp chọn đường cho lưu thông đi qua chúng, nên được
sử dụng khi bạn có các khối địa chỉ IP hợp lệ
- Ưu điểm: Các Firewall mức mạng rất nhanh và trong suốt đối với người
sử dụng
- Hạn chế : Thiếu khả năng "nhận thức" thông tin truyền qua nó
II.2 Firewall mức ứng dụng(Application_Level Firewall)
Firewall mức ứng dụng là một hệ thống Firewall mà các dịch vụ trên đóđược cung cấp bởi các quá trình có tác dụng duy trì thứ tự và trạng thái của mộtliên kết TCP đầy đủ Các Firewall mức ứng dụng thường chạy proxy server, do
đó các lưu thông hướng ngoại như có nguồn gốc từ Firewall hơn là từ các hostnội bộ Các proxy server còn thực hiện việc logging (ghi nhật ký hệ thống) vàkiểm tra các lưu thông truyền qua chúng
- Ưu điểm: Firewall mức ứng dụng cung cấp các báo cáo kiểm tra chi tiếthơn và duy trì nhiều mô hình bảo mật hơn so với Firewall mức mạng
- Hạn chế : Thiếu tính trong suốt và dễ hiểu
Trang 6Trong rất nhiều các thiết đặt mạng, một máy tính bất kì của một mạng đãcho có thể “thấy” được lưu thông trên các máy khác ở mạng này Điều này làđúng đối với các công nghệ mạng Ethernet, token ring, FDDI Những kẻ rình
mò có thể biết được mật khẩu bằng cách quan sát các phiên sử dụng chúngtrong Telnet, FTP, rlogin Thậm chí nếu các mật khẩu không được chấp nhận,những kẻ rình mò có thể xem lén nội dung của các file nhạy cảm mà ngườidùng có thể truy cập, các email thú vị mà họ có thể sẽ đọc.v.v
Với một mạng vành đai, nếu ai đó xâm nhập được vào một bastion hosttrên mạng vành đai, hắn có thể sẽ rình mò trên các lưu thông của mạng này Tất
cả các lưu thông ở trên mạng vành đai nên được hướng tới hoặc xuất phát từbastion host, hoặc từ Internet
Bởi vì không có lưu thông hoàn toàn nội bộ nào (lưu thông giữa hai hostnội bộ) truyền qua mạng vành đai Lưu thông nội bộ sẽ được bảo đảm an toànkhỏi các cặp mắt tò mò nếu như bastion host bị phá hoại
Rõ ràng, lưu thông đến và xuất phát từ bastion host hoặc thế giới bênngoài vẫn có thể "thấy" được Phần công việc trong thiết kế một Firewall là bảođảm rằng lưu thông này tự nó đủ bí mật để cho việc đọc nó không phá hoại toàn
bộ hệ thống nội bộ
Trang 7I.2 Bastion Host:
Là một hệ thống đã được củng cố vững chắc để chống lại các vụ tấncông, và được cài đặt trên một mạng với mong muốn vượt qua được các vụ tấncông một cách có hiệu quả Bastion host thường là một thành phần củaFirewall hoặc có thể ở "bên ngoài" các Web server hoặc các hệ thống truy nhậpchung Đối với kiến trúc Screened Subnet, bạn nối một bastion host (hoặc cáchost) với một mạng vành đai Host này là điểm tiếp xúc cho các liên kết đi vào
từ thế giới bên ngoài Ví dụ:
- Cho các phiên email (SMTP) hướng nội phân phát thư điện tử tới site
- Cho các liên kết FTP hướng nội tới server FTP nặc danh của site
- Cho các yêu cầu DNS hướng nội về mạng nội bộ
Các dịch vụ hướng ngoại (từ các client nội bộ đến các server trên Internet) được
Bastion host hoạt động giống như một proxy server đối với các dịch vụkhác nhau, hoặc bằng cách chạy các phần mềm proxy server đặc biệt cho cácgiao thức cụ thể (như HTTP, FTP) hoặc bằng cách chạy các server chuẩn chocác giao thức tự uỷ quyền (như SMTP)
I.3 Router nội bộ(interior Router)
Router nội bộ còn gọi là router nghẹt (choke router), bảo vệ mạng nội bộkhỏi Internet và mạng vành đai Nó thực hiện hầu hết các công việc lọc gói tin
Trang 8cho Firewall của bạn và cho phép các dịch vụ đã qua chọn lọc đi từ mạng nội
bộ ra ngoài, những dịch vụ mà mạng của bạn có thể cung cấp và trợ giúp antoàn bằng cách sử dụng cơ chế lọc gói tin hơn là proxy( sự an toàn phụ thuộccác nhu cầu, khả năng và các ràng buộc của chính bạn) Các dịch vụ được phép
có thể sẽ bao gồm FTP,WAIS, Archie, Gopher
Cần hạn chế các dịch vụ giữa một bastion host và mạng nội bộ để giảmthiểu số máy tính (và đồng thời số dịch vụ trên các máy này) có thể bị tấn công
từ bastion host Bạn cũng nên hạn chế các dịch vụ được phép giữa bastion host
và mạng vành đai thành các dịch vụ cần thiết, như SMTP, DNS Hơn nữa bạnnên hạn chế các dịch vụ bằng cách chỉ cho phép chúng đi tới hoặc đến từ cácliên kết giữa bastion host và server nội bộ Cẩn trọng với tính năng bảo mật hệchủ và các dịch vụ nội bộ, nơi mà có thể được bastion host tiếp xúc, bởi vì cáchost và các dịch vụ này sẽ là những thứ mà kẻ tấn công có thể tính đến nếu nhưhắn ta xâm nhập được vào bastion host của bạn
I.4 Router ngoài (exterior Router)
Về mặt lí thuyết, router ngoài (còn gọi là access router) bảo vệ cả mạngvành đai và mạng nội bộ khỏi Internet Thực tế, các router ngoài cho phép hầuhết các lưu thông truyền từ một mạng vành đai ra ngoài Chúng rất ít khi lọc cácgói tin Có sự giống nhau về các quy tắc lọc gói tin trên router nội bộ và routerngoài Nếu có một lỗi ở trong các quy tắc này cho phép một kẻ tấn công xâmnhập, lỗi đó sẽ thể hiện trên cả hai router
Router ngoài thường được cung cấp bởi nột nhóm ở bên ngoài (ví dụ nhàcung cấp dịch vụ Internet), và các truy nhập của bạn tới đó có thể bị hạn chế.Nhóm bên ngoài này thường duy trì một số ít các quy tắc lọc gói tin, nhưngkhông muốn phức tạp hoá hoặc thường xuyên biến đổi chúng Khi router đó bịxâm phạm , họ cài đặt một cái mới, họ có thể không nhớ cài lại các bộ lọc này
Trang 9và còn cảm thấy phiền toái khi đề cập đến vấn đề thay thế router để nhờ đó màbạn biết để kiểm tra.
Chỉ những qui tắc lọc gói tin thực sự đặc biệt trên router ngoài mới bảo
vệ được các máy trên mạng vành đai (các bastion host và router nội bộ) Tuynhiên, không cần thiết phải bảo vệ nhiều bởi vì các host trên mạng vành đaiđược bảo vệ chủ yếu thông qua bảo mật hệ chủ Các quy tắc còn lại trên routerngoài chính là các bản sao của các quy tắc trên router nội bộ: các quy tắc cấmcác lưu thông không an toàn giữa host nội bộ và Internet Trên lí thuyết routerngoài chỉ cấm các gói tin đã bị cấm bởi router nội bộ rồi Nếu các gói tin đó vẫntồn tại, suy ra hoặc router nội bộ hỏng hoặc ai đó đã liên kết một host khôngmong đợi vào một mạng vành đai
Một trong các nhiệm vụ mà router ngoài thường thực hiện, một nhiệm vụkhông dễ thực hiện ở một nơi khác, đó là cấm các gói tin giả mạo có nguồn gốc
từ Internet Router nội bộ có thể làm như thế nhưng nó không thể nhận biếtđược các gói tin giả mạo có nguồn gốc từ mạng vành đai Router ngoài là mộtbiên giới rõ ràng hơn Router nội bộ cũng có thể không bảo vệ được các hệthống trên mạng vành đai chống lại các gói tin giả mạo
I.5 Packet filtering(Cơ chế lọc gói tin)
Để truyền thông tin qua một mạng, thông tin đó phải được tách thành cácgói nhỏ và được gửi đi một cách hoàn toàn riêng biệt Điều này cho phép nhiều
hệ thống có thể chia sẻ một mạng, tới phiên thì gửi gói tin này đi Trong kỹthuật mạng IP , những gói nhỏ dữ liệu này được gọi là các gói tin Tất cả các dữliệu truyền qua mạng IP đều là các gói tin
Trang 10Để có thể hiểu được cơ chế lọc gói tin, trước tiên bạn phải hiểu được cácgói tin và cách mà nó được kiểm soát trên mỗi tầng của họ giao thức TCP/IP:
- Tầng ứng dụng (FTP,Telnet, HTTP)
- Tầng giao vận (TCP hay UDP)
- Tầng liên mạng (IP)
- Tầng truy nhập mạng (Ethernet, FDDI, ATM )
Ở mỗi tầng các gói tin bao gồm hai phần: phần header và phần thân Phầnheader chứa các thông tin của giao thức ở tầng tương ứng còn phần thân chứa
dữ liệu của tầng đó, thường là toàn bộ gói tin của tâng trước đó Mỗi tầng coicác thông tin mà nó nhận được ở tầng trước như chính dữ liệu của nó và thêmvào đó phần header của chính tầng đó Quá trình bảo quản dữ liệu bằng cáchthêm vào một header mới này được gọi là quá trình bao bọc dữ liệu(encapsulation)
Tại tầng ứng dụng, gói tin chỉ đơn giản bao gồm dữ liệu được truyền (Ví
dụ một phần của một file trong một phiên làm việc của FTP) Khi nó chuyểnđến tầng giao vận, TCP hoặc UDP (User Datagram Protocol) sẽ bảo quản vàgắn vào dữ liệu này một header của nó ở tầng kế, IP coi toàn bộ gói tin (hiệngồm cả dữ liệu ban đầu và phần header của TCP hoặc UDP) như là dữ liệu vàgắn phần IP header của nó vào đó cuối cùng đến tầng kế tiếp Ethernet hay mộtgiao thức mạng khác coi toàn bộ gói tin mà IP chuyển cho nó là dữ liệu và gắnthêm vào đó header của nó Phía bên kia của liên kết, quá trình này được đảongược Khi dữ liệu được truyền từ một tầng lên tầng cao hơn, các header tươngứng với tầng đó sẽ bị cắt ra Đối với cơ chế lọc gói tin, thông tin quan trọng nhấtnằm trong các header của các tầng đó
Trang 111.22 I.5.2 Các thông tin trong header của gói tin
lọc gói tin trong phần header của gói tin ở các tầng khác nhau Các thông tinnày trợ giúp chính cho các quyết định của cơ chế lọc gói tin
- Tầng Ethernet:
Ở tầng này gói tin bao gồm hai phần: phần Ethernet header và phần thânEthernet Nhìn chung bạn sẽ không thể thực hiện được công việc lọc gói tin dựatrên các thông tin trong phần Ethernet header Phần này chứa các thông tin :
- Gói tin này thuộc loại gì ? IP, Apple, Novell, DECNET
- Địa chỉ Ethernet của máy đặt nó vào trong đoạn mạng Ethernet đặc thùnày: là một máy nguồn gốc nếu nó được nối với đoạn mạng này; ngược lại nó sẽ
là một router trước đó trong đường đi từ nguồn tới đây
- Địa chỉ Ethernet của máy đích đến của gói tin này trên đoạn mạngEthernet này: có thể là một máy đích nếu nó được nối với đoạn mạng này;ngược lại nó sẽ là một router kế tiếp trong đường đi từ đây tới đích
- Tầng IP:
Tại tầng IP, gói tin IP được tạo thành từ hai phần là phần IP header và phần thân
IP Nhìn từ quan điểm của cơ chế lọc gói tin, phần IP header chứa các thông tinđáng chú ý :
- Địa chỉ nguồn IP, dài 4 Byte, có dạng x.y.z.t
- Địa chỉ đích IP, như địa chỉ nguồn IP
- Loại giao thức IP, cho biết phần thân gói tin lP là một gói tin TCP hayUDP, một gói tin ICMP hoặc một số loại gói tin khác
- Trường các tuỳ chọn IP, thường là rỗng, là nơi mà các tuỳ chọn nhưđường nguồn IP và các tuỳ chọn an toàn IP sẽ được xác định nếu chúng được sửdụng cho các thông tin đã cho
- Tầng TCP :
Trang 12Gói tin cũng bao gồm hai phần : phần TCP header và phần thân TCP Phần TCPheader có chứa ba loại thông tin đáng chú ý :
nguồn mà gói tin này đi đến
- Cổng TCP đích, như cổng TCP nguồn
- Trường các cờ TCP
Cờ TCP chứa một bit đáng chú ý cho cơ chế lọc gói tin: bit ACK Bằng cáchkiểm tra bit ACK, một router lọc gói tin có thể xác định xem một gói tin có phảigói tin đã khởi tạo một liên kết (bit ACK =0) hay không (bit ACK=1) Bit ACK
là một phần của cơ chế TCP để đảm bảo việc phát dữ liệu Bit ACK được bật(=1) khi nào mà một chiều của liên kết đã nhận được dữ liệu từ chiều kia (xácnhận dữ liệu đã được nhận) Do đó bit ACK của mọi gói tin đi theo cả hai chiều
từ client dến server, trừ gói tin đầu tiên, sẽ được bật
Phần thân TCP chứa dữ liệu thực sự truyền
Là một cơ chế an toàn trên mạng, kiểm soát các dữ liệu vào ra trên mộtmạng dựa trên việc lọc các gói tin Bộ lọc gói tin cho phép hoặc cấm các gói tin,thường là trong lúc truyền chúng từ một mạng sang một mạng khác (thường là
từ Internet đến một mạng nội bộ, hoặc ngược lại) Để thiết lập thao tác lọc góitin, bạn thiết lập một tập các quy tắc xác định loại các gói tin nào không đượcphép Thao tác lọc gói tin có thể có trong một router, một bridge, hoặc trên một
hệ chủ riêng biệt (Đôi khi packet filtering còn được gọi là screening)
Thiết bị cơ bản nối các mạng IP được gọi là router (thiết bị chọn đường, dẫn
đường hay định tuyến) Các gói tin truyền qua một liên mạng từ router đếnrouter cho tới đích Một router phải chọn đường để chuyển gói tin về đến đích.Nhìn chung, một gói tin không chứa các thông tin trợ giúp cho quyết định của
Trang 13tiếp một gói tin về đích của nó, một router thông thường chỉ kiểm tra địa chỉđích của một gói tin để trả lời câu hỏi " Làm thế nào để chuyể tiếp gói tin này?".Một router lọc gói tin còn trả lời câu hỏi " Có nên chuyển tiếp gói tin này haykhông ? " Câu trả lời tuỳ thuộc vào giải pháp an toàn được lập trình cho routerthông qua quy tắc lọc gói tin.
Cơ chế lọc gói tin để bạn kiểm soát (cho phép hoặc cấm) đữ liệu đượctruyền qua dựa trên :
- Loại mã lỗi ICMP trả về
- Giao diện đến của gói tin
- Giao diện đi của gói tin