Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall
Trang 1Mục lục
Lời cảm ơn
Lời nói đầu
Chương 1: Mở đầu
1.1 Lý do chọn đề tài
1.2 Mục tiêu đề tài
1.3 Mục đích
1.4 Nội dung đề tài
Chương 2: Tìm hiểu về Firewall
2.1 Khái niệm tường lửa (Firewall)
2.1.1 Khái niệm Firewall
2.1.2 Đặc điểm của Firewall
2.1.3 Ưu điểm và hạn chế
2.2 Các loại Firewall và cơ chế hoạt động
2.2.1 Bộ lọc gói (Packet Filtering)
2.2.2 Cổng ứng dụng (Application-Level Gateway )
2.2.3 Cổng vòng (Circuit-Level Gateway)
2.3 Những mô hình cơ bản của Firewall
2.3.1 Dual-Homed Host
2.3.2 Kiến trúc Screened Host
2.3.3 Kiến trúc Screened Subnet Host
2.3.4 Sử dụng nhiều Bastion Host
2.3.5 Kiến trúc ghép chung Router trong và Router ngoài
2.4 Hệ thống Proxy
2.4.1 Tác dụng và chức năng
2.4.2 Sự kết nối thông qua Proxy (Proxying)
Trang 22.4.3 Các dạng Proxy
Chương 3: Tìm hiểu Smoothwall Express
3.1 Giới thiệu
3.2 Cài đặt SmoothWall Express
3.2.1 Cấu hình yêu cầu
3.2.2 Các bước cài đặt
3.2.3 Truy câp SmoothWall Express
3.3 Quản trị SmoothWall Express
3.3.1 Tổng quan SmoothWall Express
3.3.2 Kiểm soát Network Traffic
3.3.3 Làm việc với VPN
3.3.4 Sử dụng SmoothWall Express Tools
3.3.5 Sử dụng SmoothWall Express Services
3.3.6 Quản lý Sử dụng SmoothWall Express
3.3.7 Thông tin và bản ghi
Chương 4: Thực nghiệm
4.1 Mô tả, yêu cầu
4.2 Các bước cấu hình
4.3 Cấu hình các luật
4.4 Kiểm tra
Chương 5: Kết luận
5.1 Kết quả đạt được
5.2 Ưu điểm, khuyết điểm
5.3 Hướng phát triển
5.4 Khó khăn
Tài liệu tham khảo
Trang 3Lời cảm ơn
Trước tiên em xin gửi lời cảm ơn chân thành tới thầy Nguyễn Đăng Quang đãtrực tiếp hướng dẫn và tận tình chỉ bảo, truyền đạt kinh nghiệm giúp nhóm hoànthành đề tài
Trong suốt quá trình thực hiện đề tài, nhóm đã nhận được rất nhiều sự hỗ trợ,giúp đỡ từ phía nhà trường và các thầy cô
Cuối cùng, nhóm xin cảm ơn tất cả các bạn trong lớp đã giúp nhóm trongnhững buổi trao đổi về các ý tưởng cũng như công nghệ để phát triển đề tài
Trang 4Lời nói đầu
Trong vai trò là người quản trị hệ thống hay một chuyên gia thiết kế mạng thìvấn đề an ninh cho mạng máy tính luôn đặt lên hàng đầu Tường lửa chính làphương thức giúp chúng ta thực hiện việc này một cách tối ưu nhất Nó ngăn chặncác truy nhập bất hợp pháp từ bên ngoài, và lọc các gói tin ra vào mạng nội bộ
Ngày nay có rất nhiều công cụ tường lửa thương mại cũng như miễn phí vàSmoothwall là một trong những tường lửa miễn phí được đánh giá rất cao từ cộngđồng người sử dụng Tuy miễn phí nhưng Smoothwall mang đầy đủ tính năng củamột tường lửa thương mại
Mục tiêu của đề tài là tìm hiểu về hệ thống tường lửa và phát triển ứng dụng
sử dụng phấn mềm mã nguồn mở Smoothwall Cho đến nay phần mềm này chưađược ứng dụng rộng rãi tại Việt Nam Chính vì thế nhóm muốn tìm hiểu về phânmềm để góp phần phát triển phần mềm mã nguồn mở tại Việt Nam
Trang 5CHƯƠNG 1: MỞ ĐẦU
1.1 Lý do chọn đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của côngnghệ thông tin Sự ra đời của các mạng máy tính và những dịch vụ của nó đã manglại cho con người rất nhiều những lợi ích to lớn, góp phần thúc đẩy nền kinh tế pháttriển mạnh mẽ, đơn giản hóa những thủ tục lưu trữ, xử lý, trao chuyển thông tinphức tạp, liên lạc và kết nối giữa những vị trí, khoảng cách rất lớn một cách nhanhchóng, hiệu quả … Và mạng máy tính đã trở thành yếu tố không thể thiếu đối với sựphát triển của nền kinh tế, chính trị cũng như văn hóa, tư tưởng của bất kỳ quốc giahay châu lục nào Con người đã không còn bị giới hạn bởi những khoảng cách vềđịa lý, có đầy đủ quyền năng hơn để sáng tạo những giá trị mới vô giá về vật chất vàtinh thần, thỏa mãn những khát vọng lớn lao của chính họ và của toàn nhân loại
Cũng chính vì vậy, nếu không có mạng máy tính, hoặc mạng máy tính khôngthể hoạt động như ý muốn thì hậu quả sẽ rất nghiêm trọng Và vấn đề an toàn chomạng máy tính cũng phải được đặt lên hàng đầu khi thiết kế, lắp đặt và sử dụng
Trong quá trình làm tiểu luận tốt nghiệp, được sự đồng ý, hướng dẫn và chỉbảo tận tình của thầy giáo hướng dẫn Nguyễn Đăng Quang , cùng với sự giúp đỡcủa bạn bè, nhóm đã có thêm nhiều điều kiện để tìm hiểu về mạng máy tính, về vấn
đề an toàn trong mạng máy tính và phần mềm tường lửa Smoothwall Đó cũng là đềtài mà chúng em muốn nghiên cứu và trình bày trong tiểu luận tốt nghiệp này
1.2 Mục tiêu đề tài
Mục tiêu nghiên cứu của đề tài này bao gồm các điểm sau:
- Tìm hiểu Firewall
- Tìm hiểu phần mềm mã nguồn mở Smoothwall
- Cài đặt và sử dụng hệ thống tường lửa SmoothWall
Hiểu biết về hệ thống Firewall và có khả năng triển khai một hệ thống
Trang 61.4 Nội dung đề tài
Để hoàn thành mục tiêu, nhóm tập trung nghiên cứu các nội dung chính sauđây:
- Tìm hiểu về hệ thống Firewall: đặc điểm, các thành phần, nguyên lýhoạt động và các mô hình firewall cơ bản
- Tìm hiểu phần mềm Smoothwall: các chức năng và cách cấu hình
- Triển khai Smoothwall trên máy ảo để thực nghiệm
Trang 7CHƯƠNG 2: TÌM HIỂU VỀ FIREWALL
2.1 Khái niệm tường lửa (Firewall)
Để bảo vệ một máy tính hay cho cả một mạng nội bộ (Intranet), người ta sửdụng tường lửa (Firewall) Chức năng của tường lửa là ngăn chặn các truy nhập tráiphé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 tinkhô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
2.4.1 Khái niệm Firewall
Firewall là một cơ chế bảo vệ mạng tin tưởng intranet với các mạng khôngtin tưởng thường là internet Firewall bao gồm các cơ cấu nhằm:
Ngăn chặn truy nhập bất hợp pháp
Kiểm soát thông tin trao đổi từ trong ra và từ Internet vào hệ thốngcục bộ
Ghi nhận và theo dõi thông tin mạng
Trên thực tế, Firewall được thể hiện rất khác nhau: bằng phần mềm hoặcphần cứng chuyên dùng, sử dụng một máy tính hoặc một mạng các máy tính
2.4.2 Đặc điểm
Thông tin giao lưu được theo hai chiều
Chỉ có những thông tin thỏa mãn nhu cầu bảo vể mới được đi qua
Bước đầu tiên trong việc cấu hình Firewall là thiết lập các chích sách:
Những dịch vụ nào cần ngăn chặn
Những host nào cần phục vụ
Mỗi nhóm cần truy nhập những dịch vụ nào
Mỗi dịch vụ sẽ được bảo vệ như thế nào
2.4.3 Ưu điểm và hạn chế
Ưu điểm:
Ngăn chặn thông tin từ bên ngoài (Internet) vào trong mạng được bảo vệ,
Trang 8 Firewall còn là một điểm quan trọng trong chính sách kiểm soát truy nhập.
Nó là “cửa khẩu” duy nhất nối mạng được bảo vệ với bên ngoài, do đó có thểghi nhận mọi cuộc trao đổi thông tin, điểm xuất phát và đích, thời gian, …Firewall có thể phục vụ như một công cụ theo dõi các cuộc tấn công với ý đồxấu từ bên ngoài nhằm dự báo khả năng bị tấn công trước khi cuộc tấn côngxẩy ra
Hạn chế:
Firewall không thể đọc hiểu từng loại thông tin và phân tích nội dung của nó.Firewall chỉ có thể ngăn chặn sự xâm nhập của những nguồn thông tin đã xácđịnh trước
Firewall không thể ngăn chặn một cuộc tấn công nếu cuộc tấn công nàykhông “đi qua” nó, như là sự dò rỉ thông tin do dữ liệu bị sao chép bất hợppháp lên đĩa mềm
Firewall cũng không thể chống lại các cuộc tấn công bằng dữ liệu (data–drivent attack) Khi có một số chương trình được chuyển theo thư điện tử,vượt qua Firewall vào trong mạng được bảo vệ và bắt đầu hoạt động ở đây
Firewall không thể làm nhiệm vụ rà quét virus trên các dữ liệu được chuyểnqua nó, do tốc độ làm việc, sự xuất hiện liên tục của các virus mới và do córất nhiều cách để mã hóa dữ liệu, thoát khỏi khả năng kiểm soát của Firewall(một Ví Dụ là các virus máy tính)
Tuy nhiên, Firewall vẫn là giải pháp hữu hiệu được áp dụng rộng rãi
Một Firewall chuẩn bao gồm một hay nhiều các loại sau đây:
Bộ lọc gói (Packet–Filter)
Cổng ứng dụng (Application–level Gateway hay Proxy Server)
Cổng vòng (Circuite level Gateway)
Trang 92.4.1 Bộ lọc gói (Packet Filtering)
Nguyên lý hoạt động
Hình 1: Sơ đồ làm việc của Packet Filtering
Khi nói đến việc lưu thông dữ liệu giữa các mạng với nhau thông quaFirewall thì điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức TCI/
IP Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ cácứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức(Telnet, SMTP, DNS, SMNP, NFS ) thành các gói dữ liệu (data pakets) rồi gáncho các paket này những địa chỉ để có thể nhận dạng, tái lập lại ở đích cần gửi đến,
do đó các loại Firewall cũng lien quan rất nhiều đến các Packet và những con số địachỉ của chúng
Bộ lọc gói cho phép hay từ chối mỗi Packet mà nó nhận được Nó kiểm tratoàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong sốcác luật lệ của lọc gói hay không Các luật lệ lọc gói này là dựa trên các thông tin ởđầu mỗi Packet (Packet Header), dùng để cho phép truyền các Packet đó ở trênmạng Đó là:
Địa chỉ IP nơi xuất phát ( IP Source address)
Địa chỉ IP nơi nhận (IP Destination address)
Những thủ tục truyền tin (TCP, UDP, ICMP, IP tunnel)
Trang 10 Cổng TCP/UDP nơi nhận (TCP/UDP destination port)
Dạng thông báo ICMP (ICMP message type)
Giao diện Packet đến (Incomming interface of Packet)
Giao diện Packet đi (Outcomming interface of Packet)
Nếu luật lệ lọc gói được thoả mãn thì Packet được chuyển qua Firewall nếukhông Packet sẽ bị bỏ đi Nhờ vậy mà Firewall có thể ngăn cản được các kết nốivào các máy chủ hoặc mạng nào đó được xác định, hoặc khoá việc truy cập vào hệthống mạng nội bộ từ những địa chỉ không cho phép Hơn nữa, việc kiểm soát cáccổng làm cho Firewall có khả năng chỉ cho phép một số loại kết nối nhất định vàocác loại máy chủ nào đó, hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP, FTP )được phép mới chạy được trên hệ thống mạng cục bộ
Ưu điểm
Đa số các hệ thống Firewall đều sử dụng bộ lọc gói Một trong những ưuđiểm của phương pháp dùng bộ lọc gói là chi phí thấp vì cơ chế lọc gói đã được baogồm trong mỗi phần mềm Router
Ngoài ra, bộ lọc gói là trong suốt đối với người sử dụng và các ứng dụng, vìvậy nó không yêu cầu sự huấn luyện đặc biệt nào cả
Hạn chế
Việc định nghĩa các chế độ lọc gói là một việc khá phức tạp; nó đòi hỏingười quản trị mạng cần có hiểu biết chi tiết về các dịch vụ Internet, các dạngPacket Header, và các giá trị cụ thể mà họ có thể nhận trên mỗi trường Khi đòi hỏi
vể sự lọc càng lớn, các luật lệ về lọc càng trở nên dài và phức tạp, rất khó để quản
lý và điều khiển
Do làm việc dựa trên Header của các Packet, rõ ràng là bộ lọc gói khôngkiểm soát được nội dung thông tin của Packet Các Packet chuyển qua vẫn có thểmang theo những hành động với ý đồ ăn cắp thông tin hay phá hoại của kẻ xấu
Trang 112.4.2 Cổng ứng dụng (Application-Level Gateway )
Nguyên lý hoạt động
Đây là một loại Firewall được thiết kế để tăng cường chức năng kiểm soátcác loại dịch vụ, giao thức được cho phép truy cập vào hệ thống mạng Cơ chế hoạtđộng của nó dựa trên cách thức gọi là Proxy Service (dịch vụ đại diện) ProxyService là các bộ code đặc biệt cài đặt trên cổng ra (gateway) cho từng ứng dụng.Nếu người quản trị mạng không cài đặt Proxy code cho một ứng dụng nào đó, dịch
vụ tương ứng sẽ không được cung cấp và do đó không thể chuyển thông tin quaFirewall Ngoài ra, Proxy code có thể được định cấu hình để hỗ trợ chỉ một số đặcđiểm trong ứng dụng mà ngưòi quản trị mạng cho là chấp nhận được trong khi từchối những đặc điểm khác
Một cổng ứng dụng thường được coi như là một pháo đài (Bastion Host), bởi
vì nó được thiết kế đặt biệt để chống lại sự tấn công từ bên ngoài Những biện phápđảm bảo an ninh của một Bastion Host là:
Bastion Host luôn chạy các version an toàn (secure version) của cácphần mềm hệ thống (Operating system) Các version an toàn này đượcthiết kế chuyên cho mục đích chống lại sự tấn công vào hệ điều hành(Operating System), cũng như là đảm bảo sự tích hợp Firewall
Chỉ những dịch vụ mà người quản trị mạng cho là cần thiết mới đượccài đặt trên Bastion Host, đơn giản chỉ vì nếu một dịch vụ không đượccài đặt, nó không thể bị tấn công Thông thường, chỉ một số giới hạncác ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác thựcuser là được cài đặt trên Bastion Host
Bastion Host có thể yêu cầu nhiều mức độ xác thực khác nhau, Ví Dụnhư user password hay smart card
Mỗi Proxy được đặt cấu hình để cho phép truy nhập chỉ một sồ các máy chủnhất định Điều này có nghĩa rằng bộ lệnh và đặc điểm thiết lập cho mỗi Proxy chỉđúng với một số máy chủ trên toàn hệ thống
Trang 12Mỗi Proxy duy trì một quyển nhật ký ghi chép lại toàn bộ chi tiết của giaothông qua nó, mỗi sự kết nối, khoảng thời gian kết nối Nhật ký này rất có ích trongviệc tìm theo dấu vết hay ngăn chặn kẻ phá hoại.
Mỗi Proxy đều độc lập với các proxies khác trên Bastion Host Điều này chophép dễ dàng quá trình cài đặt một Proxy mới, hay tháo gỡ môt Proxy đang có vấnđể
Ưu điểm
Cho phép người quản trị mạng hoàn toàn điều khiển được từng dịch vụ trênmạng, bởi vì ứng dụng Proxy hạn chế bộ lệnh và quyết định những máy chủ nào cóthể truy nhập được bởi các dịch vụ
Cho phép người quản trị mạng hoàn toàn điều khiển được những dịch vụ nàocho phép, bởi vì sự vắng mặt của các Proxy cho các dịch vụ tương ứng có nghĩa làcác dịch vụ ấy bị khoá
Cổng ứng dụng cho phép kiểm tra độ xác thực rất tốt, và nó có nhật ký ghichép lại thông tin về truy nhập hệ thống
Luật lệ filltering (lọc) cho cổng ứng dụng là dễ dàng cấu hình và kiểm trahơn so với bộ lọc gói
Hạn chế
Yêu cầu các users biến đổi (modify) thao tác, hoặc modify phần mềm đã càiđặt trên máy Client cho truy nhập vào các dịch vụ Proxy Ví Dụ, Telnet truy nhậpqua cổng ứng dụng đòi hỏi hai bước để nối với máy chủ chứ không phải là mộtbước thôi Tuy nhiên, cũng đã có một số phần mềm Client cho phép ứng dụng trêncổng ứng dụng là trong suốt, bằng cách cho phép user chỉ ra máy đích chứ khôngphải cổng ứng dụng trên lệnh Telnet
Trang 132.4.3 Cổng vòng (Circuit-Level Gateway)
Hình 2: Kết nối qua cổng vòng(Circuit–Level Gateway)
Cổng vòng là một chức năng đặc biệt có thể thực hiện đươc bởi một cổngứng dụng Cổng vòng đơn giản chỉ chuyển tiếp (relay) các kết nối TCP mà khôngthực hiện bất kỳ một hành động xử lý hay lọc gói nào
Hình 2 minh hoạ một hành động sử dụng nối Telnet qua cổng vòng Cổngvòng đơn giản chuyển tiếp kết nối Telnet qua Firewall mà không thực hiện một sựkiểm tra, lọc hay điều khiển các thủ tục Telnet nào Cổng vòng làm việc như mộtsợi dây, sao chép các byte giữa kết nối bên trong (inside connection) và các kết nốibên ngoài (outside connection) Tuy nhiên, vì sự kết nối này xuất hiện từ hệ thốngFirewall, nó che dấu thông tin về mạng nội bộ
Cổng vòng thường được sử dụng cho những kết nối ra ngoài, nơi mà các nhàquản trị mạng thật sự tin tưởng những người dùng bên trong Ưu điểm lớn nhất làmột Bastion Host có thể được cấu hình như là một hỗn hợp cung cấp cổng ứng dụngcho những kết nối đến, và cổng vòng cho các kết nối đi Điều này làm cho hệ thốngbức tường lửa dễ dàng sử dụng cho những người trong mạng nội bộ muốn trực tiếptruy nhập tới các dịch vụ Internet, trong khi vẫn cung cấp chức năng bức tường lửa
để bảo vệ mạng nội bộ từ những sự tấn công bên ngoài
Trang 142.3 Những mô hình Firewall
Dưới đây sẽ đưa ra một số mô hìnhFirewall cơ bản, các kiến trúc khác có thể
mở rộng từ kiến trúc này tùy theo cấu trúc kết nối của mạng
2.4.1 Dual-Homed Host
Hình 3: Sơ đồ kiến trúc Dual–homed Host
Dual–homed Host là hình thức xuất hiện đầu tiên để bảo vệ mạng nội bộ.Dual–homed Host là một máy tính có hai giao tiếp mạng: một nối với mạng cục bộ
và một nối với mạng ngoài (Internet)
Hệ điều hành của Dual–homed Host được cấu hình để chức năng chuyển cácgói tin (Packet forwarding) giữa hai giao tiếp mạng này không hoạt động Để làmviệc được với một máy trên Internet, người dùng ở mạng cục bộ trước hết phải loginvào Dual–homed Host, và từ đó bắt đầu phiên làm việc
Ưu điểm của Dual–homed Host:
Cài đặt dễ dàng, không yêu cầu phần cứng hoặc phần mềm đặc biệt
Trang 15 Dual–homed Host chỉ yêu cầu cấm khả năng chuyển các gói tin, do vậy,thông thường trên các hệ Unix, chỉ cần cấu hình và dịch lại nhân (Kernel)của hệ điều hành là đủ.
Nhược điểm của Dual–homed Host:
Không đáp ứng được những yêu cầu bảo mật ngày càng phức tạp, cũng nhưnhững hệ phần mềm mới được tung ra thị trường
Không có khả năng chống đỡ những cuộc tấn công nhằm vào chính bản thân
nó, và khi Dual–homed Host đó bị đột nhập, nó sẽ trở thành đầu cầu lý tưởng
để tấn công vào mạng nội bộ
Đánh giá về kiến trúc Dual–homed Host:
Để cung cấp dịch vụ cho những người sử dụng internal network có một sốgiải pháp như sau:
Kết hợp với các Proxy Server cung cấp những Proxy Service
Đăng nhập vào máy dual-homed host bằng account được cấp
Nếu dùng phương pháp cấp account thì rất phiền phức cho người sử dụng vìphải login vào máy khác
Nếu dùng Proxy Server thì khó cung cấp được nhiều dịch vụ vì khả năng đápứng của hệ thống
Một khuyết điểm cơ bản của hai mô hình trên nữa là khi mà máy dual –homed host bị đột nhập vào Người tấn công sẽ thấy hết các lưu thông bêntrong mạng nội bộ
2.4.2 Kiến trúc Screened Host
Kiến trúc này kết hợp 2 kỹ thuật đó là Packet Filtering và Proxy Services
Packet Filtering: Lọc một số loại dịch vụ mà hệ thống muốn cung cấp sửdụng Proxy Server, bắt người sử dụng nếu muốn dùng dịch vụ thì phải kết nối đếnProxy Server mà không được bỏ qua Proxy Server để nối trực tiếp với mạng bêntrong/bên ngoài (internal/external network), đồng thời có thể cho phép Bastion Host
mở một số kết nối với internal/external host
Trang 16Proxy Service: Bastion Host sẽ chứa các Proxy Server để phục vụ một sốdịch vụ hệ thống cung cấp cho người sử dụng qua Proxy Server.
Hình 4: Sơ đồ kiến trúc Screened Host
Ưu, khuyết điểm của kiến trúc Screened Host
Kiến trúc screened host hay hơn kiến trúc dual–homed host ở một số điểm cụthể sau:
Dual–Homed Host: Khó có thể bảo vệ tốt vì máy này cùng lúc cung cấpnhiều dịch vụ, vi phạm qui tắc căn bản là mỗi phần tử hay thành phần nêngiữ ít chức năng nếu có thể được (mỗi phần tử nên giữ ít chức năng càng tốt),cũng như tốc độ đáp ứng khó có thể cao vì cùng lúc đảm nhận nhiều chứcnăng
Screened Host: Đã tách chức năng lọc các gói IP và các Proxy Server ở haimáy riêng biệt Packet Filtering chỉ giữ chức năng lọc gói nên có thể kiểmsoát, cũng như khó xảy ra lỗi (tuân thủ qui tắc ít chức năng) Proxy Serversđược đặt ở máy khác nên khả năng phục vụ (tốc độ đáp ứng) cũng cao
Cũng tương tự như kiến trúc Dual–Homed Host khi mà Packet Filteringsystem cũng như Bastion Host chứa các Proxy Server bị đột nhập vào (người
Trang 17tấn công đột nhập được qua các hàng rào này) thì lưu thông của internalnetwork bị người tấn công thấy.
Từ khuyết điểm chính của 2 kiến trúc trên ta có kiến trúc thứ 3 sau đây khắcphục được phần nào khuyết điểm trên
2.4.3 Kiến trúc Screened Subnet Host
Hình 5: Sơ đồ kiến trúc Screened Subnet Host
Với kiến trúc này, hệ thống này bao gồm hai Packet–Filtering Router và mộtBastion Host (hình 5) Kiến trúc này có độ an toàn cao nhất vì nó cung cấp cả mứcbảo mật: Network và Application trong khi định nghĩa một mạng perimeternetwork Mạng trung gian(DMZ) đóng vai trò như một mạng nhỏ, cô lập đặt giữaInternet và mạng nội bộ Cơ bản, một DMZ được cấu hình sao cho các hệ thống trênInternet và mạng nội bộ chỉ có thể truy nhập được một số giới hạn các hệ thống trênmạng DMZ, và sự truyền trực tiếp qua mạng DMZ là không thể được
Với những thông tin đến, Router ngoài(Exterior Router) chống lại những sựtấn công chuẩn (như giả mạo địa chỉ IP), và điều khiển truy nhập tới DMZ Nó chỉcho phép hệ thống bên ngoài truy nhập Bastion Host Router trong (Interior Router)
Trang 18cung cấp sự bảo vệ thứ hai bằng cách điều khiển DMZ truy nhập mạng nội bộ chỉvới những truyền thông bắt đầu từ Bastion Host.
Với những thông tin đi, Router trong điều khiển mạng nội bộ truy nhập tớiDMZ Nó chỉ cho phép các hệ thống bên trong truy nhập Bastion Quy luật Filteringtrên Router ngoài yêu cầu sử dụng dịch vụ Proxy bằng cách chỉ cho phép thông tin
ra bắt nguồn từ Bastion Host
Ưu điểm:
Có ba tầng bảo vệ: Router ngoài, Bastion Host và Router trong
Router ngoài chỉ quảng bá DMZ Network tới Internet, hệ thống mạng nội bộ
là không thể nhìn thấy (invisible) Chỉ có một số hệ thống đã được chọn ratrên DMZ là được biết đến bởi Internet qua routing table và DNSinformation exchange (Domain Name Server)
Router trong chỉ quảng bá DMZ Network tới mạng nội bộ, các hệ thốngtrong mạng nội bộ không thể truy nhập trực tiếp vào Internet Điều nay đảmbảo rằng những user bên trong bắt buộc phải truy nhập Internet qua dịch vụProxy
Đánh giá kiến trúc Screened Subnet Host:
Đối với những hệ thống yêu cầu cung cấp dịch vụ nhanh, an toàn cho nhiềungười sử dụng đồng thời cũng như khả năng theo dõi lưu thông của mỗingười sử dụng trong hệ thống và dữ liệu trao đổi giữ các người dùng trong hệthống cần được bảo vệ thì kiến trúc cơ bản trên phù hợp
Để tăng độ an toàn trong internal network, kiến trúc screen subnet ở trên sửdụng thêm một mạng DMZ (DMZ hay perimeter network) để che phần nàolưu thông bên trong internal network Tách biệt internal network với Internet
Sử dụng 2 Screening Router : Exterior Router và Interior Router
Áp dụng qui tắc dư thừa có thể bổ sung thêm nhiều mạng trung gian (DMZhay perimeter network) càng tăng khả năng bảo vệ càng cao
Trang 19 Ngoài ra, còn có những kiến trúc biến thể khác như: sử dụng nhiều BastionHost, ghép chung Router trong và Router ngoài, ghép chung Bastion Host vàRouter ngoài.
2.4.4 Sử dụng nhiều Bastion Host
Do các yêu cầu về tốc độ đáp ứng (performance) và dư thừa (redundancy),cũng như tách biệt các Servers khác nhau
Sử dụng 1 Bastion Host cung cấp những dịch vụ cho người sử dụng bêntrong (internal user), như dịch vụ SNMP Server, Proxy Servers …
Sử dụng một Bastion Host khác dịch vụ cho Internet hoặc những người sửdụng bên ngoài cung cấp (external user) sẽ sử dụng Như là Anonymous FTP Server
mà Server này những người sử dụng bên trong( local users) không truy xuất đến
Hình 6: Sơ đồ kiến trúc sử dụng 2 Bastion Host
Với cách này thì tốc độ đáp ứng cho những người sử dụng bên trong (localuser) một phần nào đó không bị ảnh hưởng (bị làm chậm đi) bởi hoạt động củanhững người sử dụng bên ngoài (external users)
Trang 20Cũng có thể sử dụng nhiều Bastion Host mà cung cấp cho 1 dịch vụ nào đó
để tăng tốc độ đáp ứng (performance), nhưng việc này cũng khó cân bằng tải giữacác Server trừ khi đoán trước được mức độ sử dụng
Việc sử dụng kỹ thuật dư thừa để đảm bảo tính sẵn sàng cao của hệ thống, đểkhi mà một Bastion Host hỏng thì có cái khác thay thế Nhưng chỉ có một số loạidịch vụ trợ giúp dạng này: DNS Server, SMTP Server, có thể dùng nhiều BastionHost làm DNS Server , SMTP Server Khi một Bastion Host hỏng hoặc quá tải,những yêu cầu về DNS Server và SNMP sẽ được dùng qua Bastion Host khác như
Ví Dụ : Tách HTTP Server và FTP Server trên 2 máy riêng biệt
2.4.5 Kiến trúc ghép chung Router trong và Router ngoài
Sử dụng kiến trúc này thì cần tăng tốc độ của máy làm Router
Hình 7: Sơ đồ kiến trúc ghép chung Router trong và Router ngoài
Kiến trúc này gần giống với Screened Host trong trường hợp khi mà exterior/interior Router bị đột nhập vào thì lưu thông trong mạng bên trong sẽ bị lộ ra bên
Trang 21ngoài nhưng tốt hơn Screened Host đó là nó cũng sử dụng thêm một mạng bênngoài Mạng bên ngoài sẽ chứa các Server có thể nối ra Internet mà nếu các Servernày bị đột nhập thì lưu thông của mạng bên trong cũng không bị lộ ra bên ngoài.Kiến trúc này cũng gần giống với Screened Subnet nhưng mà exterior Router vàinterior Router được ghép chung nên nó giảm đi số lớp bảo vệ Nói chung, kiến trúcghép chung interior Router và exterior Router ở trung gian giữa hai kiến trúc này.
2.4 Hệ thống Proxy
Proxy cung cấp cho người sử dụng truy xuất Internet với những host đơn.Những Proxy Server phục vụ những nghi thức đặc biệt hoặc một tập những nghithức thực thi trên dual–homed host hoặc Bastion Host Những chương trình Clientcủa người sử dụng sẽ qua trung gian Proxy Server thay thế Server thật sự mà người
sử dụng cần giao tiếp
Proxy Server xác định những yêu cầu từ Client và quyết định đáp ứng haykhông đáp ứng, nếu yêu cầu được đáp ứng, Proxy Server sẽ kết nối đến Server thậtthay cho Client và tiếp tục chuyển tiếp những yêu cầu từ Client đến Server, cũngnhư chuyển tiếp những đáp ứng của Server trở lại Client Vì vậy Proxy Server giốngnhư cầu nối trung gian giữa Server thật và Client
in vào dual–homed host, thực hiện tất cả những công việc ở đây, và sau đó bằngphương pháp nào đó chuyển đổi những kết quả đạt được của công việc trở lạiworkstation sở hữu
Trang 22Điều này trở nên rất tồi tệ ở những hệ thống với nhiều hệ điều hành khácnhau (Ví dụ trong trường hợp nếu hệ thống là Macintosh nhưng riêng dual–homedhost là hệ thống Unix).
Khi dual homed host được thiết kế trên mô hình không có Proxy, điều đó sẽkhiến cho người sử dụng thêm bực bội và đáng chú ý hơn là làm giảm đi những tiệních mà Internet cung cấp, tồi tệ hơn là chúng thường không cung cấp an toàn mộtcách đầy đủ, khi một máy gồm nhiều người sử dụng tất nhiên độ an toàn của nó sẽgiảm, đặc biệt khi họ cố gắng nắm bắt với vạn vật bên ngoài
Proxy System giúp người sử dụng thoải mái hơn và an toàn cho dual–homedhost, thay thế những yêu cầu của người sử dụng bằng cách gián tiếp thông quadual–homed host Hệ thống Proxy cho phép tất cả những tương tác nằm dưới mộthình thức nào đó Người sử dụng có cảm giác trực tiếp làm việc với Server trênInternet mà họ thật sự muốn truy xuất
Hình 8 : Kết nối sử dụng Application–Level Gateway
Proxy Application chính là chương trình trên application–level gatewayFirewall hành động trên hình thức chuyển đổi những yêu cầu người sử dụng thôngqua Firewall, tiến trình này được thực hiện trình tự như sau:
Thành lập một kết nối đến Proxy application trên Firewall
Trang 23 Proxy Application thu nhập thông tin về việc kết nối và yêu cầu của người sửdụng
Sử dụng thông tin để xác định yêu cầu có được chấp nhận không, nếu chấpnhận, Proxy sẽ tạo sự kết nối khác từ Firewall đến máy đích
Sau đó thực hiện sự giao tiếp trung gian, truyền dữ liệu qua lại giữa Client vàServer
Proxy System giải quyết được rủi ro trên hệ thống bởi tránh người sử dụnglog in vào hệ thống và ép buộc thông qua phần mềm điều khiển
2.4.2 Kết nối thông qua Proxy (Proxying)
Proxying được thực hiện khác nhau với từng dịch vụ, có một vài dịch vụ dễdàng cài đặt hoặc tự động, nhưng vài dịch vụ lại rất khó khăn Tuy nhiên hầu hếtcác dịch vụ đều yêu cầu những phần mềm Proxy Server và Client tương ứng
Hình 9: Kết nối giữa người dùng (Client) với Server qua Proxy
Trang 24Dạng kết nối trực tiếp
Phương pháp đầu tiên được sử dụng trong kỹ thuật Proxy là cho người sửdụng kết nối trực tiếp đến Firewall Proxy, sử dụng địa chỉ của Firewall và sốcổng của Proxy, sau đó Proxy hỏi người sử dụng cho địa chỉ của host hướngđến, đó là một phương pháp brute force sử dụng bởi Firewall một cách dễdàng, và đó cũng là một vài nguyên nhân tại sao nó là phương pháp ít thíchhợp
Trước tiên, yêu cầu người sử dụng biết địa chỉ của Firewall, kế tiếp nó yêucầu người sử dụng nhập vào hai địa chỉ cho mỗi sự kết nối: Địa chỉ củaFirewall và địa chỉ của đích hướng đến Cuối cùng nó ngăn cản những ứngdụng hoặc những nguyên bản trên máy tính của người sử dụng điều đó tạo ra
sự kết nối cho người sử dụng, bởi vì chúng sẽ không biết như thế nào điềukhiển những yêu cầu đặc biệt cho sự truyền thông với Proxy
Dạng thay đổi Client
Phương Phương pháp kế tiếp sử dụng Proxy setup phải thêm vào những ứngdụng tại máy tính của người sử dụng Người sử dụng thực thi những ứngdụng đặc biệt đó với việc tạo ra sự kết nối thông qua Firewall Người sửdụng với ứng dụng đó hành động chỉ như những ứng dụng không sửa đổi.Người sử dụng cho địa chỉ của host đích hướng tới Những ứng dụng thêmvào biết được địa chỉ Firewall từ file config cục bộ, set up sự kết nối đến ứngdụng Proxy trên Firewall, và truyền cho nó địa chỉ cung cấp bởi người sửdụng Phương pháp này rất có hiệu quả và có khả năng che dấu người sửdụng, tuy nhiên, cần có một ứng dụng Client thêm vào cho mỗi dịch vụ mạng
là một đặc tính trở ngại
Proxy vô hình
Một số phương pháp phát triển gần đây cho phép truy xuất đến Proxy, trongvài hệ thống Firewall được biết như Proxy vô hình Trong mô hình này,không cần phải có những ứng dụng thêm vào với người sử dụng và khôngphải kết nối trực tiếp đến Firewall hoặc biết rằng Firewall có tồn tại Sử dụng
Trang 25sự điều khiển đường đi cơ bản, tất cả sự kết nối đến mạng bên ngoài được chỉđường thông qua Firewall Như những Packet nhập vào Firewall, tự độngchúng được đổi hướng đến ứng dụng Proxy đang chờ Theo hướng này,Firewall thực hiện rất tốt trong việc giả như host đích Khi kết nối được tạo
ra Firewall Proxy, Client nghĩ rằng nó được kết nối với Server thật Nếuđược phép Proxy sau đó tạo kết nối thứ hai đến Server thật
Trang 263.1 Giới thiệu
SmoothWall Express là một tường lửa mã nguồn mở hoạt động trên các bảnphân phối của hệ điều hành GNU/Linux SmoothWall được cấu hình thông quaWeb và không đòi hỏi người sử dụng phải biết về Linux để cài đặt và sử dụng
SmoothWall Express cho phép bạn dễ dàng xây dựng một bức tường lửa kếtnối bảo mật một mạng máy tính đến Internet
Hình 1: Mô hình mạng sử dụng Smoothwall
3.2 Cài đặt SmoothWall Express
3.2.1 Cấu hình yêu cầu
Cấu hình tối thiểu đề nghị để cài đặt SmoothWall Express:
Phần cứng Thông tin
Vi xử lý Intel Pentium 200
Đĩa cứng 2Gb còn trống, hỗ trợ IDE và SCSI
Card mạng Hỗ trợ card mạng NIC
Trang 27Không cài đặt SmoothWall trên máy chính hay là máy trạm duy nhất vì tất cả
dữ liệu trên máy trạm sẽ bị mất Trước khi cài đặt cần bảo chắc rằng tất cả dữ liệu
đã được sao lưu
Các màn hình thông báo xuất hiện, Nhấn Enter để tiếp tục
Một hộp thoại vế chính sách bảo mật xuất hiện
Hình 2: Hộp thoại về chích sách bảo mật
Chọn chích sách phù hợp với yêu cầu của mạng rồi OK
Một menu cấu hình mạng xuất hiện
Hình 3: Menu cấu hình mạng
Chọn Network configuration type rồi OK
Trang 28Hình 4: Hộp thoại cấu hình mạng
GREEN: tương ứng với mạng LAN
RED: tương ứng với mạng Internet
ORANGE: tương ứng với vùng DMZ
PURPLE: tương ứng với mạng Wireless
Chọn mạng phù hợp với yêu cầu rồi OK
Sau khi cấu hình thông tin cho các card mạng, các hợp thoại về passwordxuất hiện
Đặt password cho root và admin Kết thúc quá trình cài đặt
Trang 293.2.3 Truy cập SmoothWall
Sử dụng một trình duyệt Internet bất kỳ từ máy trạm truy cập vào địa chỉ củaSmoothwall, ví dụ: https://10.0.0.1:441 nhập vào username và password mà bạn đãcài đặt Trang chủ mặt định xuất hiện
Hình 5: Trang chủ mặc định của Smoothwall
3.3 Quản trị SmoothWall Express
Status Thông tin trạng thái
advanced Hiển thị thông tin bộ nhớ, đĩa cứng sử dụng, phần cứng
Trang 30bandwidth bars Hiển thị thời gian sử dụng băng thông
traffic monitor Hiển thị thời gian sử dụng băng thông gần đầy
my smoothwall Hiển thị thông tin phát triển của SmoothWall, cho
phép tùy chọn và đăng ký SmoothWall
incoming Đặt các luật để kiểm soát truy cập của các máy từ
Internet vào mạng nội bộoutgoing Tại đây có thể đặt các quy tắc để kiểm soát truy cập
của các máy client ra Internetinternal Tạo các luật để mạng Orange và Purple có thể giao tiếp
với mạng Greenexternal access Thiết lập các kết nối từ máy bên ngoài đến
SmoothWall
ip block Khóa một địa chỉ IP hay một mạng
timed access Cấu hình thời gian cho phép máy Client truy cập mạng
bên ngoàiqos Tại đây có thể ưu tiên các loại lưu thông đặc biệt
advanced Tại đây có thể năng cao tính năng mạng
ppp settings Cấu hình các kết nối đến modem, ADSL and ISDN
nterfaces Ở đây cấu hình IP, DNS, gateway cho các card NIC
control Quản lý các kết nối VPN
connections Cho phép tạo, chỉnh sửa và quản lý các kết nối VPN
Trang 31ip information Cho phép tra cứu trên địa chỉ IP hay tên miền
ip tools Cho phép chạy ping và tracerouter để chuẩn đoán
mạngshell Cho phép kết nối đến Smoothwall sử dụng một Java
firmware
Tại đây có thể upload firmware để kích hoạtSmoothWall sử dụng the Alcatel/ThomsonSpeedtouch Home USB ADSL modem
passwords Đây là nơi quản lý các mật khẩu
backup Tại đây có thể sao lưu cài đặt của bạn
preferences Cấu hình Smoothwall sử dụng giao diện
shutdown Bạn có thể shutdown hay reboot máy Firewall
3.3.2 Kiểm soát lưu lượng mạng
a) Port Forwarding Incoming Traffic
SmoothWall Express, mặc định khóa tất cả các traffic đến từ red interface.Các traffic muốn được chấp nhận thì phải cấu hình các luật
Để tạo một luật trong Smoothwall ta vào Networking > incoming
Trang 32Hình 7: Trang cấu hình incoming
range
Chọn port của IP nguồn trong menu, hoặc hoặc chọnUser defined
Port Nếu chọn User defined, thì nhập vào một port nguồn
Destination IP Xác định địa chỉ IP đích nơi các traffic được chuyển
đếnDestination port Chọn port của IP đích trong menu, hoặc chọn User
definedPort Nếu chọn User defined, thì nhập vào một port đích
Comment Viết ghi chú cho luật
Enabled Chọn để kích hoạt luật
Chọn Add để luật có hiệu lực ngay lập tức, Luật sẽ được thêm vào bêndưới
Trang 33Cấu hình cho phép hay cấm hoặc giới hạn việc truy cập Internet trên mỗivùng mạng nội bộ
Để tạo một luật truy cập Internet vào Networking > outgoing
Hình 8: Trang cấu hình outgoing
Blocked with exceptions
Allowed with exceptionsChọn Save để lưu
Interface Chọn vùng mạng muốn cấu hình: GREEN, PURPLEApplication or
service(s)
Chọn một chương trình hay dịch vụ hay User defined
Port Enter port nếu chọn User defined
Comment Viết ghi chú cho luật
Enabled Chọn để kích hoạt luật
Chọn Add để luật có hiệu lực ngay lập tức, Luật sẽ được thêm vào bên
Trang 34c) Controlling Internal Traffic
Cấu hình cho phép các host trong mạng orange, mạng purple và mạnggreen có thể liên lạc với nhau
Để cấu hình lưu thông nội bộ vào Networking > internal
Hình 9: Cấu hình luu thông mạng nội bộ
Các cấu hình cài đặt
Source IP Địa chỉ IP của máy chủ trong DMZ(mạng cam) có
nhu cầu giao tiếp với mạng LAN(mạng xanh)
Destination IP Địa chỉ IP đích cúa mạng LAN(mạng xanh)
Application or
service(s)
Chọn trong menu thả xuống một chương trình haymột dịch vụ
Destination port Xác định port của mạng đích
Enabled Chọn để kích hoạt luật
Chọn Add để luật có hiệu lực ngay lập tức, Luật sẽ được thêm vào bên
dưới
d) Managing Access to Services
Cấu hình để thiết lập một danh sách cho phép quản trị SmoothWall từ cácmáy tính bên ngoài thông qua địa chỉ IP hay potr trên mạng đỏ
Để quản lý truy cập dịch vụ Networking > external access
Trang 35Hình 10: Trang cấu hình external access
Destination port Nhập port được chấp nhận, tất cả các port khác sẽ bị
khóa(HTTPS: 441, SSH: 222)
Enabled Chọn để kích hoạt luật
Chọn Add để luật có hiệu lực ngay lập tức, Luật sẽ được thêm vào bên
dưới
e) Selectively Blocking IPs Addresses
Cấu hình để chặn bất kỳ một IP truy cập vào SmoothWall
Để chặn địa chỉ IP vào Networking > ip block
Trang 36Hình 11: Trang cấu hình khóa địa chỉ IP
Các cấu hình cài đặt
Source IP or
network
Nhập một địa chỉ IP hoặc mạng muốn chặn
Drop packet Chọn để hủy gói tin
Reject packet Trong chế độ này một một thông báo ICMP từ chối
kết nối sẽ được gửi đến các IP nguồn
Enabled Chọn để kích hoạt luật
Chọn Add để luật có hiệu lực ngay lập tức, Luật sẽ được thêm vào bên
dưới
f) Configuring Timed Access to the Internet
SmoothWall Express có thể cho phép hoặc không cho phép truy cậpInternet tại những thời điểm nhất định trong ngày, cho một nhóm máy Client
Để cấu hình thời gian truy cập Internet vào Networking > timed access