Nghiên cứu, khai thác hệ điều hành nhúng (embedded os) và khả năng xây dựng hệ thống firewall trên hệ điều hành nhúng

114 944 7
Nghiên cứu, khai thác hệ điều hành nhúng (embedded os) và khả năng xây dựng hệ thống firewall trên hệ điều hành nhúng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nghiên cứu, khai thác hệ điều hành nhúng (embedded os) và khả năng xây dựng hệ thống firewall trên hệ điều hành nhúng

Đồ án tốt nghiệp MỤC LỤC MỤC LỤC i DANH MỤC HÌNH VẼ iv BẢNG CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ CHUYÊN NGHÀNH vi LỜI NÓI ĐẦU ix Chương 1: HỆ THỐNG ĐIỀU KHIỂN NHÚNG 1.1 Hệ thống nhúng .1 1.1.1 Các khái niệm hệ nhúng Hình 1.1: Một vài hình ảnh hệ nhúng Hình 1.2: Phân bố mối quan hệ hệ nhúng thời gian thực 1.1.2 Lĩnh vực ứng dụng hệ nhúng .4 1.1.3 Đặc điểm công nghệ xu phát triển hệ nhúng .4 1.1.3.1 Đặc điểm công nghệ 1.1.3.2 Xu phát triển tăng trưởng hệ nhúng 1.2 Hệ điều hành nhúng (Embedded OS) .8 1.2.1 Hệ điều hành Hình 1.3: Kiến trúc hệ điều hành .8 1.2.2 Bộ nạp khởi tạo Hình 1.4: Nguyên lý hoạt động nạp khởi tạo boot-loader 10 Hình 1.5: Kiến trúc nạp khởi tạo boot-loader .12 1.2.3 Các yêu cầu chung 12 1.2.4 Hệ điều hành thời gian thực 14 Hình 1.6: So sánh kiến trúc RTOS OS chuẩn .14 Hình 1.7: Cấu trúc hệ điều hành thời gian thực .15 Hình 1.8: Mô hình trạng thái trình 17 Chương 2: HỆ ĐIỀU HÀNH LINUX 19 2.1 Sơ lược Linux 19 2.1.1 Giới thiệu hệ điều hành Unix 19 2.1.2 Giới thiệu hệ điều hành Linux .20 2.1.3 Tính Linux 21 2.1.4 Các thành phần: 22 2.1.5 Vấn đề quyền 24 2.1.6 Yêu cầu phần cứng 25 2.2 Dòng lệnh 26 2.2.1 Các phương thức hoạt động dòng lệnh 26 2.2.2 Trang Man 26 2.2.3 Các quy ước 27 2.3 Các lệnh Linux 28 2.3.1 Thư mục lệnh thư mục 28 2.3.1.1 Một số thư mục đặc biệt 28 2.3.1.2 Các lệnh lien quan đến thư mục 29 2.3.2 Tập tin lệnh tập tin 30 HVKT Mật Mã i Đồ án tốt nghiệp 2.3.2.1 Các kiểu tập tin Linux 30 2.3.2.2 Các lệnh tập tin 31 2.3.3 Các lệnh liên quan đến tài khoản người dùng 34 2.3.3.1 Các lệnh liên quan đến người dùng 34 2.3.3.2 Thay đổi thuộc tính người dùng 36 2.3.3.3 Xóa bỏ người dùng 36 2.3.4 Các lệnh liên quan đến nhóm người dùng .36 2.3.5 Các lệnh liên quan đến quản lý thiết bị 37 2.4 Một số vấn đề an toàn thông tin .38 2.4.1 Nguy an toàn 39 2.4.2 Giải pháp cho kernel 40 Chương 3: MỘT SỐ VẤN ĐỀ VỀ AN TOÀN THÔNG TIN VÀ HỆ ĐIỀU HÀNH NHÚNG BERING 41 3.1 Một số vấn đề an toàn thông tin .41 3.1.1 Tại cần an toàn thông tin 41 3.1.2 Mục tiêu an toàn thông tin .42 3.1.3 Các hình thức công mạng 43 Hình 3.1: Luồng thông tin bình thường hệ thống thông tin 43 3.1.3.1 Ngăn chặn thông tin 43 Hình 3.2: Luồng thông tin bị chặn đường truyền .43 3.1.3.2 Chặn bắt thông tin (Intercreption) 43 Hình 3.3: Luồng thông tin bị chặn bắt đường truyền .44 3.1.3.3 Sửa đổi thông tin (Modification) 44 Hình 3.4: Kẻ công sửa đổi thông tin đường truyền 44 3.1.3.4 Chèn giả thông tin (Fabrication) .44 Hình 3.5: Kẻ công chèn thông tin giả lên đường truyền 45 3.1.4 Các dịch vụ an toàn thông tin mạng .45 3.1.4.1 Dịch vụ bí mật (Confidentiality) .45 3.1.4.2 Dịch vụ xác thực (Authentication) 45 3.1.4.3 Dịch vụ toàn vẹn (Intergrity) 45 3.1.4.4 Dịch vụ chống chối bỏ (Nonrupudiation) .45 3.1.4.5 Kiểm soát truy cập (Access Control) 45 3.1.4.6 Tính sẵn sàng phục vụ (Availability) 46 3.1.5 Kỹ thuật an toàn truyền thông 46 3.1.5.1 Kỹ thuật tường lửa 46 3.1.5.2 Kỹ thuật mật mã 46 3.2 Hệ điều hành Bering tổ chức leafsourceforge 47 3.2.1 Đối tượng nghiên cứu đề tài 47 3.2.2 Tổng quan hệ điều hành nhúng Bering .47 3.2.3 Cài đặt Bering-uClibc: 48 Hình 3.6: Màn hình yêu cầu đưa đĩa mềm vào hệ thống 49 Hình 3.7: Cửa sổ fomat đĩa mềm HĐH Windows 50 3.2.4 Quản trị Bering: 51 3.2.4.1 Khởi động Bering 51 Hình 3.8: Màn hình khởi động Bering .52 Hình 3.9: Màn hình yêu cầu đăng nhập hệ thống 52 Hình 3.10: Màn hình cấu hình LEAF Bering 53 3.2.4.2 Môi trường làm việc Bering .53 HVKT Mật Mã ii Đồ án tốt nghiệp 3.2.4.3 Tắt HĐH Bering 54 3.2.4.4 Các lệnh LEAF Bering 54 3.2.4.5 Quản lý thiết bị lưu trữ 57 Hình 3.11: Màn hình cấu hình LEAF Bering 58 Hình 3.12: Các gói modules mặc định LEAF Bering 61 Hình 3.13: Nội dung files mặc định syslinux.cfg 62 Hình 3.14: Menu cấu hình mạng 63 Hình 3.15: Màn hình hiển thị nội dung mặc định giao diện eth0 64 Hình 3.16: Màn hình hiển thị nội dung mặc định eth1 64 Hình 3.17: Màn hình hiển thị nội dung mặc định hosts IP addresses .64 Hình 3.18: Màn hình hiển thị tên mặc định máy .65 Hình 3.19: Màn hình nội dung mặc định file cấu hình địa DNS 65 Hình 3.20: Màn hình hiển thị nội dung file /etc/host.allow .66 Hình 3.21: Màn hình mặc định nội dung hosts.deny 66 Hình 3.22: Màn hình mặc định nội dung Networks 67 3.2.4.6 Tổ chức leafsourceforge: 67 3.3 Tích hợp hệ điều hành nhúng Bering lên thiết bị lưu trữ .67 3.3.1 Cài đặt LEAF Bering Version 3.0 đĩa mềm 67 Hình 3.23: Màn hình khai báo nội dung file syslinux.cfg .68 Hình 3.24: Màn hình khai báo nội dung file syslinux.cfg .68 3.3.2 Cài đặt khởi động Bering từ USB .68 3.3.3 Cài đặt khởi động Bering từ ổ đĩa cứng IDE 71 3.3.4 Cài đặt khởi động Bering từ đĩa CD-ROM .72 Chương 4: BẢO MẬT VỚI FIREWALL SHOREWALL, IPTABLES TRÊN HỆ ĐIỀU HÀNH NHÚNG .74 4.1 Firewall 74 4.1.1 Định nghĩa 74 Hình 4.1: Vị trí firewall môi trường truyền 74 4.1.2 Chức 74 4.1.3 Cấu trúc FireWall 75 4.1.4 Các thành phần FireWall 75 4.1.4.1 Bộ lọc packet (Packet filtering router) 75 4.1.4.2 Cổng ứng dụng (Application-level gateway hay proxy server) 76 4.1.4.3 Cổng mạch (circuit-level gateway) .77 4.1.5 Những hạn chế Firewall 77 4.2 IpTables 78 4.2.1 Tổng quan IpTables 78 4.2.2 Bảng filter 79 4.2.3 Bảng NAT 79 4.2.4 Bảng mangle 80 Hình 4.2: Trình tự gói tin mangle .82 4.2.5 Cấu hình iptables 82 4.2.5.1 Cú pháp iptbles .82 4.2.5.2 Các lệnh iptables 83 4.2.5.3 Các điều kiện luật 85 4.2.5.4 Các hành động luật 88 4.2.5.5 Một số ví dụ 92 4.3 Shorewall 94 HVKT Mật Mã iii Đồ án tốt nghiệp 4.3.1 Khái niệm .94 4.3.2 Cài đặt Shorewall 95 Hình 4.3: Màn hình file leaf.cfg để khai báo gói shorewall.lrp vừa thêm vào 95 4.3.3 Cấu hình Shorewall 96 Hình 4.4: Cửa sổ LEAF Configuration menu 97 4.3.3.1 File Zones-Partition the network into zones 97 Hình 4.5: Màn hình hiển thị nội dung mặc định File Zones .97 4.3.3.2 File Ifaces-Shorewall Networking Interfaces 98 Hình 4.6: Màn hình hiển thị nội dung mặc định File Ifaces 98 4.3.3.3 File Rules-Exception to policy 98 Hình 4.7: Màn hình hiển thị nội dung mặc định File Rules 99 4.3.3.4 File masq-Internal MASQ Server configuration .99 Hình 4.8: Màn hình hiển thị nội dung mặc định File masq .100 4.4 Phân tích khả ứng dụng HĐH Bering an toàn thông tin 100 4.4.1 Mục tiêu an toàn thông tin .100 4.4.2 Một vài nhận xét tác giả sau qúa trình tìm hiểu HĐH nhúng Bering .100 KẾT LUẬN 102 TÀI LIỆU THAM KHẢO .103 CÁC TRANG WEB THAM KHẢO .103 DANH MỤC HÌNH VẼ Hình 1.1: Một vài hình ảnh hệ nhúng Hình 1.2: Phân bố mối quan hệ hệ nhúng thời gian thực Hình 1.3: Kiến trúc hệ điều hành .8 Hình 1.4: Nguyên lý hoạt động nạp khởi tạo boot-loader 10 Hình 1.5: Kiến trúc nạp khởi tạo boot-loader .12 Hình 1.6: So sánh kiến trúc RTOS OS chuẩn .14 Hình 1.7: Cấu trúc hệ điều hành thời gian thực .15 Hình 1.8: Mô hình trạng thái trình 17 Hình 3.1: Luồng thông tin bình thường hệ thống thông tin 43 Hình 3.2: Luồng thông tin bị chặn đường truyền .43 Hình 3.3: Luồng thông tin bị chặn bắt đường truyền .44 Hình 3.4: Kẻ công sửa đổi thông tin đường truyền 44 Hình 3.5: Kẻ công chèn thông tin giả lên đường truyền 45 Hình 3.6: Màn hình yêu cầu đưa đĩa mềm vào hệ thống 49 Hình 3.7: Cửa sổ fomat đĩa mềm HĐH Windows 50 Hình 3.8: Màn hình khởi động Bering .52 Hình 3.9: Màn hình yêu cầu đăng nhập hệ thống 52 Hình 3.10: Màn hình cấu hình LEAF Bering 53 Hình 3.11: Màn hình cấu hình LEAF Bering 58 Hình 3.12: Các gói modules mặc định LEAF Bering 61 Hình 3.13: Nội dung files mặc định syslinux.cfg 62 Hình 3.14: Menu cấu hình mạng 63 HVKT Mật Mã iv Đồ án tốt nghiệp Hình 3.15: Màn hình hiển thị nội dung mặc định giao diện eth0 64 Hình 3.16: Màn hình hiển thị nội dung mặc định eth1 64 Hình 3.17: Màn hình hiển thị nội dung mặc định hosts IP addresses .64 Hình 3.18: Màn hình hiển thị tên mặc định máy .65 Hình 3.19: Màn hình nội dung mặc định file cấu hình địa DNS 65 Hình 3.20: Màn hình hiển thị nội dung file /etc/host.allow .66 Hình 3.21: Màn hình mặc định nội dung hosts.deny 66 Hình 3.22: Màn hình mặc định nội dung Networks 67 Hình 3.23: Màn hình khai báo nội dung file syslinux.cfg .68 Hình 3.24: Màn hình khai báo nội dung file syslinux.cfg .68 Hình 4.1: Vị trí firewall môi trường truyền 74 Hình 4.2: Trình tự gói tin mangle .82 Hình 4.3: Màn hình file leaf.cfg để khai báo gói shorewall.lrp vừa thêm vào 95 Hình 4.4: Cửa sổ LEAF Configuration menu 97 Hình 4.5: Màn hình hiển thị nội dung mặc định File Zones .97 Hình 4.6: Màn hình hiển thị nội dung mặc định File Ifaces 98 Hình 4.7: Màn hình hiển thị nội dung mặc định File Rules 99 Hình 4.8: Màn hình hiển thị nội dung mặc định File masq .100 HVKT Mật Mã v Đồ án tốt nghiệp BẢNG CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ CHUYÊN NGHÀNH Tên Computer Response Tem HVKT Mật Mã Emgency Tên viết tắt CERT vi Ý nghĩa Đội phản ứng trình trạng khẩn cấp máy tính Đồ án tốt nghiệp Time slot Real-time Firewall Domain security Kernel General Public Licence Process Hacker Patch Input/Output Scan Rules Linux Intrusion Detection System Network Flight Recorder Embedded Operating System (Embedded System) Hard Disk Device Universal Serial Bus Intrusion Detctection Path Option Destination file Source file Filename Mount Backup Save Network configuration Domain Name Server Bering-uClibc Development’s Guide Bering-uClibc User’s Guide HVKT Mật Mã GPL IO LIDS NFR HDD USB DNS vii Khe thời gian Thời gian thực Bức tường lửa Miền an toàn Nhân (phần lõi hệ điều hành) Tổ chức quyền Quá trình xử lý, trình thực tiến trình Kẻ công mạng Vá lỗi Đầu vào/ra Quá trình kiểm tra Các qui tắc Hệ thống dò tìm lỗ hổng nhân Linux Thiết bị theo dõi mạng Hệ điều hành nhúng (thiết bị nhúng) Ổ đĩa cứng Thiết bị USB, USB chuẩn truyền liệu cho bus ngoại vi Dò tìm xâm nhập Đường dẫn Tùy chọn Tập tin đích Tập tin nguồn Tên tập tin Gắn kết nối Sao lưu lại Ghi lại Cấu hình mạng Dịch vụ phân giải tên miền Tài liệu hướng dẫn phát triển Bering-uClibc Tài liệu hướng dẫn sử dụng Đồ án tốt nghiệp Bering-uClibc Tunnel Transmission Control Protoc ol TCP User DataGram Protocol UDP Network Address Translation NAT Tunnels/Tunnels Protocol Address SSL/TLS Mật mã khóa công khai TUN/TAP Giao diện mạng ảo Phần nền, sở Platforms X.509 Ports Hệ điều hành HĐH Floppy disk FFD Thuật toán khóa X.509 Cổng, giao diện dùng để hướng dẫn đồng việc truyền liệu đơn vị xử lý trung tâm thiết bị Phần cốt lõi, phần nhân máy tính Đĩa mềm Mạng Subnet Virus Point to Point Protocol Đường hầm Là phần chuyển tải giao thức TCP/IP Internet Nó nằm giao thức IP Là dịch vụ truyền hướng kết nối Giao thức truyền, UDP dịch vụ truyền phi kết nối không cần độ tin cậy Dịch chuyển địa mạng PPP Đoạn chương trình thực thao tác mà người dùng máy tính không mong muốn, làm tổn hại đến chương trình, tài nguyên khác máy tính Giao thức kết nối điểm-điểm Random Access Memory RAM Bộ nhớ truy cập ngẫu nhiên Network Interfaces Card NIC Card giao tiếp mạng, NIC adapter cài đặt máy HVKT Mật Mã viii Đồ án tốt nghiệp tính để cung điểm nối kết với mạng máy tính LỜI NÓI ĐẦU Kỷ nguyên công nghệ tiếp tục phát triển không ngừng nhằm thông minh hóa đại hóa thông suốt hệ thống Sau phát triển máy tính lớn mini (main frame mini computer) giai đoạn 1960-1980 Giai đoạn PC-Internet 1980-2000 Giai đoạn hậu PC-Internet dự đoán từ 2000 đến 2020 giai đoạn môi trường thông minh mà hệ điều hành nhúng cốt lõi làm nên sóng đổi công nghệ thông tin Khoa học công nghệ phát triển số lượng chất lượng Số lượng người dùng Internet Việt Nam giới tăng lên hàng ngày, với việc đối tượng lợi dụng để tạo công cụ lấy cắp thông tin ngày tinh vi kỹ xảo Vì việc đảm bảo an toàn thông tin mạng vấn đề cần quan tâm Ngày nay, có nhiều sản phẩm an toàn thông tin phần cứng lẫn phần mềm, sản phẩm phát triển nước nước Mỗi sản phẩm có ưu nhược điểm riêng Một vấn đề đặt cần có sản phẩm đảm bảo độ an toàn, sửa đổi cho HVKT Mật Mã ix Đồ án tốt nghiệp phù hợp với lợi ích người sử dụng, không giới hạn, có kích thước nhỏ gọn thiết bị chuyên dụng Với lý trên, đề tài “Nghiên cứu, khai thác hệ điều hành nhúng (embedded OS) khả xây dựng hệ thống Firewall hệ điều hành nhúng”, nhằm đem lại kiến thức hệ điều hành nhúng (hệ điều hành Bering ), khai thác ứng dụng, công cụ Bering Nội dung đề tài chia làm chương, với nội dung sau: • Chương 1: Hệ thống điều khiển nhúng Nội dung chương trình bày số khái niệm hệ nhúng vấn đề liên quan Giúp ta hiểu đặc điểm công nghệ ứng dụng thực tế Đồng thời đưa khái niệm, ưu nhược điểm hệ điều hành nhúng Thông qua chương giúp ta có nhìn hệ điều hành nhúng, từ sâu tìm hiểu cụ thể hệ điều hành nhúng Bering chương • Chương 2: Hệ điều hành Linux Chương trình bày số vấn đề hệ điều hành Linux nguồn gốc đời, trình phát triển số câu lệnh hệ điều hành Linux • Chương 3: Một số vấn đề an toàn thông tin HĐH nhúng Bering Trong chương nêu lên số vấn đề an toàn thông tin mạng Từ tìm hiểu sâu hệ điều hành nhúng cụ thể hệ điều hành Bering tổ chức leafsourceforge Đồng thời nghiên cứu cách tích hợp Bering lên thiết bị • Chương 4: Bảo mật với Firewall Iptables, Shorewall Chương với mục tiêu tìm hiểu Firewall (Iptables Shorewall), ứng dụng việc đảm bảo an toàn cho hệ thống Cụ thể nghiên cứu Shorewall hệ điều hành Bering HVKT Mật Mã x Đồ án tốt nghiệp xử lý luật theo các luật được khai báo chuỗi luật người dùng định nghĩa này Thí dụ: iptables -A INPUT -p tcp -j tcp_packets ACCEPT Ngay sau gói tin đáp ứng được các điều kiện một luật và hành động xử lý gói tin này là ACCEPT, gói tin được chấp nhận và không phải bị kiểm tra bởi các chuỗi luật khác cùng bảng Tuy nhiên, một gói tin được chấp nhận một chuỗi luật vẫn có thể phải qua các chuỗi luật khác các bảng khác và có thể bị loại bỏ ở những bảng đó Để sử dụng hành động này cần chỉ –j ACCEPT luật • DROP Hành động DROP sẽ loại bỏ các gói tin lập tức Chú ý rằng hành động có thể gây một số tác động ngoài ý muốn, nó có thể bỏ lại những socket không dùng máy Do vậy, giải pháp tốt là dùng hành động REJECT, đặc biệt là muốn ngăn chặn việc quét cổng • REJECT Hành động REJECT hành động tương tự hành động DROP, nó gửi thông báo lỗi cho máy gửi gói tin bị loại bỏ Hành động này chỉ được phép khai báo các chuỗi luật INPUT, FORWARD và OUTPUT • RETURN Khi một gói tin gặp hành động RETURN, iptables sẽ ngừng kiểm tra gói tin chuỗi luật hiện hành Nếu chuỗi luật hiện hành là của chuỗi luật khác, gói tin sẽ tiếp tục được kiểm tra bởi các luật chuỗi luật cha nếu không có luật nào khác được thực hiện Nếu chuỗi luật là chuỗi luật chính, thí dụ INPUT, gói sẽ chịu tác động của hành động mặc định của chuỗi luật đó • SNAT Hành đông SNAT được sử dụng để chuyển đổi địa chỉ mạng nguồn (Source Network Address Translation), có nghĩa là thay đổi địa chỉ IP nguồn header của gói tin Hành động này thường được áp dụng có nhiều máy tính sử dụng chung một kết nối Internet Hành động SNAT chỉ hợp lệ được đặt chuỗi luật POSTROUTING của bảng nat Chỉ có gói đầu tiên một kết nối là được thay đổi bởi hành động SNAT, và sau đó tất cả các gói kế HVKT Mật Mã 89 Đồ án tốt nghiệp tiếp sử dụng cùng kết nối sẽ cũng được đổi địa chỉ nguồn Thêm nữa, các luật khởi nạp chuỗi luật POSTROUTING sẽ được áp dụng tới tất cả các gói tin cùng dòng dữ liệu Hành động SNAT được sử dụng cùng với lựa chọn too-source Lựa chọn này được dùng để xác định địa chỉ IP và cổng mà gói tin sẽ sử dụng Lụa chọn này sẽ thực hiện thay thế địa chỉ IP nguồn header của gói tin bằng một những địa chỉ IP được dặt Nếu muốn cân bằng giữa các địa chỉ IP, ta có thể sử dụng một dãy địa chỉ IP, sử dụng ký tự ‘-’ để phân cách Các dòng dữ liệu sẽ sử dụng các địa chỉ dải này một cách ngẫu nhiên; các gói tin của cùng một dòng dữ liệu sẽ sử dụng cùng một địa chỉ IP Trong SNAT, ta cũng có thể chỉ một dãy các cổng được sử dụng để thay đổi cổng nguồn của gói tin Các cổng nguồn chỉ hợp lệ điều kiện –p tcp hay –p udp được chỉ luật Thí dụ: iptables –t nat –A POSTROUTING –p –tcp –o eth0 –j SNAT tosource 194.236.50.155-194.236.50.160:1024-32000 • MASQUERADE Hành động này được sử dụng bản hành động SNAT, nó không đòi hỏi phải sử dụng lựa chọn to-source Hành động MASQUERADE được sử dụng để làm việc với các kết nối sử dụng đại chỉ IP động các kết nối quay số (dial-up) hay DHCP Điều đó có nghĩa là chỉ sử dụng MASQUERADE với các kết nối IP được gán địa chỉ đông Nếu ta có kết nối IP tĩnh nên sử dụng hành động SNAT Khi sử dụng masquerade một kết nối, có nghĩa là sử dụng địa chỉ IP của một giao tiếp mạng thay địa chỉ IP nguồn header của gói tin Hành động MASQUERADE cũng tác động tới các kết nối bị bỏ quên một giao tiếp mạng tắt (nếu sử dụng SNAT thì sẽ bị mất dữ liệu trường hợp này) MASQUERADE vẫn có thể được sử dụng thay thế cho SNAT, cả sử dụng địa chỉ IP tĩnh, nhiên với việc sử dụng thê không có lợi đó phải sử dụng thêm nhiều xử lý và có thể có mâu thuẫn tương lai Chú ý: MASQUERADE chỉ hợp lệ được dặt chuỗi luật POSTROUTING của bảng nat HVKT Mật Mã 90 Đồ án tốt nghiệp Hành động MASQUERADE có thể được sử dụng cùng với lựa chọn toports Lựa chọn này được sử dụng để gán lại cổng nguồn cho các gói tin Ta có thể chỉ một cổng hay một dãy cổng được phân cách bởi ký tự ‘-’ Lựa chọn này chỉ hợp lệ nếu luật có điều kiện –p tcp hay –p udp Thí dụ: iptables –t nat –A POSTROUTING –p TCP –j MASQUERADE to-ports 1024-31000 • DNAT Hành động DNAT được sử dụng để chuyển đổi địa chỉ mạng đích có nghĩa là nó sử dụng để ghi lại địa chỉ IP Destination header của một gói tin Nếu một gói tin thỏa mãn ddieuf kiện của luật, và chịu tác động của hành động DNAT, gói tin và tất cả các gói tin theo sau cùng dòng dữ liệu sẽ được chuyển đổi địa chỉ IP đích header của chúng và sau đó được dẫn đường tới giao tiếp mạng, máy hay mạng được yêu càu Hành động này có thể rất hữu dụng, thí dụ trường hợp ta có một máy chủ web nằm LAN không có địa chỉ thật Ta có thể thông báo cho firewall chuyển tiếp tất cả các gói tin vào công http của bản thân nó (có địa chỉ thật) tới máy chủ web LAN Hành động DNAT chỉ có thể được sử dụng các chuỗi luật PREROUTING và OUTPUT bảng nat Lựa chọn to-destination được sử dụng cùng DNAT để thông báo cho DNAT biết địa chỉ IP sẽ được sử dụng thay thế cho đích đến header của gói tin Ta có thể chỉ một dãy các địa chỉ đích, phân cách bởi ký tự ‘-’, mỗi dòng dữ liệu sẽ sử dụng ngẫu nhiên một địa chỉ dãy địa chỉ chỉ Tất cả các gói tin cùng một dòng dữ liệu sẽ sử dụng cùng một địa chỉ IP Ta cũng có thể bổ sung thêm một cổng hay các cổng muốn chuyển hướng gói tin tới những công đó Để thêm có thể sử dụng :port vào địa chỉ mà ta muốn DNAT các gói tin; lựa chọn này chỉ hợp lệ nếu luật chỉ điều kiện –p tcp hay –p udp Thí dụ: iptables –t nat –A PREROUTING –p tcp –d 15.45.23.67 –dport 80j DNAT to-destination 192.168.1.1-192.168.1.10 HVKT Mật Mã 91 Đồ án tốt nghiệp Khi sử dụng DNAT, các máy mạng cục bộ có thể không truy nhập máy dịch vụ vấn đề dẫn đường Do vậy, giải pháp đơn giản cho vấn đề sử dụng hành động SNAT cho tất gói vào firewall Thí dụ: iptables –t nat –A POSTROUTING –p tcp dst $HTTP_IP dport 80 –j SNAT –to-source $LAN_IP Ngoài hành động, điều kiện nêu trên, iptables nhều điều kiện hành động khác nữa; để biết chi tiết tham khảo thêm lệnh man 4.2.5.5 Một số ví dụ Dưới số ví dụ minh hoạ việc sư dụng điều kiện hành động đặc biệt hữu ích công việc xây dựng firewall Giả sử mạng cục có địa $LOCAL_IP, firewall sử dụng hai card mạng: card mạng $EXT_ETH, nối Internet card mạng $INT_ETH nối với mạng cục • Chống syn flooding: iptables –A FORWARD –p tcp syn –m limit limit l/s –j ACCEPT • Chống Scan Port: iptables –A FORWARD –p tcp tcp –flags SYN,ACK,FIN,RST RST –m limit limit l/s –j ACCEPT • Chống Ping of Death: iptables –A FORWARD –p imp icmp-type echo-request –m limit limit l/s –j ACCEPT • Chống giả mạo địa từ bên ngoài: iptables –t nat –A PREROUTING -i $EXT_ETH –s $LOCAL_IP –j DROP • Ưu tiên thông lượng cho truy cập Web: iptables –t mangle –A PREROUTING –p tcp sport 80 –j TOS set-tos Maximize-Throughput • Thiết lập Transparent proxy cách chuyển hướng port 80 đến máy chủ proxy 10.0.0.9: iptables –t nat –A PREROUTING –p tcp dport 80 –j DNAT todestination 10.0.0.9:3128 HVKT Mật Mã 92 Đồ án tốt nghiệp • Ngăn chặn Nimda, Codered: iptables –I INPUT –p tcp –s 0/0 –m string string “c+dir” –j DROP iptables –I INPUT –p tcp –s 0/0 –m string string “cmd.exe” –j DROP iptables –I INPUT –p tcp –s 0/0 –m string string “defaul.exe” –j DROP • script khởi động: Để luật iptables tự động thi hành máy tính hay chương trình iptables khởi động lại, ta cần tạo script chứa luật iptables Script khởi động lại /ect/sysconfig/iptables có dạng sau: + Tên_bảng_1 :chuỗi_luật_1 hành_động [số đếm byte:số đếm gói] :chuỗi_luật_2 hành_động [số đếm byte:số đếm gói] :chuỗi_luật_n hành_động [số đếm byte:số đếm gói] Luật_1 Luật_2 … Luật_n COMMIT + Tên_bảng_2 … COMMIT Trong chuỗi_luật tên chuỗi luật có bảng Chú ý rằng, danh sách tên chuỗi luật phải liệt kê theo thứ tự Hành_động hành động mặc định chuỗi luật Chú ý: Không đặt dòng trắng tập tin scrip Dòng ghi dòng bắt đầu ký tự # Các dòng ghi không đặt phần nội dung phần khai báo HVKT Mật Mã 93 Đồ án tốt nghiệp Tên bảng viết chữ thường, tên chuỗi luật hành động phải viết chữ hoa Sau thay đổi nội dung script phải khởi động lại iptables để thực thi thay đổi vừa thực #/ect/rc.d/init.d/iptables restart Sau ví dụ nội dung script: *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING –s 172.16.12.0/255.255.255.0 –o eth0 –j MASQUERADE COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT –p tcp –m tcp dport 22 –syn j ACCEPT -A INPUT -i lo –j ACCEPT -A INPUT –p tcp –m tcp dport 0:1023 –syn j REJECT COMMIT 4.3 Shorewall 4.3.1 Khái niệm Người ta biết nhiều Shorewall công cụ bậc cao cho việc cấu hình Netfilter Các thủ tục firewall/gateway sử dụng dựa vào tập hợp file cấu hình Shorewall đọc file cấu hình với trợ giúp tiện ích như: iptables, iptables-restore, ip tc để cấu hình Netfilter tiểu hệ thống mạng Linux cho phù hợp với yêu cầu Shorewall sử dụng hệ thống firewall chuyên dụng, gateway/router/server đa chức hệ hệ thống GNU/Linux độc lập Shorewall không sử dụng chế độ tương thích ipchains Netfilter mà tạo lợi lực kiểm tra trạng thái kết nối Netfilter HVKT Mật Mã 94 Đồ án tốt nghiệp Shorewall daemon Một Shorewall cấu hình cho tiểu hệ thống mạng Linux, nhiệm vụ làm việc hoàn thiện mà không cho phép “Shorewall process” chạy hệ thống Shorewall không dễ dàng để sử dụng công cụ cấu hình iptables sẵn có mềm dẻo mạnh mẽ Tóm lại, đặc tính quan trọng Bering dựa vào Shorewall để cung cấp firewall đuợc dễ dàng Một số đặc trưng Shorewall lý cho lựa chọn này: - Shorewall Firewall sở iptables - Là công cụ mạnh mềm dẻo - Tài liệu Shorewall cung cấp đầy đủ mạng.Đặc trưng quan trọng hỗ trợ nhiều từ nhà phát triển - Mã nguồn tài liệu Shorewall tìm thấy trang web http://www.shorewall.net 4.3.2 Cài đặt Shorewall Quá trình cài đặt Shorewall hoàn toàn tương tự cài gói ứng dụng khác vào Bering-uClibc Cụ thể copy file shorewall.lrp vào đĩa khởi động khai báo file leaf.cfg (mặc định LEAF Bering-uClibc 3.x có sẵn Shorewall, thay gói khác) Sau copy file shorewall.lrp vào đĩa xong ta thực khai báo sau: ( Hình 4.3: Màn hình file leaf.cfg để khai báo gói shorewall.lrp vừa thêm vào HVKT Mật Mã 95 Đồ án tốt nghiệp 4.3.3 Cấu hình Shorewall Để cấu hình shorewall, từ cửa sổ LEAF Configuration Menu chọn phím “3-Packages Configuration”, chọn tiếp phím số “5-Shorewall” xuất cửa sổ Shorewall Configuration Files sau: (…) HVKT Mật Mã 96 Đồ án tốt nghiệp Hình 4.4: Cửa sổ LEAF Configuration menu Có file cấu hình shorewall cần phải kiểm tra chắn chúng phù hợp với nhu cầu hệ thống 4.3.3.1 File Zones-Partition the network into zones Gõ phím số “3” để vào file này, mặc định nội dung định nghĩa mạng (/etc/shorewall/zones) file sau: (…) Hình 4.5: Màn hình hiển thị nội dung mặc định File Zones Trong đó: HVKT Mật Mã 97 Đồ án tốt nghiệp -net: Mạng (Internet) giao tiếp với firewall thông qua ipv4 -loc: Mạng riêng (local networks) giao tiếp với firewall thông qua ipv4 Người quản trị firewall thay đổi thiết lập mặc định này, định nghĩa mạng cách thêm vào dòng theo cú pháp tương tự 4.3.3.2 File Ifaces-Shorewall Networking Interfaces Gõ phím số “4-Ifaces” để vào file này, file định nghĩa giao diện firewall kết nối với zones định nghĩa file zones (/etc/shorewall/interfaces) Mặc định hệ thống định nghĩa sau: (…) Hình 4.6: Màn hình hiển thị nội dung mặc định File Ifaces Như vậy, giao diện eth0 nối trực tiếp với mạng (net), giao diện eth1 nối trực tiếp với mạng (loc) 4.3.3.3 File Rules-Exception to policy Nhấn phím số “8-Rules” để vào file này, file định nghĩa luật lọc (/etc/shorewall/rules) thể chức firewall gần thiếu dự án firewall Bering-uClibc Mặc định nội dung file sau: HVKT Mật Mã 98 Đồ án tốt nghiệp (…) Hình 4.7: Màn hình hiển thị nội dung mặc định File Rules Tùy theo sách hệ thống, cần định giao dịch phép/không phép qua firewall Các luật thêm vào cách soạn thêm dòng trực tiếp file Rules theo cú pháp 4.3.3.4 File masq-Internal MASQ Server configuration Chọn phím số “10-Masq” để vào file này, file chức NAT (giả dạng) rõ Source NAT (SNAT) mặc định nội dung file (/etc/shorewall/masq) có dạng sau: HVKT Mật Mã 99 Đồ án tốt nghiệp (…) Hình 4.8: Màn hình hiển thị nội dung mặc định File masq Như ta thấy giao diện giả dạng eth0 mạng giả dạng eth1 Chú ý: Sau thay đổi nội dung file ta phải ghi lại nội dung backup gói shorewall.lrp để có hiệu lực lần khởi động sau Mặc định, Shorewall chạy trình khởi động hệ điều hành thiết lập qui tắc Firewall theo file cấu hình đặt trước Trong trình sử dụng, người quản trị tắt, khởi động, xem trạng thái Shorewall thông qua lệnh: #shorewall stop|start|status 4.4 Phân tích khả ứng dụng HĐH Bering an toàn thông tin 4.4.1 Mục tiêu an toàn thông tin Như tìm hiểu, phân tích (mục 3.1.2.) Mục tiêu an toàn thông tin nhằm: - Bảo đảm bí mật: Thông tin an toàn (bảo mật) đường truyền - Bảo đảm toàn vẹn: Ngăn cản, hạn chế việc tạo mới, bổ sung, xóa hay sửa liệu mà không ủy thác - Bảo đảm tính sẵn sàng: Khả đáp ứng thông tin nhanh chóng (với người dùng hợp pháp) - Bảo đảm sử dụng hợp pháp: Tài nguyên không bị sử dụng người không cấp quyền hay theo cách không hợp pháp 4.4.2 Một vài nhận xét tác giả sau qúa trình tìm hiểu HĐH nhúng Bering - Ưu điểm bật mã nguồn mở miễn phí người dùng Chúng tung lên mạng, tất người sửa chữa, nâng cấp Một có lỗ hỗng tung lên mạng quan tâm sửa HVKT Mật Mã 100 Đồ án tốt nghiệp chữa người; trở nên hoàn thiện nói cộng đồng mã nguồn mở xây dựng Và dựa vào để xây dựng riêng cho HĐH theo mục đích - Theo quan điểm an toàn thông tin thêm ứng dụng chạy hệ thống thêm một/nhiều nguy an toàn.Ở đây, chúng tối thiểu đến mức có thể, giữ lại ứng dụng cần thiết theo mục đích, nhu cầu người dùng Vì nhỏ gọn đầy đủ tính cho mục đích chuyên dụng Tích hợp lên thiết bị lưu trữ gọn nhẹ như: USB, thẻ nhớ, đĩa mềm,…để mang theo bên (tính động) - Khi khởi động xong tất liệu tải vào RAM, làm việc làm việc RAM Sau khởi động xong, lấy thiết bị lưu trữ khởi động khỏi hệ thống Chính khả xử lý nhanh chóng Nếu chẳng may bị vi rút công phiên làm việc Chỉ cần USB tích hợp HĐH nhúng Bering khởi động cho phòng máy tính - Có thể cung cấp đầy đủ tính như: mạng, mã hóa, xác thực,… Với lý phân tích trên, ta hoàn toàn tin tưởng để nghiên cứu làm chủ, phát triển HĐH nhúng Bering cho việc sử dụng an toàn thông tin HVKT Mật Mã 101 Đồ án tốt nghiệp KẾT LUẬN Sau thời gian nghiên cứu với giúp đỡ nhiệt tình thầy giáo, thạc sỹ Nguyễn Như Tuấn Đồ án “Nghiên cứu, khai thác hệ điều hành nhúng khả xây dựng Firewall hệ điều hành nhúng” hoàn thành với nội dung theo yêu cầu Do thời gian có hạn, đồ án không sâu chi tiết mà nêu lên số nội dung sau: Chỉ tính cấp thiết đề tài, sở nghiên cứu, khai thác hệ điều hành Bering Chỉ ưu điểm hệ điều hành Bering lĩnh vực an toàn thông tin Trình tự trình cài đặt cấu hình Bering Tìm hiểu phần mềm an toàn Shorewall, cách cài đặt sử dụng Shorewall Một số vấn đề cần nghiên cứu: Đồ án dừng lại sở lý thuyết Trong tương lai, có thời gian nghiên cứu đề tài thực mốt số mục tiêu sau: • Làm chủ hệ điều hành nhúng Bering • Xây dưng phát triển Bering hai sở: - HVKT Mật Mã Về phần mềm: Nghiên cứu để tối ưu cho hệ thống, tăng tốc độ, đáp ứng theo mục đích người sử dụng Về phần cứng: Chạy hệ điều hành thiết bị chuyên dụng cá nhân, tổ chức, doanh nghiệp… 102 Đồ án tốt nghiệp TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] TS Lưu Hồng Việt Hệ thống điều khiển nhúng Đại BK Hà Nội Đề tài nghiên cứu khai thác phần mềm Linux nhúng phục vụ cho việc tạo thiết bị an toàn thông tin chuyên dụng, Ts Đặng Vũ Sơn, năm 2006 Trần Thạch Tùng Hoàng Đức Hải Bảo mật tối ưu hóa Linux Nhà xuất lao động-xã hội Nguyễn Ngọc Tuấn & Hồng Phúc 100 thủ thuật cao cấp với Linux Nhà xuất Giao thông vận tải Nhóm tác giả Elicom Làm chủ hệ điều hành Linux Nhà xuất thống kê CÁC TRANG WEB THAM KHẢO [1] [2] [3] [4] [5] [6] w.w.w.leaf.sourceforge.net w.w.w.quantrimang.com w.w.w.vnlinux.org w.w.w.diendantinhoc.net w.w.w.shorewall.net w.w.w.uClibc.org HVKT Mật Mã 103 [...]... và thực hiện một hoặc một nhóm chức năng rất độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn mà nó được nhúng vào Ví dụ như một vi xử lý thực hiện một phần điều khiển cho một chức năng thu thập, xử lý và hiển thị của ôtô hay hệ thống điều khiển quá trính Khả năng này làm tăng thêm sự chuyên biệt hoá về chức năng của một hệ thống lớn và dễ dàng hơn cho quá trính xây dựng, vận hành và. .. triển hiện nay hệ điều hành cho các hệ nhúng chỉ nên cỡ khoảng nhỏ hơn 32 Kbytes Hệ thống điều hành đảm nhiệm việc điều khiển các chức năng cơ bản của hệ thống bao gồm chủ yếu là quản lý bộ nhớ, ngoại vi và vào ra giao tiếp với hệ thống phần cứng Một điểm khác biệt cơ bản như chúng ta đã biết về hệ điều hành với các phần mềm khác là nó thực hiện chức năng điều khiển sự kiện thực thi trong hệ thống Có nghĩa... chưa thực sự phù hợp để có thể được thực thi cho các hệ thống nhúng bởi vì nó đòi hỏi dung lượng bộ nhớ không nhỏ và thường phù hợp cho các ứng dụng đòi hỏi về độ an toàn và độ tin cậy lớn Hệ thống điều hành thời gian thực là hệ điều hành hỗ trợ khả năng xây dựng các hệ thống thời gian thực Hình 1.6: So sánh kiến trúc RTOS và OS chuẩn Hệ thống điều hành với phần lõi là hạt nhân phải đảm nhiệm các tác... nghiệp Chương 1: HỆ THỐNG ĐIỀU KHIỂN NHÚNG Nội dung chương này trình bày một số khái niệm về hệ nhúng, và vấn đề liên quan Giúp ta hiểu được đặc điểm công nghệ và các ứng dụng của nó trong thực tế Đồng thời đưa ra khái niệm về hệ điều hành nhúng; những ưu, nhược điểm của nó Thông qua chương này giúp ta có cái nhìn cơ bản về hệ điều hành nhúng, từ đó sẽ đi sâu tìm hiểu cụ thể về hệ điều hành nhúng Bering... biết sâu sắc về phần cứng và có thể phát triển dựa trên các ngôn ngữ bậc cao Hệ thống điều hành bản chất cũng là một loại phần mềm nhưng nó khác với các loại phần mềm thông thường Sự khác biệt điển hình là hệ thống điều hành được nạp và thực thi đầu tiên khi hệ thống bắt đầu khởi động và được thực hiện trực tiếp bởi bộ xử lý của hệ thống Hệ thống điều hành được viết để phục vụ điều khiển bộ xử lý cũng... ứng dụng, thiết bị vào ra và các sự kiện ngắt Bốn nhân tố chính tác động trực tiếp tới quá trình thiết kế hệ điều hành là: (1) khả năng thực hiện, (2) năng lượng tiêu thụ, (3) giá thành, và (4) khả năng tương thích Hiện nay chúng ta cũng có thể bắt gặp rất nhiều hệ điều hành khác nhau đặc biệt cho các hệ nhúng cũng vì sự tác động của 4 nhân tố nêu trên Hầu hết chúng đều có kiểu dạng và giao diện khá... vực công nghiệp về điều khiển và tự động hoá, hệ nhúng cũng là một giải pháp đầy tiềm năng đã và đang được ứng dụng rộng rãi Nó rất phù hợp để thực thi các chức năng thông minh hoá, chuyên biệt trong các hệ thống và thiết bị công nghiệp, từ các hệ thống tập trung đến các hệ thống phân tán Giải pháp hệ nhúng có thể thực thi từ cấp thấp nhất của hệ thống công nghiệp như cơ cấu chấp hành cho đến các cấp... hệ thống của Bell Labs) nghĩa rằng ông ta có thể làm một hệ điều hành tốt hơn Vì vậy ông ta đã viết một hệ điều hành trên hệ thống máy tính PDP-7, và hệ điều hành này được gọi là Unix Mục tiêu khởi đầu là cung cấp một môi trường máy tính hoá để mô phỏng trò chơi không gian Nhưng có một vấn đề xảy ra là phiên bản Unix này không thể chạy được trên hệ thống phần cứng khác Do đó đến năm 1973, Ritchie và. .. cấp cao hơn như giám sát điều khiển quá trình HVKT Mật Mã 7 Đồ án tốt nghiệp 1.2 Hệ điều hành nhúng (Embedded OS) 1.2.1 Hệ điều hành Nguồn gốc ra đời của hệ điều hành là để đảm nhiệm vai trò trung gian để tương tác trực tiếp với phần cứng của máy tính, phục vụ cho nhiều ứng dụng đa dạng Các hệ điều hành cung cấp một tập các chức năng cần thiết để cho phép các gói phần mềm điều khiển phần cứng máy tính... Nhận dạng và lựa chọn đúng bộ xử lý và phục vụ dịch vụ ngắt • Điều khiển quá trình: + Tạo và kết thúc quá trình/tác vụ + Lập lịch và điều phối hoạt động hệ thống + Định thời • Điều khiển ngoại vi + Xử lý ngắt + Khởi tạo giao tiếp vào ra Hình 1.7: Cấu trúc hệ điều hành thời gian thực Tuỳ theo cơ chế thực hiện và xây dựng hoạt động của hạt nhân người ta phân ra một số loại hình sau: (1) Hệ thống thời ... lý trên, đề tài Nghiên cứu, khai thác hệ điều hành nhúng (embedded OS) khả xây dựng hệ thống Firewall hệ điều hành nhúng , nhằm đem lại kiến thức hệ điều hành nhúng (hệ điều hành Bering ), khai. .. có nhìn hệ điều hành nhúng, từ sâu tìm hiểu cụ thể hệ điều hành nhúng Bering chương chương sau 1.1 Hệ thống nhúng 1.1.1 Các khái niệm hệ nhúng • Hệ nhúng: Trong giới thực thiết bị hay hệ thống. .. an toàn độ tin cậy lớn Hệ thống điều hành thời gian thực hệ điều hành hỗ trợ khả xây dựng hệ thống thời gian thực Hình 1.6: So sánh kiến trúc RTOS OS chuẩn Hệ thống điều hành với phần lõi hạt

