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