Loại tường lửa này nằm ở Lớp3 và Lớp 4 của mô hình Kết nối Hệ thống mở OSI Một trong những chức năng đi kèm với tường lửa trạng thái là khả năng ngănchặn lưu lượng độc hại xâm nhập hoặc
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
BÁO CÁO MÔN HỌC
CƠ SỞ AN TOÀN THÔNG TIN
Đề tài:
XÂY DỰNG HỆ THỐNG PHÁT HIỆN CHỐNG XÂM NHẬP DỰA
VÀO FIREWALL IPTABLES VÀ IDS SNORT
Sinh viên thực hiện: NGUYỄN HOÀNG ANH AT160504
NGUYỄN THANH HẢI AT160221NHÓM 2
Giảng viên hướng dẫn: TS NGUYỄN NGỌC TOÀN
Hà Nội, 9-2022
Trang 3DANH MỤC KÍ HIỆU VÀ TỪ NGỮ VIẾT TẮT
tuyến thời gian thực
Trang 4chỉ
Trang 5LỜI MỞ ĐẦU
Trong thời đại ngày nay, Internet phát triển mạnh mẽ, nhu cầu kết nối, chia sẻ, traođổi dữ liệu trên mạng dần trở thành một phần thiết yếu trong cuộc sống Kèm theo đó sựgia tăng các vụ tấn công mạng và xâm nhập cơ sở dữ liệu đang gia tăng nhanh chóng vớicác cách thức tinh vi và khó lường Vì vậy, vấn đề bảo mật mạng đã trở nên quan trọnghơn đối với người dùng máy tính cá nhân, các tổ chức và quân sự
Theo Báo cáo Rủi ro Toàn cầu năm 2019 của Diễn đàn Kinh tế Thế giới, các cuộc tấncông an toàn, an ninh mạng hiện nằm trong số những rủi ro hàng đầu trên toàn cầu Cáccuộc tấn công mạng có thể dẫn đến thiệt hại hàng tỷ đô la trong lĩnh vực kinh doanh, đặcbiệt là khi máy chủ của ngân hàng, bệnh viện, nhà máy điện và thiết bị thông minh bịxâm nhập Điều này có thể dẫn đến những thiệt hại nghiêm trọng thay vì hỗ trợ sự pháttriển kinh tế, xã hội Việc xuất hiện của các công nghệ bảo mật trở thành mối quan tâmlớn của bảo mật mạng Nhiều doanh nghiệp tự bảo mật bằng tường lửa và cơ chế mã hóa
để giảm thiểu các cuộc tấn công có thể được gửi qua mạng
Nhận thấy tầm quan trọng cũng như xu hướng phát triển trong tương lai và được sựhướng dẫn của thầy Nguyễn Ngọc Toàn, chúng em đã nghiên cứu đề tài: “Tìm hiểu và sosánh tính năng của một số loại tường lửa” Đề tài trình bày những vấn đề tổng quan vềtường lửa, một số loại tường lửa phổ biến, tường lửa Iptables, tường lửa Pfsense vớinhững nội dung như sau:
Chương 1: Giới thiệu về tường lửa và so sánh một số loại tường lửa phổ biếnChương 2: Tổng quan về tường lửa Iptables và tường lửa Pfsense
Chương 3: Triển khai xây dựng tường lửa Iptables và tường lửa Pfsense
Kết luận và hướng phát triển
Trang 6CHƯƠNG 1 GIỚI THIỆU VỀ TƯỜNG LỬA VÀ SO SÁNH MỘT SỐ LOẠI
TƯỜNG LỬA PHỔ BIẾN
1.1 Tổng quan về tường lửa
Trong phần này chúng em dự định trình bày về khái niệm, tác dụng, cấu trúc, cũngphân loại tường lửa
1.1.1 Khái niệm về tường lửa
Thuật ngữ tường lửa (firewall) là từ mượn trong kỹ thuật thiết kế xây dựng nhằm
để ngăn chặn, hạn chế hoả hoạn Trong lĩnh vực công nghệ thông tin, firewall là kỹthuật được tích hợp vào hệ thống mạng với mục đích chống lại sự truy cập trái phép,giúp bảo vệ thông tin, dữ liệu nội bộ và hạn chế sự xâm nhập từ bên ngoài Firewall cóchức năng đúng như tên gọi của nó, là bức tường lửa bảo vệ máy tính, máy tính bảnghay điện thoại thông minh khỏi những mối nguy hiểm khi truy cập mạng Internet
1.1.2 Tác dụng của tường lửa
Tường lửa mang đến nhiều tác dụng có lợi cho hệ thống máy tính Cụ thể:
Tường lửa ngăn chặn các truy cập trái phép vào mạng riêng Nó hoạt động như người gác cửa, kiểm tra tất cả dữ liệu đi vào hoặc đi ra từ mạng riêng Khi phát hiện có bất kỳ sự truy cập trái phép nào thì nó sẽ ngăn chặn, không cho traffic đótiếp cận đến mạng riêng
Tường lửa giúp chặn được các cuộc tấn công mạng
Firewall hoạt động như chốt chặn kiểm tra an ninh Bằng cách lọc thông tin kết nối qua internet vào mạng hay máy tính cá nhân
Dễ dàng kiểm soát các kết nối vào website hoặc hạn chế một số kết nối từ người dùng mà doanh nghiệp, tổ chức, cá nhân không mong muốn
Người dùng có thể tùy chỉnh tường lửa theo nhu cầu sử dụng Bằng cách thiết lập các chính sách bảo mật phù hợp
1.1.3 Cấu trúc của tường lửa
Một hoặc nhiều hệ thống máy chủ kết nối với các bộ định tuyến (router) hoặc cóchức năng 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 (Authorization) và kếtoán (Accounting)
1.1.4 Phân loại tường lửa
a Tường lửa kiểm tra trạng thái
Tường lửa kiểm tra trạng thái là một loại tường lửa theo dõi và giám sát trạng tháicủa bất kỳ kết nối mạng nào đang hoạt động Nó cũng có thể phân tích lưu lượng đến
Trang 7cùng với việc tìm kiếm các rủi ro dữ liệu có thể xảy ra Loại tường lửa này nằm ở Lớp
3 và Lớp 4 của mô hình Kết nối Hệ thống mở (OSI)
Một trong những chức năng đi kèm với tường lửa trạng thái là khả năng ngănchặn lưu lượng độc hại xâm nhập hoặc rời bỏ mạng riêng Hơn nữa nó có thể giám sáttrạng thái tổng thể của giao tiếp mạng và phát hiện các nỗ lực truy cập mạng trái phép
Ưu điểm
o Khả năng ngăn chặn các cuộc tấn công
o Khả năng ghi nhật kí mở rộng
o Sẽ không mở một loạt các cổng để lưu lượng truy cập
o Biết trạng thái kết nối
Nhược điểm
o Có thể khó định dạng cấu hình
o Không có khả năng tránh những cuộc tấn công cấp ứng dụng
o Một số giao thức không có thông tin trạng thái
o Duy trì một bảng trạng thái đồi hỏi chi phí bổ xung
b Tường lửa không trạng thái hoặc Tường lửa bộ lọc gói
Tường lửa không trạng thái còn được gọi là tường lửa lọc gói Đây là một trongnhững loại tường lửa cơ bản và lâu đời nhất hiện có So với những loại khác, loạitường lửa này hoạt động nội tuyến ở ngoại vi của mạng Loại tường lửa như thế nàykhông định tuyến các gói, mà thay vào đó so sánh mọi gói nhận được với một bộ quytắc được xác định trước
Bởi vì nó chỉ cung cấp bảo mật cơ bản, người dùng có thể đặt nó để bảo vệ khỏicác mối đe dọa đã biết, nhưng nó sẽ không hoạt động tốt với các mối đe dọa chưa biết
Ưu điểm
o Không tốn nhiều chi phí bảo trì
o Quá trình xử lý các gói được thực hiện cực kỳ nhanh chóng
o Lọc lưu lượng cho toàn bộ mạng có thể được thực hiện với một thiết bị duynhất
Nhược điểm
o Trong một số trường hợp, nó có thể phức tạp để cấu hình và khó quản lý
o Khả năng ghi nhật ký bị giới hạn ở đây
o Khi nói đến các cuộc tấn công ứng dụng, không thể tránh chúng
Trang 8thể, có nghĩa đơn giản là, dữ liệu duy nhất được lọc ở đây là từ một ứng dụng mạngđược truyền
Đối với các ứng dụng mạng có thể hoạt động với ALG, một số trong số đó là Giaothức truyền tệp (FTP), Telnet, Giao thức truyền trực tuyến thời gian thực (RTSP) vàBitTorrent
Chúng ta nên chỉ ra rằng ALG cung cấp một trong những giao diện mạng cấp cao nhất an toàn nhất Để giải thích điều này tốt hơn, chúng ta hãy xem một ví dụ đơn giản vềcách mọi thứ hoạt động
Khi máy khách di chuyển để yêu cầu quyền truy cập vào máy chủ trên mạng chocác tài nguyên cụ thể, trước tiên máy khách kết nối với máy chủ proxy và từ đó, máychủ proxy đó thiết lập kết nối với máy chủ chính
Ưu điểm
o Ghi nhật ký lưu lượng truy cập dễ dàng hơn
o Hiệu suất mạng tốt hơn nhiều
o Khó kích hoạt kết nối trực tiếp từ bên ngoài mạng chính
o Hỗ trợ bộ nhớ đệm nội dung
Nhược điểm
o Khả năng của thông lượng tác động
o Ứng dụng tác động
d Tường lửa thế hệ tiếp theo
Đây là một loại tường lửa kiểm tra gói tin sâu có thể mở rộng ra ngoài kiểm tracổng / giao thức Không chỉ vậy, nó còn vượt ra khỏi quy trình chặn để cung cấp thửnghiệm cấp ứng dụng, lên đến Lớp 7
Như bạn có thể nói, đây là phiên bản nâng cao hơn của hệ thống tường lửa điểnhình, nhưng nó cung cấp các lợi ích tương tự Tuy nhiên, không giống như các hệthống tường lửa truyền thống, NGFW áp dụng cả lọc gói tin động và tĩnh cùng với hỗtrợ VPN để bảo mật tất cả các kết nối đến giữa mạng, internet và tường lửa
Ưu điểm
o An toàn hơn những nơi khác ở đây
o Ghi nhật ký chi tiết hơn
Trang 91.1.5 Nguyên lý hoạt động tường lửa
Khi một gói tin được chuyển tải trên mảng, nó được chia nhộ thành các gói(packet) Mội gói sể được gán một địa chỉ để có thể đển đích, sau đó được nhản dảng
và tái lảp lải ợ đích Các địa chỉ được lưu trong phản đảu của gói tin (header) vàFirewall sể dưa vào Header của gói tin để lộc
Bộ lộc gói tin có khả năng cho phép hay tư chội mội gói tin mà nó nhản được Nókiểm tra toàn bộ độan dư liểu để quyểt định xem đoản dư liểu đó có thộa mãn mộttrong sộ các luảt của lộc gói tin hay không Các luảt lộc gói tin này sể dưa trên cácthông tin ợ đảu mội gói tin (Header), Header của gói tin bao gộm các thông tin nhưsau:
Version: Phiên bản của IP, hiển tải chúng ta đang sư dủng IP phiên bản 4
(Ipv4)
IP Header Length: Độ dài của IP header là 32 bits
Type of Service (ToS): Loải dịch vủ
Size of Datagram: Kích thược của gói tin được tính bảng byte, bao gộm kích thược của Header và kích thược của Data (dư liểu)
Identification: Dảu hiển nhản dảng, trượng hợp này được sư dủng để lảp ghép các phân đoản khi tảt cả các gói tin đã đển đích
Flag: Là một trong ba cợ được sư dủng để điểu khiển, định tuyển cho một gói tin và báo cho ngượi nhản biểt gói tin có bao nhiêu phản
Time To Live: Chỉ ra số lượng Hops hoặc liên kết mà gói tin có thể đi qua và được sử dụng để tránh quá trình lặp lại của gói tin (tránh cho gói tin chạy vô hạn)
Protocol: Giao thưc truyển tin (TCP, UDP, ICMP, …
Header Checksum: Mủc này được sư dủng để kiểm tra xem tộng sộ gói tin mà ngượi gợi có bảng tộng sộ gói tin mà ngượi nhản nhản được không Nểu không bảng nhau, nó sể báo lội và yêu cảu ngượi gợi gợi lải (nểu sư dủng giao thưc TCP); ngược lải, nó sể hủy gói tin nểu sư dủng giao thưc UDP
Source Address: Địa chỉ nợi xuảt phát
Destination Address: Địa chỉ nợi nhản
Source port: Cộng nguộn
Destination port: Cộng đích
Options: Tùy chộn này không được sư dủng
Nểu gói tin thộa các luảt đã được thiểt lảp trược của Firewall, gói tin đó đượcchuyển qua, ngược lải, gói tin sể bị hủy Viểc kiểm soát các cộng sể cho phépFirewall kiểm soát một sộ loải kểt nội nhảt định mợi được vào mảng củc bộ
Do viểc kiểm tra dưa trên Header của các gói tin nên bộ lộc không kiểm soátđược nội dung thông tin của gói tin đó Vì vảy các gói tin chuyển qua vản có thểmang theo nhưng hành động vợi ý độ ăn cảp thông tin hay phá hộai của Hacker
Trang 10Hình 1.1 Tường lửa ngăn chặn tấn công của virus máy tính
Bảng 1.1 Tường lửa cho phép hoặ từ chối máy tính truy cập
Hình 1.2 Tường lửa kiểm soát bằng cổng truy cậo Port
1.2 So sánh một số loại tường lửa phổ biến
Trang 11FortiGate là một phiên bản mới hơn trong thế giới an ninh mạng Nó dễ dàng xử lýlượng truy cập tăng đột biến và tải máy chủ lớn hơn, đồng thời giá cả phải chăng hơn
so với các đối thủ cạnh tranh tương đương Giao diện đơn giản để sử dụng và tườnglửa dễ cấu hình Định giá đơn giản cho phép các doanh nghiệp chỉ trả tiền cho các dịch
là khi bao thanh toán trong các hợp đồng hỗ trợ Giao diện không rõ ràng và có thể khó
sử dụng ASA không có đầy đủ tính năng như NGFW (nó thiếu hỗ trợ đa WAN đángtin cậy mà FortiGate có) và một số người dùng cho biết đã chuyển sang NGFW để cógiải pháp mạnh mẽ hơn
Nhược điểm của giá đơn giản của FortiGate là nó ảnh hưởng đến khả năng mởrộng Nếu người dùng muốn tăng hiệu suất máy chủ, họ phải mua các sản phẩm bổsung Các phiên bản khác nhau của phần mềm có thể bị lỗi và các bản vá lỗi thường
Trang 12xuyên được phát hành Mặc dù giao diện người dùng tốt, nhưng dấu nhắc dòng lệnh cóthể gây nhầm lẫn khi sử dụng.
Định giá
Giá FortiGate có sẵn theo báo giá từ Fortinet hoặc các nhà cung cấp bên thứ ba.Giá ASA có thể được tìm thấy bằng cách liên hệ với Cisco hoặc Đối tác được chứngnhận của Cisco
Trang 13CHƯƠNG 2 TỔNG QUAN VỀ TƯỜNG LỬA IPTABLES VÀ TƯỜNG LỬA
PFSENSE
2.1 Tổng quan về tưởng lửa Iptables
Trong phần này chúng em dự định giới thiệu về Iptables, thành phần của Iptables,cấu hình, các câu lệnh cơ bản, giới thiệu về Snort, kiến trúc, cơ chế hoạt động và bộluật của Snort
2.1.1 Giới thiệu về Iptables
Iptables chính là một chương trình Firewall – Tường lửa miễn phí Chương trìnhnày được phát triển chủ yếu cho hệ điều hành Linux Chương trình cho phép hệ điềuhành thiết lập các quy tắc riêng để kiểm soát truy cập và tăng tính bảo mật cho hệthống gồm: VPS/Hosting/Server
Khi sử dụng máy chủ, Iptables sẽ tiến hành thực thi tốt nhất nhiệm vụ ngăn chặncác truy cập không hợp lệ bằng cách sử dụng Netfilter Iptables/Netfilter gồm 2 phầnchính là phần Netfilter ở bên trong nhân Linux Phần còn lại là Iptables nằm ở bênngoài Vì vậy sự hiện diện của Iptables chính là hệ thống giao tiếp với người dùng Sau
đó đẩy các luật của người dùng vào cho Netfilter xử lý
Netfilter chịu trách nhiệm lọc các gói dữ liệu ở mức IP Netfilter làm việc trực tiếptrong nhân, nhanh và giảm tốc độ của hệ thống Iptables chỉ là Interface cho Netfilter
Cả 2 thành phần này có nhiệm vụ tương tự nhau
Trong đó tường lửa quyết định các packet nào được phép đi vào hay đi ra khỏi hệthống Các Packet ở bất kỳ Network nào cũng đều giao tiếp bằng cách sử dụng cáccổng port Để quyết định Port nào được phép kết nối từ bên ngoài là nhiệm vụ củaTường lửa Một số tính năng tiêu biểu do Iptables cung cấp:
Tích hợp tốt với Kernel của Linux
Phân tích Package hiệu quả
Lọc Package
Cung cấp đầy đủ các tùy chọn để ghi nhận sự kiện hệ thống
Cung cấp kỹ thuật NAT
Ngăn chặn sự tấn công theo kiểu DoS
Trang 14Bảng này được tích hợp với nhiệm vụ chính là quyết định việc một gói tin có được điđến đích dự kiến hay không Hay quyết định từ chối yêu cầu của gói tin một cách chắcchắn, nhanh chóng.
NAT Table
Như đã đề cập ở trên, mỗi bảng trong Iptables sẽ có một nhiệm vụ khác nhau trong
hệ thống Vì vậy đối với bản NAT Table sẽ dùng các rules về NAT Nhiệm vụ chínhcủa NAT Table chính là chịu trách nhiệm chỉnh sửa các Source hay còn gọi là IPnguồn Hoặc chỉnh sửa các destination (IP đích) của các gói tin Với sự hiện diện củabảng NAT Table thì việc chỉnh sửa thông tin gói tín khi thực hiện cơ chế NAT trở nênđơn giản, dễ dàng hơn
Mangle Table
Mangle Table là một trong những bảng quan trọng trong Iptables Bảng này cónhiệm vụ chỉnh sửa header của gói tín Ngoài ra, sự hiện diện của Mangle Table còncho phép chỉnh sửa giá trị của các trường: TTL, MTL, Type of Service
RAM Table
Dựa theo bản chất của Iptables thì Iptables là một stateful firewall với các gói tin.Các gói tin này được kiểm tra liên quan đến trạng thái State RAM Tablet sẽ là bảnggiúp người dùng dễ dàng làm việc với các gói tin trước khi kernel bắt đầu kiểm tratrạng thái Bảng RAM cũng chức năng loại bỏ một số gói tin khỏi việc tracking vì vấn
đề hiệu năng của hệ thống Vì thế tâm quan trọng của bảng RAM trong Iptables cũng
vô cùng quan trọng và cần thiết
Security Table
Bảng tiếp theo có trong Iptables chính là Security Table Một số Kernel có thể hỗ trợthêm cho Security Table, được dùng bởi Selinux từ đó giúp thiết lập các chính sách bảomật hiệu quả Vậy nên Security Table luôn là một trong những bảng quan trọng trong cácbảng của Iptables
b Chains
Chains chính là thành phần cơ bản tiếp theo trong Iptables Thành phần này đượctạo ra với một số lượng nhất định ứng với mỗi bảng trong Iptables Công dụng chínhcủa thành phần này chính là giúp lọc gói tin tại điểm khác nhau
Chain Prerouting: Chain tồn tại trong Nat Table, Mangle Table và Raw Table Các rules trong Chain sẽ được thực thi ngay khi gói tin vào đến giao diện
Trang 15 Chain Forward: Chain này tồn tại ở các bảng Mangle Table và Filter Table Các rules được cung cấp nhiệm vụ thực thi cho các gói tin được định tuyến qua host hiện đại.
Chain Postrouting: Chain này chỉ tồn tại ở các bảng Mangle Table và Nat Table Các rules trong Chain được thực thi khi gói tin rời giao diện Internet
c Target
Bộ phận thứ 3 trong Iptables chính là Target Target – hành động sử dụng dành chocác gói tin khi các gói tin thỏa mãn các rules đặt ra
ACCEPT: Hành động chấp nhận và cho phép gói tin đi vào hệ thống
DROP: Hành động loại gói tin, không có gói tin trả lời
REJECT: Hành động loại gói tin nhưng vẫn cho phép gói tin trả lời Table gói tinkhác
LOG: Hành động chấp thuận gói tin nhưng có ghi lại log
Target là hành động dành cho gói tin được phép đi qua tất cả các rules đặt ra màkhông dừng lại ở bất kỳ rules nào Trong trường hợp gói tin không khớp với yêu cầucủa reles thì mặc định sẽ được chấp thuận
2.1.3 Cấu hình Iptables
Iptables – tường lửa có cấu hình yêu cầu cao về độ bảo mật Trong đó tất cả các dữliệu từ các gói tin được gửi đi sẽ được định dạng qua Internet Linux Kernel sẽ thựchiện nhiệm vụ lọc các gói tin này bằng cách mang đến một giao diện sử dụng mộtbảng các bộ lọc khác
Tạo chain mới: Iptables – N
Xóa hết các rule đã có trong chain: Iptables – X
Đặt danh sách cho các chain: ‘built-in’(INPUT, OUTPUT & FORWARD): Iptables – p
Liệt kê các rule trong chain: Iptables – L
Xóa các rule trong chain: Iptables – F
Reset bộ đếm Packet về 0: Iptables – Z
c Những tùy chọn để thao tác với rule
Để thao tác với các rule trong Iptables đều phải thực hiện các tùy chọn tương ứngtheo quy định Trong đó các tùy chọn quan trọng mà người dùng nên nhớ để thực hiệnthao tác với rule dễ dàng như:
Tùy chọn để thao tác với rules trong Iptables
Thêm rule: -A
Xóa rule: -D
Thay thế rule: -R
Chèn thêm rule: -I
Trang 162.1.4 Các câu lệnh cơ bản Iptables
Để làm việc với rule trong Iptables thì tất cả các thao tác đều phải sử dụng lệnh.
Các lệnh sử dụng trong Iptables được phân chia thành cơ bản với nâng cao Tuy nhiênthông thường người dùng chỉ cần áp dụng linh hoạt các lệnh cơ bản của Iptables đã cóthể dễ dàng làm việc với các rule Vậy các lệnh cơ bản của Iptables gồm những lệnhnào, tất cả sẽ được cập nhật ngay sau đây
a Lệnh tạo một rule mới
Ví dụ: iptables -A INPUT -i lo -j ACCEPT
Lệnh này có nghĩa là:
A nghĩa là Append A INPUT nghĩa là khai báo kiểu kết nối sẽ được áp dụng
I nghĩa là Internet I lo nghĩa là khai báo thiết bị mạng được áp dụng
J nghĩa là Jump J ACCEPT nghĩa là khai báo hành động sẽ được áp dụng choquy tắc này
Nếu người dùng gõ lại lệnh iptables –L –v thì sẽ thấy ngay 1 rule mới xuất hiện after-created-iptables-rule
Sau khi thêm mới rules hoặc thay đổi gõ lệnh lưu thì người dùng tiến hành khởiđộng lại tường lửa để áp dụng các thay đổi
service iptables save
service iptables restart
Nếu tiếp tục thêm rule để được phép lưu lại quá trình kết nối hiện tại cũng nhưtránh các hiện tượng tự Block ra khỏi máy chủ thì hãy thực hiện đúng lệnh quy định.Lệnh thực hiện: iptables -A INPUT -m state –state ESTABLISHED, RELATED -jACCEPT
Lệnh tạo một rule mới
Để các cổng được phép truy cập từ bên ngoài vào qua giao thức tcp thì hãy thựchiện theo lệnh
Lệnh thực hiện: iptables -A INPUT -p tcp –dport 22 -j ACCEPT
p tcp: Giao thức được áp dụng
dport 22: Cổng cho phép áp dụng 22 là cho SSH
Để ngăn chặn tất cả các kết nối truy cập theo hướng từ bên ngoài vào không thỏa mãnnhững rule trên Thao tác này thực hiện tương tự với rule 5 ở trên
iptables -A INPUT -j DROP
b Lệnh bổ sung một rule mới
Trang 17Để chèn 1 rule mới vào trong 1 vị trí nào đó thì việc sử dụng các lệnh bổ sung thêmrule là điều quan trọng Trong đó người dùng chỉ cần thay tham số -A table bằng tham sốINSERT –l là xong
Cấu trúc lệnh bổ sung 1 rule mới: IPtables -I INPUT 2 -p tcp –dport 8080 -j ACCEPT
IPtables -D INPUT -j DROP
2.2 Tổng quan về tường lửa Pfsense
Tường lửa PfSense là loại tường lửa mềm, miễn phí có chức năng kiểm soát lưulượng mạng, thực hiện các hành động để bảo vệ an toàn cho mạng máy tính
2.2.1 Giới thiệu về Pfsense
PfSense là tường lửa cấu hình cơ bản dựa trên dòng lệnh Quản trị dựa trên chế độ
đồ họa cho nên dễ dàng cho người quản trị có thể cấu hình, theo dõi hoạt động củamạng, đảm bảo an toàn cho mạng máy tính
2.2.2 Thành phần của Pfsense
2.2.3 Cấu hình
Trang 18Hình 3.3 Mô hình cài đặt
CHƯƠNG 3 TRIỂN KHAI XÂY DỰNG TƯỜNG LỬA IPTABLES VÀ
TƯỜNG LỬA PFSENSE
3.1 Triển khai Iptables
3.1.1 Mô tả
Tường lửa Iptables là loại tường lửa miễn phí được tích hợp sẵn trong các hệ điềuhành Linux Có thể ứng dụng để kiểm soát truy cập cho mạng máy tính nội bộ và phânvùng mạng máy chủ
Trong hướng dẫn này, thiết lập tập luật cho tường lửa Iptables để kiểm soát cácdịch vụ cho mạng nội bộ, mạng DMZ, mạng Internet Cụ thể là cho phép người dùngtrong mạng nội bộ LAN có thể truy cập được ra ngoài Internet với các giao thứcHTTP, HTTPS, ICMP, DNS
Cho phép người dùng từ mạng Internet và mạng nội bộ truy cập được trang web từmáy chủ web trong phần vùng DMZ
Cho phép người dùng sử dụng ứng dụng thư điện tử để gửi và nhận thư với nhau
3.1.2 Chuẩn bị
01 máy ảo hệ điều hành Windows 7: Cài đặt ứng dụng thư Mozilla Thunderbird
01 máy ảo hệ điều hành Windows Server 2012
Đã cài dịch vụ web sử dụng máy chủ web IIS với trang web mặc định của Microsoft
Đã cài dịch vụ phân giải tên miền DNS với các bản ghi thích hợp cho web và mail
Đã cài phần mềm máy chủ thư điện tử (MDaemon V10)
01 máy ảo hệ điều hành CentOS 6.5 để làm tường lửa Iptables
3.1.3 Mô hình cài đặt
Trang 19Hình 3.4
3.1.4 Một số câu lệnh cơ bản sử dụng trong tường lửa Iptables
Lệnh khởi động tường lửa:
[root@server]# service iptables start [root@server]# service iptables stop [root@server]# service iptables restart
Để khởi động Iptables mỗi khi khởi động máy:
[root@server]# chkconfig iptables on
Để xem tình trạng của Iptables:
[root@server]# service iptables status
Lưu thông tin cấu hình:
[root@server]# /etc/init.d/iptables save
Lệnh xóa toàn bộ luật có trong Iptables:
[root@server]# iptables F [root@server]# iptables –t nat
-3.1.5 Các kịch bản thực hiện
Kịch bản 1 Cho phép máy tính trong LAN Ping ra ngoài mạng Internet
Bước 1 Kiểm tra Ping
Tại máy trạm Windows 7 thực Ping đến địa chỉ IP bất kỳ
Kết quả, không Ping được ra ngoài mạng
Bước 2 Thiết lập luật trên tường lửa Iptables để cho phép máy trạm Ping ra bên
ngoài
Trước hết cần kiểm tra tên của các giao diện mạng trên máy tường lửa
Iptables:
Trang 20Trong hình trên giao diện eth1 kết nối mạng Internet Giao diện eth2 kết nối mạngnội bộ, giao diện eth3 kết nối mạng máy chủ.
Tiếp theo đặt lệnh cho Iptables để cho phép máy trạm trong mạng nội bộ Ping ramạng Internet
[root@server]#iptables -A FORWARD -i eth2 -o eth1
-s 172.16.1.0/24 -p icmp icmp-type any -j
ACCEPT
[root@server]#iptables -A FORWARD -i eth1 -o eth2
-d 172.16.1.0/24 -p icmp icmp-type any -j
ACCEPT
[root@server]#iptables -t nat -A POSTROUTING -o
eth1 -s 172.16.1.0/24 -j SNAT to-source
192.168.190.4
[root@server]#nano /proc/sys/net/ipv4/ip_forward 0 -> 1
Ghi chú: địa chỉ IP 192.168.190.4 là địa chỉ của giao diện mạng kết nối Internet (eth1), tùy thuộc vào trường hợp cụ thể của máy ảo mà sử dụng địa chỉ IP này.
Bước 3 Kiểm tra kết quả
Trở lại máy trạm Windows 7 kiểm tra Ping tới địa chỉ IP tại bước 1 Kết quả thànhcông
Kịch bản 2 Cho phép máy tính trong LAN truy vấn DNS ra Internet
Bước 1 Kiểm tra truy vấn
Trước khi thiết lập luật cho tường lửa, tại máy trạm Windows 7 không truy vấnđược DNS Sử dụng lệnh nslookup để truy vấn
Trang 21Bước 2 Cấu hình luật để cho phép truy vấn DNS tại tường lửa.
[root@server]#iptables -A FORWARD-i eth2 -o
eth1 -s 172.16.1.0/24 -p udp dport 53 -j
ACCEPT
[root@server]#iptables -A FORWARD -i eth1 -o
eth2 -d 172.16.1.0/24 -p udp sport 53 -j
ACCEPT
Bước 3 Kiểm tra kết quả
Kết quả, lúc này tại máy Windows 7 thực hiện truy vấn thành công
Kịch bản 3 Cho phép máy tính trong mạng LAN truy cập được các website từ mạng Internet
Yêu cầu:
Thiết lập luật cho tường lửa Iptables sao cho các máy tính trạng mạng nội bộ cóthể truy cập được mạng Internet thông qua hai giao thức HTTP và HTTPS
Sử dụng Win 7 để kiểm tra truy cập trước và sau khi thiết lập luật cho tường lửa
Kịch bản 4 Cho phép truy cập tới máy chủ web trong phân vùng mạng DMZ
Yêu cầu:
Thiết lập luật cho tường lửa Iptables sao cho các máy tính trong mạng nội bộ
có thể truy cập được website từ máy chủ web trong mạng DMZ
Thiết lập luật cho tường lửa Iptables sao cho các máy tính từ mạng Internet cóthể truy cập được website trong mạng DMZ
Sử dụng Win7 là máy ảo trong mạng nội bộ để kiểm tra
Sử dụng máy tính vật lý làm máy từ Internet truy cập vào website
Kịch bản 5 Cho phép người dùng gửi và nhận thư điện tử
Yêu cầu:
Trang 22 Thiết lập luật cho tường lủa Iptables sao cho các máy tính trong mạng nội bộ
và máy tính từ Internet có thể gửi và nhận thư điện tử được cho nhau thông qua máy chủ mail trong DMZ
Sử dụng mail client Mozilla Thunderbirth để kiểm tra
Trang 23PfSense là tường lửa cấu hình cơ bản dựa trên dòng lệnh Quản trị dựa trên chế độ
đồ họa cho nên dễ dàng cho người quản trị có thể cấu hình, theo dõi hoạt động củamạng, đảm bảo an toàn cho mạng máy tính
3.2.2 Chuẩn bị
01 máy ảo hệ điều hành Windows 7: Cài đặt ứng dụng Google Chrome
01 máy ảo hệ điều hành Windows Server 2012
Đã cài dịch vụ web sử dụng máy chủ web IIS với trang web mặc định của Microsoft
Đã cài phần mềm máy chủ thư điện tử (MDaemon V10)
01 máy ảo gốc
3.2.3 Mô hình cài đặt
Các bước thực hiện
Bước 1: Chuẩn bị các máy ảo
Bước 2: Cài đặt tường lửa PfSense
Bước 3: Cấu hình tường lửa cơ bản
Bước 4: Quản trị tường lửa bằng đồ họa
Bước 5: Tạo tập luật theo kịch bản
Trang 243.2.4 Chuẩn bị các máy ảo
Máy ảo Windows 7 với cấu hình như sau:
Cấu hình phần cứng: chú ý Vmnet2
Cài đặt trình duyệt Google Chrome
Cấu hình IP:
Trang 25 Máy ảo Server 2012
Cấu hình phần cứng: chú ý Vmnet3
Cấu hình mạng:
Cài đặt máy chủ web IIS
Truy cập theo đường dẫn để cài đặt dịch vụ
Server Manager → Manage → Add Roles and Features
Trang 26Cửa sổ Add Roles and Features xuất hiện chọn Next để bắt đầu quá trình cài đặt.Trong lựa chọn Select installation type → chọn Role-based or feature-basedinstallation để cài đặt các dịch vụ và tính năng cho máy chủ.
Chọn Next để tiếp tục cài đặt
Trong tùy chọn Select destination server → Chọn Select a server from the serverpool
Tiếp tục lựa chọn dịch vụ