2012-04-13 23 views
17

Tôi hoàn toàn mới đối với SiteMinder và SSO nói chung. Tôi poked xung quanh trên trang web của SO và CA tất cả các buổi chiều cho một ví dụ cơ bản và không thể tìm thấy một. Tôi không quan tâm đến việc thiết lập hoặc lập trình SM hay bất cứ thứ gì như thế. Tất cả điều đó đã được thực hiện bởi người khác. Tôi chỉ muốn điều chỉnh ứng dụng web JS của mình để sử dụng SM để xác thực.Làm thế nào tôi có thể tin tưởng rằng các tiêu đề HTTP của SiteMinder không bị giả mạo?

Tôi nhận được rằng SM sẽ thêm tiêu đề HTTP có khóa như SM_USER sẽ cho tôi biết người dùng là ai. Những gì tôi không nhận được là - điều gì ngăn cản mọi người tự thêm tiêu đề này và bỏ qua SM hoàn toàn? Tôi phải đặt gì vào mã phía máy chủ của mình để xác minh rằng SM_USER thực sự đến từ SM? Tôi cho rằng các tập tin cookie an toàn có liên quan đến ...

Trả lời

17

Các SM Web Agent cài đặt trên Web Server được thiết kế để đánh chặn tất cả lưu lượng và kiểm tra xem nếu yêu cầu tài nguyên là ...

  1. được bảo vệ bởi SiteMinder

  2. Nếu người dùng có SMSE hợp lệ SSION (tức là được Authenticated)

  3. Nếu 1 và 2 là đúng sự thật, thì WA kiểm tra Policy Server SiteMinder để xem nếu người dùng là ủy quyền để truy cập tài nguyên được yêu cầu.

Để đảm bảo rằng bạn không có thông tin người dùng HTTP Header tiêm, SiteMinder WebAgent sẽ ghi đè tất cả thông tin Tiêu đề HTTP cụ thể của SiteMinder. Về cơ bản, điều này có nghĩa là bạn có thể "tin tưởng" thông tin SM_ mà WebAgent đang trình bày về người dùng vì nó được tạo ra bởi Web Agent trên máy chủ và không phải là một phần của yêu cầu đến.

3

Bởi vì tất cả lưu lượng nên đi qua SiteMinder Web Agent vì vậy ngay cả nếu người dùng đặt tiêu đề này, nó sẽ được ghi đè/gỡ bỏ

2

SiteMinder r12.52 chứa chức năng mới có tên Bảo đảm phiên nâng cao với DeviceDNA ™. DeviceDNA có thể được sử dụng để đảm bảo rằng Cookie phiên SiteMinder không bị giả mạo. Nếu Session được phát lại trên một máy khác, hoặc từ một thể hiện khác trên cùng một máy, DeviceDNA sẽ bắt giữ nó và chặn yêu cầu.

Click here to view a webcast discussing new features in CA SiteMinder r12.52

+0

tôi đã tự hỏi về điều đó. Tôi đã nhận thấy rằng trong một lần thực hiện SM_SESSION (cookie phiên) đang được cập nhật từng phút. Tôi tự hỏi thời gian chờ mặc định của cookie an toàn là gì. – gabor

2

Tất cả SiteMinder kiến ​​trúc làm thực sự làm cho các giả định rằng các ứng dụng chỉ có để tin tưởng vào "SM_" tiêu đề.

Trong thực tế, điều này có thể không đủ tùy thuộc vào kiến ​​trúc của ứng dụng của bạn. Về cơ bản, bạn có 3 trường hợp:

  • Đại lý Web được cài đặt trên máy chủ web mà ứng dụng của bạn chạy (trường hợp điển hình cho các ứng dụng Apache/PHP): như đã nêu ở trên, bạn có thể tin tưởng các tiêu đề như không có yêu cầu có thể tiếp cận ứng dụng của bạn mà không bị lọc bởi tác nhân web.
  • Đại lý web được cài đặt trên một máy chủ web khác với ứng dụng của bạn chạy, nhưng trên cùng một máy (trường hợp điển hình: SM Agent được cài đặt trên giao diện người dùng Apache phục vụ Máy chủ ứng dụng JEE): bạn phải đảm bảo rằng không yêu cầu nào có thể trực tiếp liên lạc với máy chủ ứng dụng của bạn. Hoặc là bạn ràng buộc máy chủ ứng dụng của bạn với giao diện loopback hoặc bạn lọc các cổng trên máy chủ.
  • Tác nhân web chạy trên proxy ngược trước ứng dụng của bạn. Cùng một nhận xét. Giải pháp duy nhất ở đây là triển khai bộ lọc IP trên ứng dụng của bạn để chỉ cho phép các yêu cầu đến từ proxy ngược của bạn.
1

kiến ​​trúc doanh nghiệp tiêu biểu sẽ Webserver (SiteMinder Agent) + AppServer (Ứng dụng)

Say IP lọc không được kích hoạt, và yêu cầu webs được phép trực tiếp đến AppServer, bỏ qua máy chủ web và sso-agent.

Nếu các ứng dụng phải triển khai giải pháp để xác nhận tiêu đề/cookie yêu cầu không bị giả mạo/tiêm, chúng tôi có giải pháp simillar nào không?

  • Gửi SM_USERID được mã hóa trong một cookie riêng biệt hoặc được mã hóa (Sym/Asym) cùng với id SMSESSION
  • ứng dụng sẽ sử dụng chìa khóa để giải mã SMSESSION hoặc SM_USERID để retrive id người dùng, tình trạng hết phiên và bất kỳ chi tiết bổ sung khác và chi tiết ủy quyền nếu có.
  • ứng dụng hiện nay tin tưởng user_id và làm xác thực
+0

bạn có thể triển khai xác thực máy khách TLS/SSL giữa máy chủ Web và ứng dụng để đảm bảo dữ liệu không bị giả mạo, nhưng điều đó làm tăng thêm độ phức tạp cho môi trường, đặc biệt nếu máy chủ ứng dụng của bạn không thể xử lý xác thực ứng dụng khách SSL trong nội bộ. – bcarroll

Các vấn đề liên quan