Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
3,33 MB
Nội dung
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 TƯỜNG LỬA LINUX (IP TABLE) Giảng viên hƣớng dẫn: Nguyễn Ngọc Quí Lớp: IE105.N22 Sinh viên thực hiện: Nguyễn Lê Tấn Quang MSSV: 21522512 TP Hồ Chí Minh – 05/2023 MỤC LỤC Chƣơng 1: LÝ THUYẾT 1.1 IPtables gì: 1.2 Cấu trúc IPtables: 1.3 Cơ chế xử lý gói tin bảng iptables: a Cơ chế xử lý gói tin: b Các bảng iptables: 1.4 Đặc điểm viết rule iptables: Chƣơng 2: CÀI ĐẶT CHƢƠNG TRÌNH 2.1 Cài đặt chương trình: Chƣơng 3: KẾT LUẬN 22 3.1 Ưu điểm: 22 3.2 Nhược điểm: 22 TÀI LIỆU THAM KHẢO 24 CHƢƠNG 1: LÝ THUYẾT 1.1 IPtables gì: IPtables chương trình firewall - Tường lửa miễn phí Chương trình phát triển chủ yếu cho hệ điều hành Linux, cho phép thiết lập quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật Khi sử dụng máy chủ, Iptables tiến hành thực thi tốt nhiệm vụ ngăn chặn truy cập không hợp lệ cách sử dụng Netfilter bên nhân Linux Đối với phân phối Linux Ubuntu, Fedora, CentOS… bạn tìm thấy cơng cụ tường lửa tích hợp sẵn IPtables Hình 1: Iptables IPTables tổ chức Netfilter Organization viết dùng để tăng tính bảo mật cung cấp miễn phí phiên distro hệ điều hành Linux Iptables gồm phần : Iptables nằm nhân ( user mode) Netfilter ( kernel mode) Iptables cung cấp tính sau: Tích hợp tốt với kernel tất phiên distro Linux Có khả phân tích gói tin ( mức IP ) hiệu Cung cấp khả chuyển dịch địa IP (Network Address Translation) Cung cấp số kỹ thuật ngăn chặn số kiểu công DOS, port scan 1.2 Cấu trúc IPtables: IPtables tạo nên từ cấu trúc sau: Tables Chain Targets (1) Tables ? Tables thành phần quan trọng hệ thống xử lí gói tin Nó gồm có bảng Filter, Nat Mangle Trong đó, Filter có chức lọc gói tin, Nat có nhiệm vụ chỉnh sửa địa nguồn chỉnh sửa đích đến gói tin hay theo dõi kết nối, Mangle chỉnh sửa QOS bit phần phần TCP Header gói tin (2) Chain ? Chain danh sách quy tắc bảng liên kết lại với móc nối hệ thống Móc nối (hay gọi hook point) nơi mà bạn giúp bạn chặn lưu lượng truy cập quy tắc (3) Targets ? Targets có chức xác định việc xảy với gói tin chain Hành động phổ biến drop (xóa bỏ) accept (đồng ý) Khi bạn muốn bỏ gói tin hay viết drop target Cịn bạn muốn giữ gói thứ cần accept target 1.3 Cơ chế xử lý gói tin bảng iptables: a Cơ chế xử lý gói tin: Iptables kiểm tra tất gói tin qua firewall iptables theo thứ tự theo nguyên tắc kiểm soát truy cập (còn gọi rules) từ rules thứ đến rules cuối Iptables tổ chức theo kiểu bảng để thực tổ chức phân loại xử lý gói tin b Các bảng iptables: Có loại bảng iptables: Bảng MANGLE: chịu trách nhiệm biến đổi trường Type Of Service Bit gói tin TCP Bảng chủ yếu sử dụng mạng SOHO (Small Office Home Office) Bảng FILTER: chịu trách nhiệm việc thiết lập lọc cho lọc gói ( packet filtering), có loại built-in chain xây dựng sẵn để mơ tả sách firewall Ba chain là: o Forward Chain : Áp sách gói tin từ card mạng firewall đến card mạng khác để qua mạng khác o Input Chain : Áp sách gói tin vào firewall o Output Chain : Áp sách gói tin từ firewall Hình 2: Các loại built-in chain Bảng NAT: Thực thi tính chuyển dịch địa IP ( Network Address Translation) Bảng có loại Chain sau: o PREROUTING (tiền định tuyến) : NAT từ vào mạng nội Quá trình NAT thực trước trình định tuyến, điều thuận lợi cho việc chuyển dịch địa IP đích cho phù hợp với bảng định tuyến Firewall, kỹ thuật ta gọi DNAT ( Destination NAT) o POSTROUTING( NAT hậu định tuyến) : NAT từ ngồi Q trình NAT thực sau q trình định tuyến hồn tất, điều thuận lợi cho việc chuyển dịch địa nguồn gói tin thành địa IP khác, kỹ thuật ta cịn gọi SNAT (Source NAT) Hình 3: NAT rules 1.4 Đặc điểm viết rule iptables: - Rule gồm điều kiện định ( target) - Bắt đầu từ rule - Khi điều kiện rule thỏa, gói tin áp sách trường target - Khi điều kiện khơng thõa, iptables kiểm tra điều kiện rule ( theo thứ tự) - Khi khơng có điều kiện thuộc rule thỏa, sách mặc định tương ứng với chain áp dụng ( sách mặc định Chain DROP hay ACCEPT) Một số sách áp dụng cho gói tin: - ACCEPT: iptables cho phép gói tin qua - DROP: iptables khơng cho phép gói tin qua - REJECT: iptables khơng cho phép gói tin qua gửi thông báo ngược lại cho người gửi - DNAT: thay đổi địa đích gói tin, thường kèm thơng số địa IP muốn thay đổi - SNAT : thay đổi địa nguồn gói tin, thường kèm thơng số địa IP muốn thay đổi Một số trạng thái kết nối sử dụng: - NEW : gói liệu thuộc kết nối hồn tồn - ESTABLISHED: gói liệu thuộc kết nối khởi tạo hai hướng RELATED: gói liệu thuộc kết nối phụ kết nối tại, thường dùng với giao thức icmp hay ftp CHƢƠNG 2: CÀI ĐẶT CHƢƠNG TRÌNH 2.1 Cài đặt chƣơng trình: - Khởi tạo máy ảo IPTABLES: Hình 4: Khởi tạo máy ảo Iptables - Chạy lệnh ifconfig: Hình 5: Chạy lệnh ifconfig - Dùng lệnh rpm -qi iptables để kiểm tra iptables cài đặt hay chưa Hình 6: Kiểm tra iptables cài đặt hay chưa? - Bật tính ip forwarding Hình 7: Bật tính ip forwarding - Lưu lại cấu hình khởi động lại lệnh service network restart Hình 8: Lưu lại cấu hình khởi động lại - Khởi động, dừng lại khởi động lại iptables: Hình 9: Khởi động, dừng lại khởi động lại iptables service 10 - Xóa tất rule iptables lệnh iptables –F : Hình 10: Xóa tất rule IPtables - Xem thông tin trạng thái iptables lệnh iptables -L -n -v Hình 11: Hiển thị thông tin trạng thái IPtables - Kiểm tra xem ssh máy ảo Iptables bật hay chưa Hình 12 Kiểm tra ssh máy ảo Iptables - Máy tính dùng có kết nối SSH đến Iptables hay khơng? 11 Hình 13: Máy tính dùng có kết nối SSH đến Iptables hay khơng Kết cho thấy máy tính thật ssh đến Iptables - Iptables ping đến PC1 hay khơng ? Hình 14: Iptables ping đến PC1 hay khơng Kết cho thấy Iptables ping đến PC1, gói tin nhận được–tỉ lệ gói 0% - Chỉnh sửa rule mặc định iptables thành DROP lệnh: iptables –P INPUT DROP iptables –P OUTPUT DROP iptables –P FORWARD DROP 12 Hình 15: Chỉnh sửa rule mặc định iptables thành DROP - Phiên kết nối SSH ban đầu tồn hay khơng ? Hình 16: Kết phiên kết nối SSH ban đầu cịn tồn hay khơng Kết cho thấy phiên kết nối ssh ban đầu khơng cịn tồn - Iptables ping đến PC1 hay khơng ? Hình 17: Kết Iptables ping đến PC1 hay không Kết cho thấy Iptables ping đến PC1 - Cấu hình cho phép ssh vào iptables lệnh: iptables –A INPUT –p tcp –dport 22 –m state –state NEW, ESTABLISHED, RELATED –j ACCEPT iptables –A OUTPUT –p tcp –sport 22 –m state –state NEW, ESTABLISHED, RELATED –j ACCEPT 13 Hình 18: Cấu hình cho phép SSH vào iptables - Kiểm tra lại xem máy thật SSH vào iptables chưa? Hình 19: Kết máy thật có SSH vào Iptables hay không Kết cho thấy máy thật ssh vào Iptables - Cấu hình cho phép ứng dụng giao tiếp với thông qua cổng loopback iptables: iptables –A INPUT –i lo –j ACCEPT Hình 20 Cấu hình cho phép ứng dụng giao tiếp với thông qua cổng loopback iptables - Cấu hình cho phép kết nối khởi tạo trước đó: iptables –A INPUT –m state –state ESTABLISHED,RELATED –j ACCEPT Hình 21 Cấu hình cho phép kết nối khởi tạo trước - Cấu hình NAT vùng mạng Client internet dùng địa IP card eth0 ( giống chức NAT overload router Cisco): iptables –A POSTROUTING –t nat –o eth0 –j MASQUERADE 14 Hình 22: Giao tiếp với thông qua cổng loopback, kết nối khởi tạo trước đó, NAT vùng mạng Client internet dùng địa IP card eth0 - PC1, PC2 có sử dụng dịch vụ http,https,dns hay khơng? + PC1: Hình 23: Kết PC1 không sử dụng dịch vụ https + PC2: 15 Hình 24: Kết PC2 khơng sử dụng dịch vụ http - PC1 có ping iptables hay khơng ? Hình 25: Kết PC1 khơng ping IPtables - Cấu hình rule cho phép PC thuộc lớp mạng 192.168.1.0/24 duyệt web theo giao thức http, https Trên iptables tiến hành mở port 80,443,53 iptables –A FORWARD –i eth1 –o eth0 –p udp –dport 53 –j ACCEPT iptables –A FORWARD –i eth1 –o eth0 –p tcp –dport 80 –j ACCEPT 16 iptables –A FORWARD –i eth1 –o eth0 –p udp dport 443 –j ACCEPT iptables –A FORWARD –i eth0 –o eth1 –m state –state RELATED, ESTABLISHED –j ACCEPT Hình 26: Cấu hình cho PC thuộc lớp mạng 192.168.1.0/24 duyệt web theo giao thức http, https - PC1 truy cập số trang web theo giao thức http hay khơng ? Hình 27: Kết PC1 truy cập trang web theo giao thức http - PC2 truy cập số trang web theo giao thức https hay không ? 17 Hình 28: Kết PC2 khơng truy cập trang web theo giao thức https - PC1, PC2 dùng lệnh nslookup phân giải tên miền hay không ? + PC1: Hình 29: Kết PC1 dùng lệnh nslookup phân giải tên miền + PC2: 18 Hình 30: Kết PC1 dùng lệnh nslookup phân giải tên miền - PC1, PC2 ping đến website www.google.com.vn hay không ? + PC1: Hình 31: Kết PC1 khơng thể ping đến website www.google.com.vn + PC2: Hình 32: Kết PC2 ping ping đến website www.google.com.vn - Cho phép PC1 thực ping đến iptables 19 iptables –A INPUT –p icmp –icmp-type –s 192.168.1.1 -m state state NEW,ESTABLISHED,RELATED –j ACCEPT iptables –A OUTPUT –p icmp –icmp-type -d 192.168.1.1 -m state -state NEW,ESTABLISHED,RELATED –j ACCEPT Hình 33: Cấu hình cho phép PC1 thực ping đến iptables - PC1 ping đến iptables hay không ? Hình 34: Kết PC1 ping đến iptables - PC2 ping đến iptables hay không ? 20 Hình 35: Kết PC2 khơng thể ping đến iptables - Lưu lại cấu hình iptables: iptables-save > /etc/sysconfig/iptables Hình 36: Lưu lại cấu hình iptables 21 CHƢƠNG 3: KẾT LUẬN 3.1 Ƣu điểm: - Bảo mật: IPTables sử dụng để chặn lưu lượng không mong muốn, ngăn truy cập trái phép vào hệ thống bạn giúp bảo vệ chống lại công dựa mạng - Tính linh hoạt: IPTables có khả tùy chỉnh cấu hình cao, cho phép bạn tạo quy tắc phức tạp để quản lý lưu lượng mạng dựa tham số khác địa IP nguồn, cổng đích giao thức - Hiệu suất: IPTables thiết kế để hoạt động nhanh hiệu quả, với chi phí thấp, không ảnh hưởng đến hiệu suất hệ thống bạn - Khả mở rộng: IPTables sử dụng mạng nhỏ lớn, làm cho trở thành giải pháp linh hoạt để quản lý lưu lượng mạng môi trường khác - Chi phí: IPTables mã nguồn mở miễn phí, làm cho trở thành giải pháp thay hợp lý cho giải pháp tường lửa độc quyền - Khả tương thích: IPTables tương thích với hầu hết phân phối Linux, khiến trở thành giải pháp sử dụng rộng rãi để quản lý lưu lượng mạng hệ thống dựa Linux 3.2 Nhƣợc điểm: - Độ phức tạp: IPtables phức tạp để hiểu thiết lập, đặc biệt người có kinh nghiệm hạn chế mạng bảo mật Nó địi hỏi hiểu biết tốt công nghệ quy tắc để triển khai tường lửa hiệu 22 - Thiếu giao diện đồ họa: IPtables công cụ dựa dịng lệnh, khó sử dụng người dùng khơng quen với giao diện dịng lệnh Khơng có sẵn giao diện người dùng đồ họa, khiến việc hình dung quy tắc tác dụng chúng trở nên khó khăn - Chi phí hoạt động: IPtables thêm chi phí hoạt động vào hệ thống, đặc biệt xử lý số lượng lớn gói Điều làm giảm hiệu suất mạng trở thành nút cổ chai mơi trường có lưu lượng truy cập cao - Khả hạn chế: IPtables bị hạn chế loại quy tắc hành động thực so với giải pháp tường lửa khác Ví dụ: khơng có khả phát chặn loại công cụ thể DDoS nỗ lực xâm nhập - Ghi nhật ký báo cáo hạn chế: IPtables khơng có khả ghi nhật ký báo cáo mạnh mẽ, gây khó khăn cho việc giám sát phát mối đe dọa bảo mật tiềm ẩn Điều gây khó khăn cho việc xác định tính hiệu tường lửa khắc phục cố 23 TÀI LIỆU THAM KHẢO [1] “Iptables gì”, MATBAO https://wiki.matbao.net/iptables-la-gi-cach-cauhinh-bao-mat-ubuntu-vps-linux-firewall/ [2] “Iptables cách sử dụng”,VIETNIX https://vietnix.vn/iptables-la-gi/ [3] “advantages and disadvantages of Iptables”, QUORA https://www.quora.com/What-are-the-advantages-and-disadvantages-of-Iptablesand-how-do-I-overcome-them [4] “Tìm hiểu IPtables” https://viblo.asia/p/network-tim-hieu-ve-iptablesn7prv348RKod./ [5] Lab05_IPTABLE 24