Cấu hình cho phép các kết nối đã được khởi tạo trước đó.... - SNAT: Thay đổi địa chỉ nguồn của gói tin, thường kèm theo địa chỉ IPmuốn thay đổi.Các trạng thái kết nối có thể được sử dụng
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KHOA HỌC VÀ KĨ THUẬT THÔNG TIN
NHẬP MÔN BẢO ĐẢM VÀ AN NINH THÔNG TIN
BÁO CÁO THỰC HÀNH LAB 5
Trang 2NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
……., ngày…… tháng……năm 2024
Người nhận xét
(Ký tên và ghi rõ họ tên )
MỤC LỤC
Trang 3MỤC LỤC
MỤC LỤC HÌNH ẢNH
MỤC LỤC BẢNG
NỘI DUNG BÀI LÀM
I Giới thiệu về tường lửa IPTables
1 Giới thiệu chung
2 Cơ chế xử lý gói tin của IPTables
3 Đặc điểm khi viết rule trong IPTables
4 Một số lưu ý quan trọng
II Triển khai tường lửa IPTables
1 Mô tả bài lab
2 Mô hình triển khai
3 Cài đặt
4 Cấu hình
KẾT LUẬN
1 Ưu điểm của IPTables
2 Nhược điểm của IPTables
TÀI LIỆU THAM KHẢO
MỤC LỤC HÌNH ẢNH
Trang 4Hình 1 Bảng FILTER
Hình 2 Bảng NAT
Hình 3 Mô hình triển khai IPTables
Hình 4 Thông tin PC1
Hình 5 Thông tin PC2
Hình 6 Kiểm tra cài đặt gói iptables
Hình 7 Cài đặt gói iptables bằng lệnh yum install iptables
Hình 8 Bật IP forwarding
Hình 9 Lưu lại cấu hình và khởi động lại bằng lệnh restart
Hình 10 Khởi động IPtable, sau đó tắt rồi khởi động lại
Hình 11 Xóa tất cả các rules hiện tại trên iptables
Hình 12 Xem thông tin trạng thái
Hình 13 Kiểm tra máy thật có SSH được đến Iptables hay không
Hình 14 Kiểm tra Iptables có ping đến PC1 hay không
Hình 15 Chỉnh sửa rule thành DROP
Hình 16 Kiểm tra phiên kết nối SSH ban đầu còn tồn tại hay không
Hình 17 Kiểm tra Iptables ping đến PC1 hay không
Hình 18 Cấu hình cho phép SSH vào IPTables
Hình 19 Cấu hình cho phép các ứng dụng giao tiếp với nhau thông qua cổng loopback của iptables
Hình 20 Cấu hình cho phép các kết nối đã được khởi tạo trước đó
Hình 21 Cấu hình NAT vùng mạng Client ra internet
Hình 22 Kiểm tra PC1 có sử dụng được các dịch vụ như http, https, dns hay không
Hình 23 Kiểm tra PC2 có sử dụng được các dịch vụ như http, https, dns hay không
Hình 24 Kiểm tra Iptables có ping được PC1 hay không
Hình 25 Cấu hình rule cho phép các PC thuộc lớp mạng 192.168.1.0/24 duyệt web theo giao thức http, https
Hình 26 Cấu hình cho phép PC1 ping tới iptables
Hình 27 Kết quả kiểm tra PC1 PC1 ping tới iptables hay không
Hình 28 Lưu tất cả những thay đổi
MỤC LỤC BẢNG Bảng 1 Bảng thông tin địa chỉ IP
Trang 5NỘI DUNG BÀI LÀM
I Giới thiệu về tường lửa IPTables
1 Giới thiệu chung
IPTables là một công cụ được tổ chức Netfilter Organization phát triển để tăngcường tính bảo mật trên hệ điều hành Linux và được tích hợp miễn phí trongcác phiên bản distro của nó Gồm hai phần chính là Iptables ở mức người dùng(user mode) và Netfilter ở mức nhân (kernel mode)
Các tính năng của IPTables bao gồm
- Tích hợp tốt với các phiên bản kernel của Linux
- Khả năng phân tích gói tin (mức IP) hiệu quả
- Chuyển đổi địa chỉ IP (NAT)
- Cung cấp các kỹ thuật ngăn chặn các loại tấn công như DOS, port scan,
- …
2 Cơ chế xử lý gói tin của IPTables
IPTables kiểm tra các gói tin khi chúng đi qua tường lửa theo thứ tự từ rules đầutiên đến rules cuối cùng Iptables tổ chức thông qua các bảng để phân loại và xử
lý các gói tin, gồm ba loại bảng chính:
- Bảng MANGLE: Chịu trách nhiệm biến đổi trường Type Of Service Bittrong gói tin TCP, thường được sử dụng trong mạng SOHO
- Bảng FILTER: Thiết lập bộ lọc cho bộ lọc gói (packet filtering), bao gồmcác built-in chain như:
+ Forward Chain: Áp dụng chính sách cho gói tin từ một card mạngcủa firewall đến một card mạng khác để đi qua mạng
+ Input Chain: Áp dụng chính sách cho các gói tin đi vào firewall.+ Output Chain: Áp dụng chính sách cho các gói tin đi ra từ firewall
Trang 61 Bảng FILTER
- Bảng NAT: Thực hiện chuyển đổi địa chỉ IP (Network AddressTranslation), bao gồm các chain như:
+ PREROUTING (tiền định tuyến): NAT từ bên ngoài vào mạng nội
bộ, thực hiện trước quá trình định tuyến, thường được sử dụng choDNAT (Destination NAT)
+ POSTROUTING (NAT hậu định tuyến): NAT từ trong ra bênngoài, thực hiện sau quá trình định tuyến, thường được sử dụngcho SNAT (Source NAT)
Trang 7Hình 2 Bảng NAT
3 Đặc điểm khi viết rule trong IPTables
Khi viết rule trong iptables, có một số đặc điểm cần lưu ý:
- Mỗi rule bao gồm điều kiện và quyết định (target)
- Các rule được kiểm tra theo thứ tự, bắt đầu từ rule đầu tiên
- Khi điều kiện trong rule được thỏa, gói tin sẽ được áp chính sách trongtrường target
- Nếu không có rule nào thỏa mãn điều kiện, iptables sẽ tiếp tục kiểm tracác rule tiếp theo theo thứ tự
- Nếu không có rule nào được thỏa mãn, chính sách mặc định của từngchain sẽ được áp dụng (thường là DROP hoặc ACCEPT)
Các chính sách có thể áp dụng cho một gói tin bao gồm:
- ACCEPT: Cho phép gói tin đi qua
- DROP: Không cho phép gói tin đi qua
- REJECT: Không cho phép gói tin đi qua và gửi thông báo ngược lại chongười gửi
- DNAT: Thay đổi địa chỉ đích của gói tin, thường kèm theo địa chỉ IPmuốn thay đổi
Trang 8- SNAT: Thay đổi địa chỉ nguồn của gói tin, thường kèm theo địa chỉ IPmuốn thay đổi.
Các trạng thái kết nối có thể được sử dụng bao gồm:
- NEW: Gói dữ liệu thuộc về một kết nối mới hoàn toàn
- ESTABLISHED: Gói dữ liệu thuộc về một kết nối đã được thiết lập ở cảhai hướng
- RELATED: Gói dữ liệu thuộc về một kết nối phụ của kết nối hiện tại,thường được sử dụng với các giao thức như ICMP hoặc FTP
4 Một số lưu ý quan trọng
Để xem tất cả các thông số và tùy chọn trong iptables, chúng ta sử dụng lệnh
man iptables hoặc iptables help trong hệ điều hành Linux Lệnh man iptables
sẽ hiển thị hướng dẫn chi tiết về cách sử dụng iptables cùng với tất cả các tùychọn và cú pháp, trong khi iptables help sẽ hiển thị một tóm tắt ngắn gọn vềcác tùy chọn phổ biến
II Triển khai tường lửa IPTables
1 Mô tả bài lab
Trong bài lab này, chúng ta sẽ triển khai IPTables trên hệ điều hành Linux nhưmột network firewall
Trang 92 Mô hình triển khai
Hình 3 Mô hình triển khai IPTables
Bảng thông tin địa chỉ IP:
IP Address Subnet Mask Default
PC1 192.168.1.1 255.255.255.0 192.168.1.254 8.8.8.8PC2 192.168.1.2 255.255.255.0 192.168.1.254 8.8.8.8IPTables
(CentOS)
eth0 : Bridgeeth1:
Trang 10Hình 4 Thông tin PC1
- Xem thông tin PC2
Trang 11Hình 5 Thông tin PC2
- Kiểm tra gói iptables đã được cài đặt hay chưa Dùng lệnh rpm qi iptables để kiểm tra
Trang 12Hình 6 Kiểm tra cài đặt gói iptables
- Nếu chưa có, dùng lệnh yum install iptables để cài đặt
Hình 7 Cài đặt gói iptables bằng lệnh yum install iptables
4 Cấu hình
- Bật tính năng IP forwarding
Trang 13Hình 8 Bật IP forwarding
- Sau đó lưu lại cấu hình và khởi động lại bằng lệnh restart
Hình 9 Lưu lại cấu hình và khởi động lại bằng lệnh restart
- Khởi động IPtable, sau đó tắt rồi khởi động lại
Hình 10 Khởi động IPtable, sau đó tắt rồi khởi động lại
- Xóa tất cả các rules hiện tại trên iptables bằng lệnh iptables –F
Hình 11 Xóa tất cả các rules hiện tại trên iptables
- Xem thông tin trạng thái bằng lệnh iptables -L -n -v
Trang 14Hình 12 Xem thông tin trạng thái
- Kiểm tra máy thật có SSH được đến Iptables hay không?
Hình 13 Kiểm tra máy thật có SSH được đến Iptables hay không
→ Kết quả: máy thật có SSH được đến Iptables
- Kiểm tra Iptables có ping đến PC1 hay không ?
Trang 15Hình 14 Kiểm tra Iptables có ping đến PC1 hay không
→ Kết quả: Iptables có ping đến PC1
- Chỉnh sửa rule mặc định trên iptables thành DROP bằng các lệnh:
iptables –P INPUT DROP
iptables –P OUTPUT DROP
iptables –P FORWARD DROP
Hình 15 Chỉnh sửa rule thành DROP
- Kiểm tra phiên kết nối SSH ban đầu còn tồn tại hay không?
Hình 16 Kiểm tra phiên kết nối SSH ban đầu còn tồn tại hay không
→ Kết quả: phiên kết nối SSH ban đầu không còn tồn tại
- Kiểm tra Iptables ping đến PC1 hay không ?
Trang 16Hình 17 Kiểm tra Iptables ping đến PC1 hay không
→ Kết quả: Iptables không còn ping đến PC1
- Cấu hình cho phép SSH vào IPTables
Hình 18 Cấu hình cho phép SSH vào IPTables
- Cấu hình cho phép các ứng dụng giao tiếp với nhau thông qua cổng loopback của iptables:
Hình 19 Cấu hình cho phép các ứng dụng giao tiếp với nhau thông qua cổng
loopback của iptables
- Cấu hình cho phép các kết nối đã được khởi tạo trước đó:
Hình 20 Cấu hình cho phép các kết nối đã được khởi tạo trước đó
- Cấu hình NAT vùng mạng Client ra internet
Hình 21 Cấu hình NAT vùng mạng Client ra internet
- Kiểm tra PC1, PC2 có sử dụng được các dịch vụ như http, https, dns hay không?
Trang 17Hình 22 Kiểm tra PC1 có sử dụng được các dịch vụ như http, https, dns hay
không
→ PC1 không còn sử dụng được các dịch vụ như http, https, dns
Trang 18Hình 23 Kiểm tra PC2 có sử dụng được các dịch vụ như http, https, dns hay
không
→ PC2 không còn sử dụng được các dịch vụ như http, https, dns
- Kiểm tra Iptables có ping được PC1 hay không ?
Trang 19Hình 24 Kiểm tra Iptables có ping được PC1 hay không
- Cấu hình rule cho phép các PC thuộc lớp mạng 192.168.1.0/24 duyệt webtheo giao thức http, https
Trên iptables chúng ta tiến hành mở các port 80,443,53
iptables –A FORWARD –i eth1 –o eth0 –p udp –dport 53 –j
Hình 25 Cấu hình rule cho phép các PC thuộc lớp mạng 192.168.1.0/24 duyệt
web theo giao thức http, https
- Cấu hình cho phép PC1 ping tới iptables
Trang 20Hình 26 Cấu hình cho phép PC1 ping tới iptables
Hình 27 Kết quả kiểm tra PC1 PC1 ping tới iptables hay không
- Lưu tất cả những thay đổi
Hình 28 Lưu tất cả những thay đổi
Trang 21KẾT LUẬN
1 Ưu điểm của IPTables
- Tính Linh Hoạt Cao: IPTables cung cấp nhiều tùy chọn và khả năng tùy biến
các quy tắc firewall theo nhu cầu cụ thể của người quản trị mạng Nó hỗ trợnhiều loại kiểm soát lưu lượng mạng, bao gồm cả lọc gói tin, NAT (NetworkAddress Translation), và ghi lại hoạt động mạng
- Tích Hợp Sâu Với Hệ Thống Linux: IPTables được tích hợp chặt chẽ với nhân
(kernel) của Linux, cho phép xử lý các quy tắc firewall trực tiếp tại nhân, manglại hiệu suất cao và khả năng phản ứng nhanh
- Mã Nguồn Mở: Là một công cụ mã nguồn mở, IPTables không chỉ miễn phí
mà còn cho phép người dùng kiểm tra, thay đổi và tùy chỉnh mã nguồn để phùhợp với nhu cầu cụ thể
- Hỗ Trợ Mạnh Mẽ Từ Cộng Đồng: Với một cộng đồng người dùng rộng lớn và
tích cực, IPTables luôn có sự hỗ trợ mạnh mẽ từ tài liệu, diễn đàn, và cácnguồn tài nguyên trực tuyến, giúp người dùng dễ dàng tìm kiếm giải pháp chocác vấn đề gặp phải
- Khả Năng Tùy Biến Cao: IPTables cho phép người dùng tạo ra các script tùy
chỉnh để tự động hóa và quản lý các quy tắc firewall một cách linh hoạt
2 Nhược điểm của IPTables
- Độ Phức Tạp Cao: Cấu hình IPTables có thể phức tạp và khó hiểu đối với
người mới bắt đầu hoặc những người không có kiến thức sâu về mạng và hệđiều hành Linux Việc quản lý và duy trì các quy tắc phức tạp có thể gây khókhăn và dễ dẫn đến sai sót
- Thiếu Giao Diện Người Dùng Đồ Họa (GUI): Mặc dù có một số công cụ hỗ
trợ giao diện đồ họa cho IPTables, chúng thường không đủ mạnh mẽ và linhhoạt như dòng lệnh Điều này đòi hỏi người dùng phải sử dụng dòng lệnh, điều
mà không phải ai cũng quen thuộc
Trang 22- Hiệu Suất Bị Ảnh Hưởng Khi Quy Tắc Phức Tạp: Khi số lượng và độ phức
tạp của các quy tắc tăng lên, hiệu suất của IPTables có thể bị ảnh hưởng, gây ra
sự chậm trễ trong việc xử lý gói tin
- Khó Khăn Trong Quản Lý Quy Tắc Lớn: Với các hệ thống lớn, việc quản lý
một lượng lớn các quy tắc IPTables có thể trở nên khó khăn, đòi hỏi ngườiquản trị phải có các kỹ năng và công cụ quản lý chuyên biệt để duy trì hiệuquả
- Cập Nhật và Bảo Trì Phức Tạp: Quá trình cập nhật và bảo trì IPTables, đặc
biệt trong môi trường sản xuất, đòi hỏi phải có kế hoạch và kiểm tra kỹ lưỡng
Trang 23TÀI LIỆU THAM KHẢO
Lab05_IPTABLE.pdf