TRIỂN KHAI HỆ THỐNG SNORT IDSIPS KẾT HỢP VỚI FIREWALL PFSENSE ĐỂ BẢO VỆ HỆ THỐNG MẠNG DOANH NGHIỆP. PHÂN TÍNH GIẢI PHÁP ỨNG PHÓ KỸ THUẬT TRÁNH NÉ MÃ HÓA VÀ TẠO ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING) BẰNG TOOL DNSCAT2
Kỹ thuật tránh né (Evasion techniques)
Khái quát
"Evasion techniques" là các phương pháp hoặc kỹ thuật được sử dụng để tránh hoặc đối phó với các biện pháp bảo mật hoặc kiểm soát của một hệ thống, chẳng hạn như phần mềm chống virus, tường lửa, hay các biện pháp an ninh mạng khác Các kỹ thuật này thường được sử dụng bởi các kẻ tấn công hoặc hacker để phá vỡ hoặc tránh qua mặt các biện pháp bảo mật nhằm mục đích truy cập trái phép vào hệ thống hoặc thực hiện các hoạt động độc hại.
Các kỹ thuật tránh né
Mã hóa và tạo đường hầm (encryption and tunneling): Các gói dữ liệu được mã hóa hoặc được đưa vào đường hầm bảo mật (secure tunnel) NIPS chỉ có thể bắt được các gói tin đã mã hóa, nhưng không có khả năng giải mã và phân tích chúng
Kết nối SSH đến SSH server Đường hầm VPN ở chế độ remote access Đường hầm VPN ở chế độ site-to-site
Kết nối SSL (Secure Socket Layer) tới một website
Có các loại đóng gói khác mà cảm biến không thể phân tích và giải nén mà những kẻ tấn công thường sử dụng trong một cuộc tấn công trốn tránh Ví dụ, các đường hầm GRE (Generic Route Encapsulation) thường được sử dụng có hoặc không có mã hóa
Tấn công định thì (timing attacks): Kẻ tấn công có thể né tránh phát hiện của NIPS bằng cách thực hiện các hành động của chúng chậm hơn bình thường, không vượt quá
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 2 mức ngưỡng bên trong các cửa sổ thời gian (time windows) mà các dấu hiệu (signature) dùng để tương quan các gói tin khác nhau lại với nhau
Ví dụ: Trong tấn công do thám mạng, kẻ tấn công sẽ làm chậm lại việc gởi các gói tin do thám Trong trường hợp này, kẻ tấn công có thể né tránh được phát hiện chỉ đơn giản bằng cách quét quá lâu
Làm cạn kiệt tài nguyên (resource exhaustion): Phương pháp này sẽ làm cạn kiệt nguồn tài nguyên của bộ cảm biến IPS Một số công cụ có thể tạo làm cho IPS tạo ra một số lượng lớn các cảnh báo, từ đó sẽ làm IPS tiêu tốn nguồn tài nguyên và không có có khả năng ngăn chặn tấn công từ việc ghi log
Phân mảnh lưu lượng (traffice framentation): Với phương pháp này, kẻ tấn công cố gắng chia nhỏ lưu lượng xấu để tránh bị phát hiện
Ví dụ: kẻ tấn công sẽ phân mảnh lưu lượng IP theo cách thức mà được diễn giải bằng nhiều cách Điều này sẽ làm cho cảm biến IPS “hiểu” về nó khác với máy tính đích
Thay thế và chèn lưu lượng (Traffic substitution and insertion): Việc thay thể lưu lượng (traffice substitution) là khi kẻ tấn công cố gắng thay thế dữ liệu tải (payload data) bằng dữ liệu khác trong một định dạng khác Việc chèn lưu lượng là khi kẻ tấn công chèn thêm thông tin mà không làm thay đổi ý nghĩa của phần tải (payload) trong phần tải dùng để tấn công
Thay thế “space” bằng “tab” bên trong yêu cầu HTTP
Dùng unicode thay cho chuỗi và các ký tự ASCII bên trong HTTP request.
Kỹ thuật mã hóa (encryption)
Trong thời hiện đại, việc gửi dữ liệu đơn giản qua mạng sẽ hiển thị nội dung cho trung gian Vì vậy, nó có thể được gửi qua một cách mật mã Cypher không là gì ngoài một thủ tục hoặc tập hợp các thuật toán để thực hiện mã hóa hoặc giải mã dữ liệu để nó có thể được gửi qua mạng để duy trì tính toàn vẹn và bảo mật Khi một cypher thuật toán được áp dụng cho một văn bản thuần túy, văn bản được mã hóa kết quả được gọi là văn bản cypher Trong thế giới thực, có nhiều loại mã hóa cung cấp nhiều loại các
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 3 mức độ bảo mật Các tính năng bảo mật này phụ thuộc vào nguồn và đích khả năng tương thích như tài nguyên hệ thống, kết nối mạng, phân bổ bộ nhớ, v.v
Tùy thuộc vào kích thước của dữ liệu được mã hóa, mã hóa được phân loại theo hai cách
1 Mật mã theo dòng: Trong các phương pháp này, dữ liệu đầu vào được mã hóa theo dòng liên tục niềm đam mê
2 Mật mã khối: Trong các phương pháp này, dữ liệu đầu vào được lấy ở dạng khối và được mã hóa
Dựa trên loại khóa được sử dụng để mã hóa và mô tả, mã hóa được lại chia làm hai loại
1 Mã hóa đối xứng: Trong các phương pháp này, cùng một khóa được sử dụng để mã hóa và giải mã dữ liệu ở cả hai phía nguồn và đích In mật mã đối xứng, chúng ta phải chia sẻ khóa trước giữa nguồn và đích Nếu có bên thứ ba biết khóa, họ sẽ có thể chặn dữ liệu
2 Mã hóa bất đối xứng: Trong các phương pháp này, chúng tôi sử dụng các khóa khác nhau để mã hóa và giải mã dữ liệu Đối với dữ liệu bất đối xứng, không cần thiết phải chia sẻ khóa thứ mười hai sớm hơn Vì vậy, chúng cung cấp tính bảo mật cao khi so sánh với đối xứng mật mã Chúng ta có thể sử dụng mật mã bất đối xứng để chia sẻ khóa mật mã đối xứng duy trì tính bảo mật trên internet
Mặc dù cyphers được phân loại theo 2 cách cơ bản ở trên, dựa trên các tiêu chuẩn và cách thức hoạt động, chúng được phân loại như bên dưới loại trừ lẫn nhau
1 Chuẩn thuật toán mã hóa
4 Tiêu chuẩn cơ sở hạ tầng khóa công khai (PKI)
Các thuật toán này xác định cách mã hóa hoặc băm văn bản thuần túy và có thể sử dụng các phím đối xứng hoặc không đối xứng Độ mạnh của mã hóa phụ thuộc vào kích thước của khóa được sử dụng
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Kỹ thuật tạo đường hầm (tunneling)
Remote Access VPN
Trong loại VPN này, sẽ chỉ có người dùng cuối được kết nối với máy chủ VPN và truy cập các dịch vụ một cách an toàn Các dịch vụ này có thể giống như dữ liệu web, tệp, API, v.v Ví dụ về VPN truy cập từ xa là HTTPS, SSH, SFTP, OPENVPN ở chế độ đường hầm
Remote Access VPN rất hữu ích cho người dùng doanh nghiệp cũng như người dùng gia đình Tốt nhất ví dụ cho việc sử dụng VPN này là các khách hàng doanh nghiệp Khi một khách hàng doanh nghiệp đang đi du lịch hoặc làm việc tại nhà, để truy cập tài nguyên của công ty một cách an toàn với tính năng truy cập từ xa VPN Phần mềm doanh nghiệp tốt nhất được sử dụng là Cisco Any connect VPN, IPSec, PPTP, SSTP,…
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Ví dụ tốt nhất khác mà người dùng doanh nghiệp là người dùng gia đình sử dụng nhiều loại Các dịch vụ VPN như VPN không giới hạn, IPVANISH, NordVPN, v.v Các dịch vụ này cung cấp VPN truy cập từ xa và sử dụng những thứ này, người dùng cuối sẽ tạo một đường hầm được mã hóa tới máy chủ của nhà cung cấp sử dụng internet công cộng Sau khi tạo đường hầm riêng, người dùng sẽ trỏ cổng mặc định đến IP đích của đường hầm để tất cả lưu lượng truy cập sẽ đi qua đường hầm.
Site – to – Site VPN
Trong VPN truy cập từ xa, đường hầm được hình thành giữa máy chủ của người dùng cuối trong khi đó, trong sit-to-site VPN, họ sử dụng cầu nối ảo và nó được hình thành giữa 2 bộ định tuyến để chúng xuất hiện cạnh nhau và chúng cũng có thể trao đổi các tuyến đường trực tiếp Trong VPN site-to-site, chúng tôi có VPN site-to-site mạng nội bộ và VPN site-to-site bên ngoài mạng Mạng nội bộ VPN site-to-site có nghĩa là, VPN được tạo giữa các văn phòng công ty giống nhau, trong khi đó đối với extranet, VPN được tạo giữa 2 công ty khác nhau Các nút bộ định tuyến này có thể được tách biệt về mặt địa lý và họ có thể sử dụng internet hoặc đường dây riêng để liên lạc
Hình 2: Site – to – Site VPN
Do VPN Site-to-site dựa trên giao tiếp giữa Bộ định tuyến với Bộ định tuyến, trong trường hợp này Loại VPN một bộ định tuyến đóng vai trò là Máy khách VPN và bộ
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 6 định tuyến khác làm Máy chủ VPN Các giao tiếp giữa hai bộ định tuyến chỉ bắt đầu sau khi xác thực được xác thực giữa hai người.
Sử dụng các công cụ khác
SSH (Secure Shell): SSH là một giao thức mạng được sử dụng phổ biến để thiết lập kết nối an toàn và mã hóa giữa hai máy tính Bằng cách sử dụng SSH, bạn có thể tạo ra các kênh tunneling để truyền thông qua firewall
Proxy Server: Một proxy server hoạt động như một trung gian giữa người dùng và
Internet Bạn có thể thiết lập một proxy server trên một máy tính nằm ngoài mạng nội bộ và sử dụng nó để truyền thông qua firewall
Stunnel: Stunnel là một công cụ cho phép bạn tạo ra các kết nối mã hóa SSL/TLS giữa máy tính của bạn và các dịch vụ mạng khác Nó có thể được sử dụng để tunneling qua firewall
Shadowsocks: Shadowsocks là một công cụ proxy mã nguồn mở, được sử dụng chủ yếu để vượt qua các hạn chế Internet và firewall Nó sử dụng một phương pháp mã hóa động để ẩn thông tin truyền qua mạng
DnsCat2: Với dnscat2, máy tính của bạn có thể làm vai trò như một máy chủ DNS và máy tính khác có thể kết nối và gửi dữ liệu thông qua các yêu cầu DNS Dữ liệu được đóng gói vào các trường thông tin của các gói tin DNS và truyền qua kênh DNS Điều này cho phép bạn vượt qua các hạn chế mạng như firewall hoặc kiểm soát mạng để truyền dữ liệu một cách ẩn danh.
Giải pháp ứng phó
Firewall và Rule-Based Filtering: Thiết lập firewall và các quy tắc lọc dữ liệu để kiểm soát và chặn các kết nối không mong muốn hoặc không được ủy quyền Điều này bao gồm việc cấu hình firewall để chặn các giao thức không an toàn hoặc không mong muốn như SSH, VPN, và các giao thức tunneling khác
Application Whitelisting: Sử dụng danh sách trắng ứng dụng để chỉ cho phép chạy các ứng dụng đã được phê duyệt và ngăn chặn việc chạy các ứng dụng không được ủy
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 7 quyền hoặc không an toàn Điều này có thể giúp ngăn chặn việc cài đặt và sử dụng các công cụ tunneling không mong muốn
Deep Packet Inspection (DPI): Sử dụng kỹ thuật kiểm tra sâu gói tin để phân tích nội dung gói tin mạng và nhận biết các giao thức và hoạt động tunneling không an toàn hoặc không được ủy quyền DPI có thể phát hiện các gói tin được mã hóa hoặc đóng gói theo cách không bình thường và thực hiện các hành động phù hợp như chặn hoặc xử lý theo chính sách
Network Segmentation: Phân đoạn mạng bằng cách chia mạng thành các phân đoạn nhỏ hơn và áp dụng các quy tắc truy cập và kiểm soát trên mỗi phân đoạn Điều này giúp hạn chế khả năng tunneling qua các mạng khác nhau và ngăn chặn sự lan truyền của các hoạt động không mong muốn
Intrusion Detection/Prevention Systems (IDS/IPS): Sử dụng các hệ thống phát hiện và ngăn chặn xâm nhập để phát hiện và chặn các hoạt động tunneling không an toàn hoặc không được ủy quyền IDS/IPS có thể dựa trên các quy tắc, chữ ký, hoặc học máy để nhận diện các hoạt động không bình thường và thực hiện hành động phù hợp
Regular Monitoring and Auditing: Thực hiện theo dõi và kiểm tra định kỳ các hoạt động mạng để phát hiện và xử lý sự vi
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
THỰC NGHIỆM KỸ THUẬT TRÁNH NÉ MÃ HÓA VÀ TẠO ĐƯỜNG HẦM (ENCRYPTION AND TUNNELING) BẰNG CÔNG CỤ DNSCAT2
Cơ sở lí thuyết
Dnscat2 là một công cụ mạng được phát triển để tạo ra một kênh liên lạc bí mật thông qua giao thức DNS (Domain Name System) Nó được thiết kế để truyền tải dữ liệu giữa máy chủ và máy khách thông qua các truy vấn DNS và phản hồi DNS, đồng thời tránh sự phát hiện bởi các hệ thống bảo mật
Dnscat2 cố gắng trở nên khác biệt với các giao thức tạo đường hầm DNS khác bằng cách được thiết kế cho một mục đích đặc biệt: ra lệnh và kiểm soát Nó có thể tạo đường hầm cho bất kỳ dữ liệu nào mà không cần kèm theo giao thức Điều đó có nghĩa là nó có thể tải lên và tải xuống các tệp, nó có thể chạy shell và nó có thể làm tốt những việc đó Dnscat2 có thể chạy trên nhiều nền tảng, bao gồm Windows, Linux và macOS Nó cung cấp một giao diện dòng lệnh để cấu hình và điều khiển các phiên truyền tải dữ liệu Đặc điểm nổi bật của Dnscat2 bao gồm:
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 9 Ẩn dạng: Dnscat2 sử dụng các truy vấn và phản hồi DNS hợp lệ để truyền tải dữ liệu Điều này giúp nó vượt qua các bộ lọc và cơ chế kiểm soát mạng dựa trên chặn các giao thức khác
Mã hóa: Dnscat2 hỗ trợ mã hóa dữ liệu trước khi gửi đi và giải mã tại máy nhận Điều này đảm bảo tính riêng tư và bảo mật cho dữ liệu được truyền Đa nền tảng: Dnscat2 có thể chạy trên nhiều hệ điều hành phổ biến, cho phép sử dụng trên các môi trường đa dạng
Linh hoạt: Dnscat2 cung cấp các tùy chọn cấu hình mạnh mẽ cho việc tùy chỉnh và điều khiển cách dữ liệu được truyền tải Nó hỗ trợ nhiều cách thức để kết nối và thiết lập phiên truyền tải dữ liệu
Mở rộng: Dnscat2 có khả năng mở rộng và hỗ trợ đồng thời nhiều kênh truyền tải dữ liệu Điều này cho phép truyền tải dữ liệu lớn và đồng thời từ nhiều nguồn và đích khác nhau
Dnscat2 được sử dụng trong nhiều tình huống, bao gồm thử nghiệm an ninh mạng, kiểm tra phản ứng của hệ thống bảo mật, cung cấp kênh liên lạc bí mật trong môi trường có hạn chế hoặc kiểm tra việc xâm nhập mạng
Dưới đây là cách hoạt động cơ bản của DNSCat2:
Cài đặt máy chủ DNS: DNSCat2 yêu cầu một máy chủ DNS để chuyển tiếp các gói tin DNS đến và từ nó Máy chủ DNS này có thể được cấu hình trên một máy chủ riêng biệt hoặc trên một máy tính trong mạng của bạn
Khởi động máy chủ DNSCat2: Sau khi cài đặt máy chủ DNS, bạn cần khởi động máy chủ DNSCat2 trên đó Máy chủ sẽ lắng nghe các yêu cầu DNS đến và chuyển tiếp chúng đến máy khách DNSCat2 tương ứng
Cấu hình máy khách DNSCat2: Bạn cần cấu hình máy khách DNSCat2 trên máy tính của mình Máy khách sẽ tạo ra các gói tin DNS để gửi dữ liệu tới máy chủ DNSCat2 và nhận dữ liệu từ máy chủ DNSCat2
Thiết lập kết nối: Máy khách DNSCat2 sẽ cố gắng kết nối đến máy chủ
DNSCat2 bằng cách gửi các yêu cầu DNS đặc biệt chứa dữ liệu điều khiển Khi kết
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 10 nối thành công, máy khách và máy chủ có thể trao đổi dữ liệu thông qua các gói tin DNS
Gửi và nhận dữ liệu: Khi kết nối đã được thiết lập, máy khách có thể gửi các yêu cầu gửi dữ liệu tới máy chủ Dữ liệu sẽ được chia thành các gói tin DNS và gửi tới máy chủ DNSCat2 Máy chủ sẽ trích xuất dữ liệu từ các gói tin và gửi lại phản hồi cho máy khách thông qua các gói tin DNS Dữ liệu sẽ được chèn vào các trường dữ liệu không sử dụng trong giao thức DNS, ví dụ tên miền con hoặc thuộc tính khác Đóng kết nối: Khi hoàn tất việc truyền dữ liệu, máy khách và máy chủ có thể đóng kết nối bằng cách gửi các yêu cầu đóng kết nối tới nhau thông qua các gói tin DNS
DNSCat2 cho phép ẩn dữ liệu bên trong các gói tin DNS thông qua việc mã hóa và che dấu Điều này giúp nó vượt qua các giới hạn và hạn chế mạng, cho phép truyền tải dữ liệu một cách ẩn danh và bảo mật
2.1.3 Cách phòng chống: Để hạn chế khả năng né tránh của dnscat2, bạn có thể áp dụng một số giải pháp kỹ thuật sau:
Cập nhật hệ thống DNS: Đảm bảo rằng hệ thống DNS của bạn được cập nhật đầy đủ và áp dụng các bản vá bảo mật mới nhất Điều này giúp loại bỏ các lỗ hổng bảo mật đã được khắc phục mà dnscat2 có thể tận dụng
Tường lửa và quy tắc ACL: Cấu hình tường lửa và quy tắc Access Control List
(ACL) để chặn các yêu cầu DNS không mong muốn hoặc không phù hợp Hạn chế phạm vi phản hồi DNS từ máy chủ ngoài và chỉ cho phép truy cập DNS tới các máy chủ được ủy quyền và đáng tin cậy
Sử dụng DNSSEC: DNSSEC (DNS Security Extensions) là một phương pháp bảo mật DNS bằng cách ký số hóa và xác thực các thông tin DNS Bằng cách triển khai DNSSEC, bạn có thể đảm bảo tính toàn vẹn và xác thực của các yêu cầu DNS và ngăn chặn dnscat2 khai thác các lỗ hổng bảo mật trong DNS
Giám sát lưu lượng DNS: Sử dụng các công cụ giám sát mạng và lưu lượng
DNS để theo dõi hoạt động DNS trong mạng của bạn Theo dõi các yêu cầu DNS
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Thực nghiệm dnscat2
Hình 3: Mô hình sử dụng dnscat2 bypass firewall
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 4: Cài đặt dnscat2 server trên máy attacker (kali linux)
Hình 5: di chuyển đến folder vừa cài, chạy lệnh ruby /dnscat2.rd Server sẽ lắng nghe trên port 53, lắng nghe phản hồi từ dnscat2 client từ nạn nhân New window: 0 (chưa có nạn nhân nào kết nối)
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 6: Trên máy nạn nhân tải dnscat2 client, sau đó chạy file exe, kết nối với dnscat2 server bằng địa chỉ ip máy server
Hình 7: Lúc này trên dnscat2 server (máy attacker) đã nhận được kết nối từ nạn nhân và hiển thị thông báo
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 8: Dnscat2 hỗ trợ một số lệnh để thực thi đến máy nạn nhân
Hình 9: Attacker tiến hành ping đến máy nạn nhân
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 10: Trên máy nạn nhân, mở wireshark bắt gói tin, nhưng không phát hiện gói ICMP chỉ có gói DNS Tuy nhiên, gói DNS có một lưu lượng không bình thường
Hình 11: Mở firewall pfsense có snort ta thấy không có cảnh báo từ rule ping nào máy attacker (IP: 192.168.105.137)
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
** Như vậy gói ICMP (ping từ attacker) đã bị chèn vào gói DNS và qua mặt các hệ thống firewall, bảo mật
Hình 12: Ngoài ra, có thể mở notepad từ attacker
Hình 13: Cửa sổ notepad máy nạn nhận bị điều khiển bởi attacker
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
TRIỂN KHAI HỆ THỐNG SNORT IDS/IPS KẾT HỢP VỚI
Firewall Pfsense
PfSene là một dự án nguồn mở dựa trên nền tảng hệ điều hành FreeBSD và được sử dụng như một tường lửa hoặc một thiết bị định tuyến Chris Buechler và Scott Ullrich là hai tác giả sáng lập dự án m0n0wall năm 2004 Tuy nhiên tại thời điểm 2004, tác giả phải gặp vấn đề khó khăn khi mã nguồn của họ không tương thích tốt với các giải pháp tích hợp phần cứng (các thiết bị sử dụng 64MB RAM) PfSense với sự phát triển theo thời gian đã hỗ trợ rộng rãi các nền tảng phần cứng khác nhau và được sự đóng góp to lớn từ cộng động sử dụng mã nguồn mở thế giới Cùng với các chức năng quản lý mạnh mẽ, thân thiện với người dùng nên pfSense được cộng đồng sử dụng rộng rãi trong môi trường doanh nghiệp vừa và nhỏ PfSense yêu cầu cấu hình phần cứng thấp nên phù hợp cho việc tích hợp vào các thiết bị tích hợp khác nhau nhằm tăng tính linh động và hiệu suất trong quá trình vận hành
Phiên bản pfSense hiện tại được công bố là 2.1, tập trung phát triển các tính năng hỗ trợ môi trường mạng IPv6
Với các tính năng linh hoạt, pfSense được sử dụng trong nhiều mục đích khác nhau trên thực tế Giá thành triển khai thấp hơn so với những thiết bị cùng loại, hỗ trợ những tính năng cơ bản và nâng cao như VPN, BGP, Wirelsess, cân bằng tải, QoS… Các chức năng thường được sử dụng bao gồm:
Tường lửa: với tính năng xử lý gói tin TCP/IP mạnh mẽ, nên pfSense được dùng như một tường lửa nhằm cản lọc những kết nối không hợp pháp đến một phân vùng mạng chỉ định
Thiết bị định tuyến mạng WAN/LAN: đóng vai trò như một router, pfSense hỗ trợ các chức năng như định tuyến như PPoE, BGP… phù hợp cho doanh nghiệp triển khai với giá thành thấp mà không cần đầu tư thêm router cùng chức năng Trong môi
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 18 trường mạng LAN, pfSense hỗ trợ giao thức 802.1q cho phép nhân viên kỹ thuật có thể hoạch định các phân vùng mạng nội bộ khác nhau PfSense có thể hỗ trợ băng thông 3Gbps hoặc xử lý hơn 500.000 gói tin/giây, vì vậy pfSense có thể sử dụng thay thế một thiết bị switch lớp 3 (yêu cầu có thêm card mạng)
Máy chủ VPN/DNS/DHCP/Sniffer: pfSense được tác giả tích hợp thêm các mã nguồn mở như TinyDNS (http://tinydns.org), tcpdump (http://www.tcpdump.org/) nhằm phục vụ với vai trò là máy chủ DNS hoặc máy chủ sniffer (thu thập gói tin cho nhiệm vụ phân tích).
Snort
Snort là phần mềm IDS được phát triển bởi Martin Roesh dưới dạng mã nguồn mở Snort ban đầu được xây dựng trên nền Unix nhưng sau đó phát triển sang các nền tảng khác Snort được đánh giá rất cao về khả năng phát hiện xâm nhập Tuy snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời Với kiến trúc kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình Snort có thể chạy trên nhiều hệ thống như Windows, Linux, OpenBSD, FreeBSD, Solaris,…
Cấu trúc của Snort bao gồm 5 modul: Module giải mã gói tin, module tiền xử lý, module phát hiện, module log và cảnh báo, module kết xuất thông tin:
Khi Snort hoạt động, nó sẽ lắng nghe tất cả các gói tin nào di chuyển qua nó Các gói tin sau khi bị bắt sẽ được đưa vào module giải mã Tiếp theo sẽ vào module tiền xử lý và rồi module phát hiện Tại đây tùy vào việc có phát hiện được xâm nhập hay
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
NHÓM 07 19 không mà gói tin có thể bỏ qua để lưu thông tin tiếp hoặc đưa vào module Log và cảnh báo để xử lý Khi các cảnh báo được xác định, Module kết xuất thông tin sẽ thực hiện việc đưa ra cảnh báo theo đúng định dạng mong muốn
Module giải mã gói tin: Module giải mã gói tin bắt mọi gói tin trên mạng lưu thông qua hệ thống Bắt các gói dữ liệu các nhau của tầng network (Ethernet, SLIP, PPP….); Một gói tin sau khi được giải mã sẽ được đưa tiếp vào module tiền xử lý
Module tiền xử lý: Thực hiện 3 nhiệm vụ chính: Kết hợp lại các gói tin: Khi một dữ liệu lớn được gửi đi, thông tin sẽ không đóng gói toàn bộ vào một gói tin mà thực hiện phân mảnh, chia thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này, nó phải thực hiện kết nối lại để có gói tin ban đầu Module tiền xử lý giúp Agent có thể hiểu được các phiên làm việc khác nhau; Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi thất bại khi kiểm tra các giao thức có dữ liệu có thể được biểu diễn dưới nhiều dạng khác nhau; Phát hiện các xâm nhập bất thường (nonrule/anormal): xử lý các xâm nhập không thể hoặc rất khó phát hiện bằng các luật thông thường
Module phát hiện: Đây là module quan trọng nhất, nó chịu trách nhiệm phát hiện các dấu hiệu xâm nhập Module phát hiện sử dụng các luật được định nghĩa trước để so sánh với dữ liệu thu thập được, từ đó xác định xem có xâm nhập xảy ra hay không; Một vấn đề quan trọng đối với module phát hiện và vấn đề thời gian xử lý gói tin: một IDS thường nhận rất nhiều gói tin và bản thân nó cũng có rất nhiều luật xử lý Khi lưu lượng mạng quá lớn có thể xảy ra việc bỏ sót hoặc không phản hồi đúng lúc Khả năng xử lý của module phát hiện phụ thuộc vào nhiều yếu tố: số lượng các luật, tốc độ hệ thống, băng thông mạng;
Module log và cảnh báo: Tùy thuộc vào module phát hiện có nhận dạng được xâm nhập hay không mà gói tin có thể bị ghi log hay đưa ra cảnh báo Các file log là các file dữ liệu có thể ghi dưới nhiều định dạng khác nhau
Module kết xuất thông tin: Xuất các thông tin ra các định dang khác nhau tùy theo ta cấu hình
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Thực nghiệm triển khai hệ thống snort ids/ips kết hợp với firewall pfsense20 1 Cài firewall pfsense trên vmware
3.2.1 Cài firewall pfsense trên vmware:
Hình 15: Cài đặt 3 đường mạng (VMnet0: bridged, VMnet1: Host-only)
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 16: Trên máy pfsnese cài 3 card mạng
Hình 17: Máy nạn nhân kết nối VMnet1 và có địa chỉ ip 192.168.10.1
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 18: Máy attacker với card mạng vnet0 với ip 192.168.105.117
Hình 19: Chèn file iso và chạy pfsense
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 20: Cài đặt ip cho các card mạng
Hình 21: Đây là ipv4 của card Lan cũng là địa chỉ để máy client truy cập pfsense trên web
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 22: Trên máy client truy cập vào địa chỉ ip trên, tiến hành đăng nhập pfsense
(mk ban đầu là admin)
Hình 23: Cài đặt một số thông tin cho pfsense
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 24: Cài đặt thành công
Hình 25: Chọn gói snort và install
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 27: Update các rule cho snort
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 28: Trên firewall pfsense ta add Rules cho card wan
Hình 29: Attacker đã có thể ping tới firewall
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 30: Trên snort tự viết một số rule
Hình 31: Thử truy cập 1 trang web
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 32: Hệ thống phát hiện và đưa ra cảnh báo rule web
Hình 33: Trên snort viết 1 rule dos
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 34: Attacker trên máy kali dùng hping3 tấn công
Hình 35: Tài nguyên nạn nhân tăng vượt ngưỡng
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 36: Snort phát hiện và đưa ra cảnh báo
** Dựa vào đây người quản trị hệ thống sẽ phân tích, tìm giải pháp và đưa ra những hướng đi tiếp theo một cách kịp thời để tránh hậu quả xảy ra
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
Hình 38: Hệ thống ngừng cảnh báo dos
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14
VIDEO DEMO
Link youtube video demo: https://www.youtube.com/playlist?list=PLa_Jt0kvRWKPsHpnI9VjUK5GRaG16x00h
HỆ THỐNG TÌM KIẾM, NGĂN NGỪA VÀ PHÁT HIỆN XÂM NHẬP ĐỀ TÀI 14