Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
Mụ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)............................................
2.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.........................................................................
Cuối cùng, nhóm xin cảm ơn tất cả các bạn trong lớp đã giúp nhóm trong những
buổi trao đổi về các ý tưởng cũng như công nghệ để phát triển đề tài
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 2
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
Lờ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ặn cá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ủa
một tường lửa thương mại.
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 3
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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ân mềm để
góp phần phát triển phần mềm mã nguồn mở tại Việt Nam.
CHƯƠ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ông
nghệ 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ó đã mang
lạ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át
triển mạnh mẽ, đơn giản hóa những thủ tục lưu trữ, xử lý, trao chuyển thông tin phứ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 nhanh chó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 gia hay
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 4
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
Để 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á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
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
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ông tin
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ống cụ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ặc phầ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
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 6
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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ệ,
trong khi cho phép người sử dụng hợp pháp truy nhập tự do mạng bên ngoài
• 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
Firewall thì điều đó có nghĩa rằng Firewall hoạt động chặt chẽ với giao thức
TCI/IP. Vì giao thức này làm việc theo thuật toán chia nhỏ các dữ liệu nhận được từ
các ứng dụng trên mạng, hay nói chính xác hơn là các dịch vụ chạy trên các giao thức
(Telnet, SMTP, DNS, SMNP, NFS ...) thành các gói dữ liệu (data pakets) rồi gán cho
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ố địa chỉ 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 tra
toàn bộ đoạn dữ liệu để quyết định xem đoạn dữ liệu đó có thoả mãn một trong số
các luật lệ của lọc 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ên
mạ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)
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 8
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
• Cổng TCP/UDP nơi xuất phát (TCP/UDP source port)
• 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ếu
không Packet sẽ bị bỏ đi. Nhờ vậy mà Firewall có thể ngăn cản được các kết nối vào
các máy chủ hoặc mạng nào đó được xác định, hoặc 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ác cổng làm
cho Firewall có khả năng chỉ cho phép một số loại kết nối nhất định vào các loại
máy chủ nào đó, hoặc chỉ có những dịch vụ nào đó (Telnet, SMTP, FTP...) được phép
mới chạy được trên hệ thống mạng cục bộ.
Ưu điểm
• Bastion Host luôn chạy các version an toàn (secure version) của các
phần mềm hệ thống (Operating system). Các version an toàn này được
thiết kế chuyên cho mục đích chống lại sự tấn công vào 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 được
cài đặt trên Bastion Host, đơn giản chỉ vì nếu một dịch vụ không được
cài đặt, nó không thể bị tấn công. Thông thường, chỉ một số giới hạn
các ứng dụng cho các dịch vụ Telnet, DNS, FTP, SMTP và xác thực
user là được cài đặt trên Bastion Host.
• Bastion Host có thể yêu cầu nhiều mức độ xác thực khác nhau, Ví Dụ
như user password hay smart card.
Mỗi Proxy được đặ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.
Mỗi Proxy duy trì một quyển nhật ký ghi chép lại toàn bộ chi tiết của giao
thông qua nó, mỗi sự kết nối, khoảng thời gian kết nối. Nhật ký này rất có ích trong
việc tìm theo dấu vết hay ngăn chặn kẻ phá hoại.
Mỗi Proxy đều độc lập với các proxies khác trên Bastion Host. Điều này cho
phép dễ dàng quá trình cài đặt một Proxy mới, hay tháo gỡ môt Proxy đang có vấn
để.
Ưu điểm
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 10
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
Cho phép người quản trị mạng hoàn toàn điều khiển được từng dịch vụ trên
mạng, bởi vì ứng dụng Proxy hạn chế bộ lệnh và quyết định những máy chủ nào có
thể truy nhập được bởi các dịch vụ
Cho phép người quản trị mạng hoàn toàn điều khiển được những dịch vụ nào
cho phép, bởi vì sự vắng mặt của các Proxy cho các dịch vụ tương ứng có nghĩa là
các dịch vụ ấy bị khoá
Cổng ứng dụng cho phép kiểm tra độ xác thực rất tốt, và nó có nhật ký ghi
2.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
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 12
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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ác
gói tin (Packet forwarding) giữa hai giao tiếp mạng này không hoạt động. Để làm
việ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 login
và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.
• 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.
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 13
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
• 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:
soá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 Filtering
system cũng như Bastion Host chứa các Proxy Server bị đột nhập vào (người
tấn công đột nhập được qua các hàng rào này) thì lưu thông của internal
network 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ắc
phục được phần nào khuyết điểm trên.
2.4.3 Kiến trúc Screened Subnet Host
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 15
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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ột
Bastion Host (hình 5). Kiến trúc này có độ an toàn cao nhất vì nó cung cấp cả mức
bảo mật: Network và Application trong khi định nghĩa một mạng perimeter network.
Mạng trung gian(DMZ) đóng vai trò như một mạng nhỏ, cô lập đặt giữa Internet 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ên Internet 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ên mạ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)
cung 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ới
DMZ. Nó chỉ cho phép các hệ thống bên trong truy nhập Bastion. Quy luật Filtering
trê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:
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 16
mà Server này những người sử dụng bên trong( local users) không truy xuất đến.
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 17
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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 (local
user) một phần nào đó không bị ảnh hưởng (bị làm chậm đi) bởi hoạt động của những
người sử dụng bên ngoài (external users).
Cũ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ữa cá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ại dịch
vụ trợ giúp dạng này: DNS Server, SMTP Server, ... có thể dùng nhiều Bastion Host
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ư là một
fallback system.
Sử dụng nhiều Bastion Host trong trường hợp muốn cung cấp dịch vụ cho
nhiều mạng khác nhau, và loại dữ liệu cung cấp cho mỗi mạng cũng khác nhau.
Sử dụng nhiều Bastion Host cho các Server khác nhau để khi mà một Server
nào đó bị đột nhập vào hay bị hỏng thì Server khác vẫn hoạt động tốt.
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
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 18
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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 ngoài nhưng tốt hơn Screened Host đó là nó cũng sử dụng thêm một mạng bên
ngoài. Mạng bên ngoài sẽ chứa các Server có thể nối ra Internet mà nếu các Server
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ột
cá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–homed
host, 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 qua dual–
homed host. Hệ thống Proxy cho phép tất cả những tương tác nằm dưới một hì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ên Internet
mà họ thật sự muốn truy xuất.
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 20
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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 gateway
Firewall hành động trên hình thức chuyển đổi những yêu cầu người sử dụng thông
qua 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.
• 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ấp
nhậ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ụng log
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)
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 21
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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ễ
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, trong
và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ông phả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 sự đ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ự động chú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.
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 23
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
CHƯƠNG 3: TÌM HIỂU SMOOTHWALL
3.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ản
phân phối của hệ điều hành GNU/Linux. SmoothWall được cấu hình thông qua Web
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ết nối
bảo mật một mạng máy tính đến Internet
Tìm hiểu và xây dựng hệ thống Firewall mã nguồn mở sử dụng Smoothwall 24
Trường Đại học Sư Phạm Kỹ Thuật Tp.HCM Tiểu luận chuyên ngành
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
Ram 128 Mb
Đĩa cứng 2Gb còn trống, hỗ trợ IDE và SCSI