2.5.1 Hệ thống tường lửa (Firewall)
Hệ thống FireWall bảo vệ chống lại những sự tấn công từ bên ngoài bao gồm: Tấn công trực tiếp: Cách thứ nhất là dò mật khẩu trực tiếp. Thông qua
các chƣơng trình dò tìm mật khẩu với một số thông tin về ngƣời sử dụng nhƣ ngày sinh, tuổi, địa chỉ…và kết hợp với thƣ viện do ngƣời dùng tạo ra. Trong một số trƣờng hợp khả năng thành công có thể lên tới 30%. Ví dụ nhƣ chƣơng trình dò tìm mật khẩu chạy trên hệ điều hành Unix có tên là Crack. Cách thứ hai là sử dụng lỗi của các chƣơng trình ứng dụng và bản thân hệ điều hành đã đƣợc sử dụng từ những vụ tấn công đầu tiên và vẫn đƣợc để chiếm quyền truy cập (có đƣợc quyền của ngƣời quản trị hệ thống).
Nghe trộm: Có thể biết đƣợc tên, mật khẩu, các thông tin chuyền qua mạng thông qua các chƣơng trình cho phép đƣa vi giao tiếp mạng (NIC) vào chế độ nhận toàn bộ các thông tin lƣu truyền qua mạng.
Giả mạo địa chỉ IP.
Vô hiệu hóa các chức năng của hệ thống (deny service). Đây là kiểu tấn công nhằm làm tê liệt toàn bộ hệ thống không cho phép nó thực hiện các chức năng mà nó đƣợc thiết kế.
Lỗi ngƣời quản trị hệ thống.
Yếu tố con ngƣời với tính cách chủ quan và không hiểu rõ tầm quan trọng của việc bảo mật hệ thống nên dễ dàng để lộ các thông tin quan trọng cho tin tặc.
Ngày nay, trình độ của những kể tin tặc ngày càng giỏi hơn, các kiểu tấn công ngày càng tinh vi hơn, trong khi đó các hệ thống mạng còn chậm chạp trong việc xử lý các lỗ hổng của mình. Điều này đòi hỏi không chỉ những ngƣời quản trị hệ thống mạng phải có kiến thức tốt về bảo mật mạng để giữ vững an toàn cho thông tin của hệ thống mà đối với ngƣời dùng cá nhân cũng nên hiểu rõ tầm quan trọng của bảo mật thông tin qua đó tìm hiểu một số cách phòng tránh những sự tấn công từ phía tin tặc.
Thấy đƣợc tầm quan trọng của hệ thống FireWall trong việc đảm bảo an toàn cho hệ thống, các hệ thống nguồn mở cũng phát triển nhiều phần mềm FireWall. Chẳng hạn nhƣ với hệ thống Linux một số phần mềm FireWall có thể kể ra là Iptables, Ipchains, ShoreWall…Tuy nhiên phổ biến và sử dụng rộng rãi hơn cả là Iptables. Vì vậy, những ngƣời quản trị hệ thống cần nắm đƣợc cách cài đặt, cấu hình phần mềm FireWall để triển khai các biện pháp bảo đảm an toàn cho hệ thống.
Nhƣ đã giới thiệu trong phần trƣớc hệ thống firewall là một trong những thành phần quan trọng đảm bảo an toàn cho hệ thống. Trong các hệ thống nguồn mở nhƣ Linux một trong những firewall thông dụng nhất đó là iptables. Iptables là một tƣờng lửa ứng dụng lọc gói dữ liệu rất mạnh, miễn phí và cài đặt sẵn trên hệ thống Linux. Netfilter/Iptables gồm hai phần là Netfilter ở trong nhân Linux và Iptables nằm ngoài nhân. Iptables chịu trách nhiệm giao tiếp giữa ngƣời dùng và Netfilter để đẩy các luật của ngƣời dùng vào cho Netfilter xử lý. Netfilter tiến hành lọc các gói dữ liệu ở mức IP. Netfilter làm việc trực tiếp với nhân, nhanh và không làm giảm tốc độ của hệ thống. Thông tin chi tiết về Iptables tham khảo tại: http://www.netfilter.org
Một số tính năng của Iptables đó là:
Tích hợp tốt với nhân Linux, để cải thiện sự tin cậy và tốc độ chạy của Iptables. Quan sát kỹ tất cả các gói dữ liệu. Điều này cho phép firewall theo dõi một kết
đó tiên liệu hành động kế tiếp của các giao thức. Điều này quan trọng trong việc hỗ trợ các giao thức FTP, DNS...
Lọc gói dữ liệu trên địa chỉ MAC và các cờ trong TCP header. Điều này giúp ngăn chặn việc tấn công bằng cách sử dụng các gói dị dạng (malformed packets) và ngăn chặn việc truy cập từ nội bộ đến một mạng khác bất chấp IP của nó.
Ghi chép hệ thống (System logging) cho phép việc điều chỉnh mức độ của báo cáo.
Hỗ trợ việc tích hợp các chƣơng trình Web proxy chẳng hạn nhƣ Squid. Ngăn chặn các kiểu tấn công từ chối dịch vụ.
Iptables là một tƣờng lửa đƣợc tích hợp sẵn trong các phiên bản của hệ điều hành mã nguồn mở Linux Ubuntu. Khi cài đặt Linux Ubuntu, Iptables đã có sẵn, tuy nhiên hệ thống mặc định cho phép tất cả các giao tiếp vào ra. Chi tiết về cấu trúc, quá trình xử lý gói tin và cấu hình firewall iptables sẽ đƣợc trình bày trong chƣơng 3.
Ngoài firewall iptables đã giới thiệu sơ lƣợc ở trên, chúng ta cũng có thể sử dụng một hệ thống firewall khác nhƣ shorewall, chi tiết về shorewall tham khảo tại http://shorewall.net.
2.5.2 Một số chương trình dò tìm phát hiện xâm nhập qua mạng Các chương trình dò tìm để khảo sát hệ thống:
Thâm nhập vào một hệ thống bất kỳ nào cũng cần phải có sự chuẩn bị. Tin tặc phải xác định ra máy đích và tìm xem những cổng (port) nào đang mở trƣớc khi hệ thống có thể bị xâm phạm. Quá trình này thƣờng đƣợc thực hiện bởi các công cụ dò tìm (Scanning tools), kỹ thuật chính để tìm ra máy đích và các cổng đang mở trên đó. Dò tìm là bƣớc đầu tiên tin tặc sẽ sử dụng trƣớc khi thực hiện tấn công. Bằng cách sử dụng công cụ dò tìm nhƣ Nmap, tin tặc có thể dò khắp các mạng để tìm ra máy đích có thể bị tấn công. Một khi xác định đƣợc các máy này, kẻ xâm nhập có thể dò tìm các cổng đang lắng nghe. Nmap cũng sử dụng một số kỹ thuật cho phép xác định khá chính xác các loại máy đang kiểm tra. Bằng cách sử dụng các công cụ của chính tin tặc thƣờng dùng, ngƣời quản trị hệ thống có thể nhìn vào hệ thống của mình từ góc độ của các tin tặc và giúp tăng cƣờng tính an toàn của hệ thống. Có rất nhiều công cụ dò tìm có thể sử dụng nhƣ: Nmap, strobe, sscan, SATAN…Tuy nhiên, sử dụng các công cụ này không thể thay thế cho một ngƣời quản trị có kiến thức. Bởi vì việc dò tìm thƣờng dự báo một cuộc tấn công, các site nên ƣu tiên cho việc theo dõi chúng. Với các công cụ dò tìm, các nhà quản trị hệ thống mạng có thể phát hiện ra những gì mà các tin tặc có thể thấy khi dò trên hệ thống.
Các chương trình phát hiện sự xâm nhập qua mạng:
Nếu hệ thống có kết nối vào Internet, hệ thống của chúng ta có thể trở thành một mục tiêu bị dò tìm các lỗ hổng về bảo mật. Hệ thống phát hiện xâm nhập qua mạng (Network Intrusion Dectection System - NIDS) theo dõi các thông tin truyền trên mạng và phát hiện nếu có tin tặc đang cố xâm nhập vào hệ thống. Một ví dụ điển hình là hệ thống theo dõi số lƣợng lớn các yêu cầu kết nối TCP đến nhiều cổng trên một máy nào đó, do vậy có thể phát hiện ra nếu có ai đó đang thử một tác vụ dò tìm TCP port. Một NIDS có thể chạy trên máy cần theo dõi hoặc trên một máy độc lập theo dõi toàn bộ thông tin trên mạng. Các công cụ có thể đƣợc kết hợp để tạo một hệ thống phát hiện xâm nhập qua mạng. Chẳng hạn dùng tcpwrapper để điều khiển, ghi nhận các dịch vụ đã đƣợc đăng ký. Các chƣơng trình phân tích nhật ký hệ thống, nhƣ swatch, có thể dùng để xác định các tác vụ dò tìm trên hệ thống. Và điều quan trọng nhất là các công cụ có thể phân tích các thông tin trên mạng để phát hiện các tấn công DoS hoặc đánh cắp thông tin nhƣ tcpdump, ethereal, ngrep, NFR (Network Flight Recorder), PortSentry, Sentinel, Snort,…
Các chương trình kiểm tra khả năng bị xâm nhập:
Kiểm tra khả năng bị xâm nhập liên quan đến xác định và sắp xếp các lỗ hổng an ninh trong hệ thống bằng cách dùng một số công cụ kiểm tra. Nhiều công cụ kiểm tra cũng có khả năng khai thác một số lỗ hổng tìm thấy để làm rõ quá trình thâm nhập trái phép sẽ đƣợc thực hiện nhƣ thế nào. Ví dụ, một lỗi tràn dịch vụ của chƣơng trình phục vụ dịch vụ FTP có thể dẫn đến việc thâm nhập vào hệ thống với quyền “root”. Nếu ngƣời quản trị mạng có kiến thức về kiểm tra khả năng bị xâm nhập trƣớc khi nó xảy ra, họ có thể tiến hành các tác vụ để nâng cao mức độ an ninh của hệ thống mạng. Có rất nhiều các công cụ mạng có thể sử dụng trong việc kiểm tra khả năng bị xâm nhập. Hầu hết các quá trình kiểm tra đều dùng ít nhất một công cụ tự động phân tích các lỗ hổng an ninh. Các công cụ này thăm dò hệ thống để xác định các dịch vụ hiện có. Thông tin lấy từ các dịch vụ này sẽ đƣợc so sánh với cơ sở dữ liệu các lỗ hổng an ninh đã đƣợc tìm thấy trƣớc đó. Các công cụ thƣờng đƣợc sử dụng để thực hiện các kiểm tra loại này là ISS Scanner, Cybercop, Retina, Nessus, cgiscan, CIS,…
Kết chƣơng
Chƣơng này trình bày một số nội dung quan trọng trong việc đảm bảo an toàn thông tin trên hệ điều hành nguồn mở. Đầu tiên, trình bày các nguy cơ ảnh hƣởng đến việc đảm bảo an toàn, bảo mật thông tin cho hệ điều hành nguồn mở. Qua đó thấy đƣợc một số hiểm hoạ có thể dẫn đến mất an toàn thông tin từ đó trình bày một số giải pháp đảm bảo an toàn nhƣ: Giải pháp đảm bảo an toàn nhân bằng cách sử dụng SELinux, hệ thống phát hiện xâm nhập (LIDS), Libsafe. Giải pháp đảm bảo an toàn file. Các giải pháp bảo vệ tài khoản ngƣời dùng, Giải pháp đảm bảo an toàn cho các giao dịch qua mạng nhƣ sử dụng hệ thống tƣờng lửa, sử dụng các chƣơng trình dò tìm phát hiện xâm nhập qua mạng…
CHƢƠNG III: TRIỂN KHAI GIẢI PHÁP ĐẢM BẢO AN TOÀN THÔNG TIN TRÊN HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