Kết quả quá trình phát triển

Một phần của tài liệu Phát triển api gateway Đảm bảo an toàn hệ thống microservices (Trang 57 - 74)

Chương III Triển khai hệ thống

3.1. Kết quả quá trình phát triển

2.6.1. API Gateway

 Tính năng danh sách đen

Ta có một IP được đưa vào danh sách đen là 192.168.16.101

Hình 3. 1. Kết quả thông báo lỗi block

 Tính năng hạn ngạch

Hình 3. 2. Kết quả quản lý hạn ngạch

Ta có 2 hạn ngạch là Bandwidth không vượt quá 1Mb trong 1000s và 10 lần request trong 1500s

Kết quả nếu vượt quá

Hình 3. 3. Kết quả thông báo lỗi vượt quá hạn ngạch

 Ghi nhật ký

Sau khi gọi request bên trên thì hệ thống đã ghi nhật ký và vào AM để kiểm tra

Hình 3. 4. Kết quả ghi log

 Xác thực API, người dùng

Đối với API không cần xác thực người dùng mà trường x-

api_key không hợp lệ thì sẽ không xác thực API được

Hình 3. 5. Kết quả thông báo chưa xác thực API đăng ký

Đối với API cần xác thực người dùng bằng Beaerer Token mà token không hợp lệ hoặc hết hạn cũng thông báo lỗi tương tự

Hình 3. 6. Kết quả thông báo chưa xác thực người dùng đăng ký

 Định tuyến yêu cầu

Sau khi hợp lệ các tính năng lọc yêu cầu bên trên thì định tuyến yêu cầu tới endpoint – nới mà API bên trong sẽ thực hiện yêu cầu

Hình 3. 7. Kết quả của endpoint sau khi định tuyến thành công

2.6.2. API Management Application

 Quản lý API

Hình 3. 8. Danh sách quản lý API

Hình 3. 9. Giao diện Thiết kế API

Hình 3. 10. Giao diện chi tiết API

 Quản lý ứng dụng

Hình 3. 11. Giao diện danh sách ứng dụng

Hình 3. 12. Giao diện chi tiết ứng dụng

 Quản lý hệ thống AM

Hình 3. 13. Giao diện quản trị người dùng, nhóm người dùng

Hình 3. 14. Quản trị các chức năng trên AM

 Quản lý danh sách đen

Hình 3. 15. Giao diện quản lý danh sách đen

 Quản lý hạn ngạch

Hình 3. 16. Giao diện quản lý hạn ngạch

 Thống kê

Hình 3. 17. Thống kê thời gian dùng dịch vụ gần nhất

Hình 3. 18. Xem thống kê lỗi ngoại lệ

Hình 3. 19. Xem log thông điệp đã trao đổi qua cổng dịch vụ

2.7. Thử nghiệm API Gateway

2.7.1. Mô hình hệ thống thử nghiệm

Web client

API Gateway

PaymentLog Service

DB

API management Application + OAuth2 Server Runtime DB

Receipt Service

DB

Hình 3. 20. Hệ thống thử nghiệm

 Các thư mục mã nguồn

Hình 3. 21. Các thưc mục lưu code thử nghiệm Trong đó bao gồm:

 API Gateway: api_gateway : hoạt động trên cổng 9069

 AM Application:

o am_application + Identity Server : cổng 9070

o am_ui : cổng 9092

 Hệ thống mẫu:

Paymentlog : hoạt động trên cổng 8081

SessionLog Service : hoạt động trên cổng 8081

2.7.2. Kết quả thử nghiệm

Hình 3. 22. APIs đăng ký để thử nghiệm Kiểm tra API trên postman

Hình 3. 23. Kiểm tra hoạt động trên postman Web client : hoạt đổng trên cổng 4200

Hình 3. 24. Web thử nghiệm sau khi đã kết nối được API Gateway

Hệ thống hoạt động trơn tru với các tính năng trên API Gateway và quản lý bởi AM

3.2. Các kịch bản đảm bảo an toàn

2.7.3. Kịch bản quản lý truy cập

Khi ứng API đã được cấp Key và sinh ra token thì những dịch vụ sử dụng bên ngoài phải truyền chính xác token được cấp vào mới sử dụng được API. Nếu không thì sẽ thông báo lỗi

Hình 3. 25. Truy cập khi đã gửi chính xác token

Hình 3. 26. Truy cập API khi gửi sai token

Hình 3. 27. Truy cập khi không truyền token Kết luận kịch bản: Quản lý truy cập API có trách nhiệm xử lý yêu cầu

từ phía sử dụng API. Quá trình bao gồm Token có chứa chính xác API Key và sau đó kiểm soát truy cập bằng cách xác thực token.

Hậu quả nếu không có quản lý truy cập API dẫn đến là các dịch vụ bên ngoài có thể truy cập trái phép, gây mất mát, rò rỉ thông tin,…

Lưu ý: API Token sẽ cung cấp cho bên sử dụng bằng các con đường đảm bảo tính bí mật ( ứng dụng gửi tin nhắn có mã hóa, ….)

2.7.4. Kịch bản hạn ngạch hệ thống

Khi một hoặc nhiều dịch vụ bên ngoài có hành vi khủng bố yêu cầu truy cập – gửi rất nhiều yêu cầu đến hệ thống, API thì API Gateway không cho phép truy cập nữa nếu vượt quá hạn ngạch của hệ thống, API

Hình 3. 28. Thông báo của hệ thống khi gửi yếu cầu vượt quá hạn

ngạch Kết luận kịch bản: Hạn nghạch hệ thống có thể dễ dàng trở thành một trong những cách dễ nhất và hiệu quả nhất để kiểm soát lưu lượng truy cập, giúp giải quyết tình trạng lạm dụng API do các sự cố ngẫu nhiên trong mà khách hàng gây ra, dẫn đến việc API bị chặn bởi các yêu cầu. Về mặt độc hại, một cuộc tấn công từ chối dịch vụ (DoS, DDoS) nhằm lấn át tài nguyên API cũng có thể dễ dàng thực hiện mà không có hạn ngạch

2.7.5. Kịch bản truy vết, chặn IP

Ghi nhật ký có nhiều lợi ích. Trong đó: để truy vết và chặn IP là những tính năng hữu ích khi nghi ngờ, phát hiện một địa chỉ hoặc dải IP có hành vi xấu đến hệ thống. Dưới đây là hình ảnh khi phát hiện một IP: 192.168.16.101

có hành gì sử dụng sai API.

Hình 3. 29. Chặn địa chỉ IP Kết luận kịch bản: Các địa chỉ, dải địa chỉ IP trong danh sách đen, API Gateway có thể bảo vệ các API khỏi các cuộc tấn công thông thường hoặc sự lạm dụng của các người dùng, dịch vụ cụ thể nhằm đảm bảo tính an toàn cho

hệ thống. Hậu quả để lại khi không chặn những IP này rất khôn lường, khó thể đoán và lường trước được.

3.3. Kết luận chương 3

Sau khi kết thúc chương 3: Thực hiện khai báo kết quả phát triển API Gateway và API Management. Các tính năng được lập trình để phục vụ cho từng mục đích an toàn, giảm tải cho hệ thống microservices bên trong. Thực hiện mô hình thử ngiệm và đưa ra một số kịch bản tấn công

Một phần của tài liệu Phát triển api gateway Đảm bảo an toàn hệ thống microservices (Trang 57 - 74)

Tải bản đầy đủ (DOCX)

(86 trang)
w