Ngày đăng: 08/04/2016, 18:52

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • DANH MỤC HÌNH VẼ

  • BẢNG CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ CHUYÊN NGHÀNH

  • LỜI NÓI ĐẦU

  • Chương 1: HỆ THỐNG ĐIỀU KHIỂN NHÚNG

    • 1.1. Hệ thống nhúng.

      • 1.1.1. Các khái niệm về hệ nhúng.

      • Hình 1.1: Một vài hình ảnh về hệ nhúng

      • Hình 1.2: Phân bố và mối quan hệ giữa hệ nhúng và thời gian thực

        • 1.1.2. Lĩnh vực ứng dụng của hệ nhúng.

        • 1.1.3. Đặc điểm công nghệ và xu thế phát triển của hệ nhúng.

          • 1.1.3.1. Đặc điểm công nghệ.

          • 1.1.3.2. Xu thế phát triển và sự tăng trưởng của hệ nhúng.

          • 1.2. Hệ điều hành nhúng (Embedded OS).

            • 1.2.1. Hệ điều hành.

            • Hình 1.3: Kiến trúc hệ điều hành

              • 1.2.2. Bộ nạp khởi tạo.

              • Hình 1.4: Nguyên lý hoạt động của bộ nạp khởi tạo boot-loader

              • Hình 1.5: Kiến trúc của bộ nạp khởi tạo boot-loader.

                • 1.2.3. Các yêu cầu chung.

                • 1.2.4. Hệ điều hành thời gian thực.

                • Hình 1.6: So sánh kiến trúc RTOS và OS chuẩn.

                • Hình 1.7: Cấu trúc hệ điều hành thời gian thực.

                • Hình 1.8: Mô hình trạng thái của quá trình.

                • Chương 2: HỆ ĐIỀU HÀNH LINUX

                  • 2.1. Sơ lược về Linux.

                    • 2.1.1. Giới thiệu về hệ điều hành Unix.

                    • 2.1.2. Giới thiệu hệ điều hành Linux.

                    • 2.1.3. Tính năng của Linux.

Tài liệu cùng người dùng

Tài liệu liên quan