ĐẶT VẤN ĐỀ Trong những năm gần đây, việc tổ chức và khai thác mạng Internet rất phát triển. Mạng Internet cho phép các máy tính trao đổi thông tin một cách nhanh chóng, thuận tiện. Mọi đối tượng đều có thể sử dụng các dịch vụ và tiện ích của Internet một cách dễ dàng như trao đổi thông tin, tham khảo các thư viện tri thức…Tại thời điểm hiện nay thì lợi ích của Internet là quá rõ ràng và không thể phủ nhận. Nhưng một điều không may đi kèm với nó là nguy cơ mất an toàn thông tin trên Internet đang trở thành một vấn đề hàng đầu cản trở sự phát triển của các nhà cung cấp dịch vụ mà nó còn là nhu cầu chính đáng của mỗi người sử dụng.
Các thông tin nhạy cảm về quốc phòng, thương mại là vô giá và không thể để lọt vào tay đối thủ cạnh tranh. Hay nói cách khác là khi máy tính kết nối Internet hay trong môi trường mạng cục bộ, khi đó tất cả các giao tiếp của mạng nội bộ với thế giới bên ngoài coi như là bỏ ngỏ, mọi thông tin dữ liệu trên máy tính của mạng nội bộ không có sự bảo vệ. Điều này được xem như nhà không có khóa cửa, khi đó mọi đồ đạc trong nhà sẽ như thế nào? Đương nhiên không ai nói trước được gì. Nếu khu vực sống là một môi trường lành mạnh, ở đó không có sự nhòm ngó thì đồ đạc vẫn nguyên, còn ngược lại chắc chắn là đồ đạc sẽ bị lấy cắp và điều này trong xã hội hiện nay là đương nhiên khi không có sự phòng vệ thích đáng.
Dữ liệu trong máy tính cũng như thế, nếu người dùng không bảo vệ chúng, không có khóa bảo vệ, không có những chính sách bảo mật, cơ hội bị mất hay thất thoát là điều không thể tránh. Để hạn chế tình trạng này và để góp phấn tăng khả năng bảo mật thì việc xây dựng hệ thống tường lửa Firewall là điều kiện không thể thiếu, đặc biệt là Firewall được xây dựng trên nền hệ điều hành mã nguồn mở Linux.2 LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Trên thế giới đã có nhiều công trình nghiên cứu về lĩnh vực bảo mật, bảo vệ an toàn thông tin trên mạng và kết quả chúng đã trở thành các sản phẩm thương mại như: Vista Firewall, ZoneAlarm Firewall, VNP-1/Firewall-1, SmoothWall, … Tuy nhiên mỗi loại có những ưu nhược điểm riêng, phát triển theo những hướng khác nhau. Các 1 sản phẩm này được xây dựng trên những nền hệ điều hành khác nhau nhưng chủ yếu là Windows của Microsoft và hệ điều hành mã nguồn mở Linux. Có nhiều đồ án và tiểu luận, luận văn đưa ra các giải pháp khắc phục, bảo vệ, bảo mật an ninh mạng bằng Firewall của mã nguồn mở.
Ban đầu các bài tiểu luận, đồ án, luận văn đưa ra phương pháp dùng firewall phổ biến nhất là gói NAT của Ipchains chạy trên Linux. Song với firewall Ipchains còn nhiều thiếu sót và không đủ mạnh để bảo vệ hệ thống như ngăn chặn tấn công từ chối dịch vụ kém, khả năng ghi nhận lỗi không cao… 1.3 PHẠM VI ĐỀ TÀI Phạm vi luận văn này chú trọng đến việc xây dựng một firewall trên hệ điều hành mã nguồn mở, chính xác là Firewall Iptables trên hệ điều hành Linux Server để ngăn chặn các dịch vụ tấn công từ chối dịch vụ mạng và các sự tấn công bên ngoài của một hệ thống mạng LAN. Tăng cường khả năng bảo mật của một hệ thống mạng nội bộ bằng Firewall Iptables này.4 PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT Để xây dựng Firewall trên nền Linux nhằm ngăn chặn các loại tấn công mạng, chúng tôi lần lượt tìm hiểu về: tổng quan an ninh mạng (các khái niệm chung về an toàn an ninh mạng, tính cấp thiết của đề tài, các dạng tấn công và một số kỹ thuật tấn công phổ biến hiện nay), tổng quan hệ điều hành Linux (tổng quát về hệ điều hành Linux, cấu hình mạng cho hệ điều hành Linux), tổng quan Internet Firewall (khái niệm tổng quát về Firewall, một số loại Firewall thông dụng, các chức năng cơ bản của Firewall, cơ chế và nguyên lý hoạt động, ưu nhược điểm và các mô hình hay kiến trúc triển khai của một Firewall trong hệ thống) và giới thiệu chi tiết về Iptables. Từ những nghiên cứu lý thuyết trên, chúng tôi tiến hành xây dựng một Firewall với Iptables trên hệ điều hành Ubuntu Server và sử dụng các công cụ mô phỏng các cuộc tấn công mạng (Hping3) để kiểm tra tính năng của Firewall Iptables này.
2 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN AN NINH MẠNG 2.1 Tình hình thực tế Mạng Internet ngày càng phát triển nhanh chóng với các dịch vụ như WWW, Email, tìm kiếm thông tin,…. Internet đã trở thành một phần không thể thiếu trong cuộc sống hằng ngày, song song với điều đó là những sự nguy hiểm mà mạng Internet đem lại cho người sử dụng. Hiện nay, những kẻ tấn công ngày càng tinh vi hơn trong các hoạt động của chúng. Thông tin về các lổ hổng bảo mật, các kiểu tấn công được trình bày công khai trên mạng.
Ngoài ra, còn có các kẻ tấn công không chuyên nghiệp và những người có chút hiểu biết về lập trình, về mạng khi đọc các thông tin về lổ hổng và các kiểu tấn công trên mạng thì có thể trở thành một hacker. Vì vậy, số tấn công mạng ngày một tăng và có nhiều phương thức tấn công mới ra đời, khó kiểm soát và bảo vệ. Đa phần các tổ chức lớn đều triển khai các ứng dụng nền tảng, quan trọng trong mạng cục bộ LAN. Khi các mạng cục bộ này kết nối với mạng Internet, các thông tin quan trọng đều có khả năng bị lấy cắp và phá hoại.
Mặc dù các công ty, tổ chức này có sử dụng các biện pháp an toàn bảo mật, nhưng chưa triệt để và còn có nhiều lổ hổng bảo mật mà các kẻ tấn công có thể lợi dụng để tấn công. Trước các nguy cơ mất an toàn thông tin cho hệ thống khi kết nối Internet là một vấn đề hết sức cấp bách. Để chống lại và bảo vệ hệ thống trước các nguy cơ bị tấn công từ bên ngoài khi kết nối Internet, thế giới đã xuất hiện các phần mềm bảo vệ với các tính năng khác nhau, trong đó có Firewall. Sử dụng Firewall để bảo vệ mạng nội bộ, tránh sự tấn công từ bên ngoài là một giải pháp an toàn, hữu hiệu, đảm bảo được các yếu tố: An toàn cho sự hoạt động của toàn bộ hệ thống mạng.
Bảo mật cao trên nhiều phương tiện. Mềm dẻo và dễ sử dụng. Tấn công trên mạng và chiến lược bảo vệ 3 2.2 Các dạng tấn công Có nhiều dạng tấn công mạng vào hệ thống khác nhau, ở đây chúng ta xét ba dạng tấn công cơ bản là: Xâm nhập (Intrusion) Từ chối dịch vụ (Denial of Service - Dos) Ăn trộm thông tin (Information thieft) 2.1 Tấn công “Xâm nhập” Hầu như các dạng tấn công vào hệ thống nói chung là dạng tấn công xâm nhập, các hacker và cracker cố gắng đột nhập vào hệ thống hoặc lạm dụng hệ thống. Với các phương pháp tấn công như giả dạng người có thẩm quyền, hay tấn công suy đoán và nhiều phương pháp tấn công phức tạp khác để truy cập mà không cần biết tên người dùng và mật khẩu, kẻ tấn công có thể sử dụng được máy tính của chúng ta một cách hợp pháp.
Chúng ta có thể chia dạng tấn công xâm nhập thành hai loại: Tấn công từ bên ngoài: là những người xâm nhập từ bên ngoài hệ thống. Chúng có thể vượt qua Firewall để tấn công các máy trong mạng nội bộ. Dạng tấn công này có thể đến từ Internet, đường dây điện thoại hoặc từ các mạng thành viên khác được liên kết đến mạng nội bộ. Tấn công từ bên trong: là những người được quyền truy nhập đến bên trong hệ thống, như những người được ủy quyền, hoặc giả mạo người dùng ở mức cao,….
Theo thống kê thì dạng tấn công xâm nhập từ bên trong chiếm tới 80%. Có hai cách thực hiện hành vi xâm nhập Do thám: những kẻ xâm nhập có thể dùng các công cụ dò quét để tìm ra các lổ hổng bảo mật của mạng nội bộ. Các công cụ dò quét có thể là theo kiểu quét ping, quét cổng TCP/UDP, chuyển vùng DNS,… Lợi dụng: lợi dụng các đặc tính ẩn hoặc lỗi để truy cập vào hệ thống.2 Tấn công từ chối dịch vụ Đây là kiểu tấn công trực tiếp vào hệ thống, làm hệ thống bị mất tài nguyên và bị chiếm dụng băng thông, làm giảm khả năng đáp ứng trả lời yêu cầu đến. Trong trường hợp này hệ thống có thể bị lỗi khi hệ thống cần dùng đến tài nguyên.
4 Đặc điểm chính của kiểu tấn công này là người bị hại không chống lại được vì các công cụ được sử dụng trong cách tấn công này là các công cụ mà hệ thống dùng hằng ngày. Có 3 kiểu tấn công từ chối dịch vụ chính là DoS, DdoS và DRDoS a. DoS Hình 1: Tấn công kiểu DoS Kẻ tấn công dùng máy có băng thông lớn hơn máy nạn nhân. DDoS Hình 2: Tấn công kiểu DDoS Kẻ tấn công dùng nhiều máy tấn vào một máy nạn nhân.
DRDoS Máy tấn công sẽ gửi yêu cầu kết nối đến các server có băng thông cao trên mạng, các gói tin yêu cầu kết nối này mang địa chỉ IP giả. Các server sẽ gửi lại máy yêu cầu các gói SYN/ACK dẫn tới hiện tượng nhân băng thông. Nhưng kiểu tấn công này không thu thập được thông tin mà chỉ làm tê liệt hệ thống, làm cho hệ thống không hoạt động được nữa. Hình 3: Tấn công kiểu DRDoS 2.3 Ăn trộm thông tin Đây là cách tấn công cho phép kẻ tấn công có thể lấy được thông tin và dữ liệu mà không cần phải trực tiếp truy cập và sử dụng máy tính của nạn nhân.
Thường kẻ tấn công khai thác các dịch vụ Internet phân phối thông tin.3 Một số kỹ thuật tấn công 2.1 Giả mạo địa chỉ IP (IP Spoofing) Đa phần giao thức sử dụng trong mạng hiện nay đều là giao thức TCP. TCP là một giao thức hướng liên kết, giữa client và server muốn thực hiện trao đổi thông tin thì phải thực hiện qua các bước sau: Bước 1: Client gửi gói tin SYN tới server thông báo yêu cầu kết nối. Lúc này một kết nối đã được thiết lập giữa client và server. Bước 2: Server sau khi nhận được tín hiệu SYN trên sẽ gửi lại cho client gói tin SYN/ACK xác nhận việc liên kết.
Bước 3: Client sau khi nhận được gói tin SYN/ACK trên, nó sẽ gửi tiếp cho server gói tin ACK.