Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2 pot

30 284 0
Xây dựng các dịch vụ web với an ninh ở mức chuyển tải bằng cách sử dụng Rational Application Developer V7, Phần 2 pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xây dựng dịch vụ web với an ninh mức chuyển tải cách sử dụng Rational Application Developer V7, Phần : Định cấu hình cho xác thực sở HTTP Henry Cui, Kỹ sư phần mềm, IBM Tóm tắt: Phần loạt hướng dẫn hướng dẫn bạn bước xây dựng dịch vụ web cho ứng dụng máy tính cầm tay đơn giản Bạn tạo dịch vụ web kiểm thử hai loại hình trình khách dịch vụ Web khác trình khách Java ™ Platform, Enterprise Edition (Java EE) trình khách Java độc lập - xử lý trường hợp ngoại lệ người dùng định nghĩa dịch vụ web Bài thứ hai loạt gồm ba phần cho bạn cách định cấu hình xác thực sở HTTP cho dịch vụ web bạn trình khách dịch vụ web giám sát thông tin xác thực sở HTTP cách sử dụng trình giám sát TCP/IP Trước bạn bắt đầu Về loạt hướng dẫn Nếu bạn qua phần loạt hướng dẫn này, bạn đã: • Thiết lập máy chủ • Tạo Java bean • Tạo dịch vụ web • Tạo trình khách Java EE dịch vụ web • Tạo trình khách Java độc lập dịch vụ Web Phần hướng dẫn xây dựng dựa Phần 1, cho bạn cách làm để định cấu hình cho xác thực sở HTTP Tại bạn sẽ: • Bật cho phép bảo đảm an ninh WebSphere® Application Server ca IBMđ ã nh cu hỡnh vic xỏc thực sở HTTP cho bên cung cấp dịch vụ web • Định cấu hình việc xác thực sở HTTP cho trình khách dịch vụ web cách sử dụng miêu tả triển khai • Định cấu hình việc xác thực sở HTTP cho trình khách dịch vụ web lập trình • Giám sát thông tin xác thực sở HTTP cách sử dụng trình giám sát TCP/IP Phần hướng dẫn cho bạn biết cách định cấu hình cho HTTPS Trong phần 3, bạn sẽ: • Tạo kho lưu trữ khóa, kho ủy thác, chứng thực bên cung cấp dịch vụ web • Tạo cấu hình giao thức Secure Sockets Layer (SSL) cho bên cung cấp dịch vụ web • Tạo móc xích chuyển tải thùng chứa Web để sử dụng cấu hình SSL cho bên cung cấp dịch vụ web • Định cấu hình cho HTTPS cho trình khách dịch vụ Web • Kiểm thử dịch vụ Web qua HTTPS từ trình khách Java EE • Kiểm thử dịch vụ Web qua HTTPS từ trình khách Java độc lập Mục tiêu Tìm hiểu cách định cấu hình cho xác thực sở HTTP cho dịch vụ web trình khách dịch web giám sát thơng tin xác thực sở HTTP cách sử dụng trình giám sát TCP/IP Một số yêu cầu Bạn cần phải có số hiểu biết sở cơng nghệ Java dịch vụ web để làm theo hướng dẫn Yêu cầu hệ thống Bạn cần phải cài đặt sản phẩm Rational Application Developer V7 IBM, (Bạn tải Rational Application Developer dùng thử trang developerWorks bạn chưa mua sản phẩm này.) Nếu bạn không Rational Application Developer V7 nhất, bạn vào trình quản lý cài đặt IBM (IBM Installation Manager) chọn mục Update Packages để xem phần cập nhật có Vào thời điểm viết hướng dẫn này, phiên Rational Application Developer 7.0.0.5 (Lưu ý: Cứ khoảng ba tháng lần IBM phát hành gói vá lỗi Bạn thấy phiên Rational Application Developer thời điểm cài đặt Mỗi phiên Rational Application Developer có chứa số lượng lớn phần sửa chữa Chúng khuyên bạn nên cài đặt phiên để tránh gặp vấn đề sửa chữa.) Kích hoạt bảo đảm an ninh WebSphere Application Server Trong phiên trước WebSphere Application Server, người dùng bật chế độ bảo đảm an ninh tổng thể, bảo đảm an ninh quản trị bảo đảm an ninh ứng dụng bật Từ WebSphere Application Server phiên V6.1 trở đi, khái niệm bảo đảm an ninh tổng thể chia thành bảo đảm an ninh quản trị bảo đảm an ninh ứng dụng, bạn kích hoạt riêng rẽ chế độ bảo đảm an ninh Bảo đảm an ninh ứng dụng có hiệu lực bảo đảm an ninh quản trị kích hoạt Để kích hoạt tính xác thực sở HTTP, máy chủ WebSphere Application Server phải chạy hai loại bảo đảm an ninh quản trị bảo đảm an ninh ứng dụng kích hoạt Trong phần này, bạn kích hoạt chế độ bảo đảm an ninh máy chủ Bạn sử dụng sổ đăng ký người sử dụng hệ điều hành máy cục để xác thực người dùng Sau bảo đảm an ninh kích hoạt, bạn cần phải thơng báo cài đặt quản trị bạn từ môi trường phát triển tới máy chủ chạy thi hành để bạn thiết lập quan hệ tin cậy bàn làm việc (workbench) phát triển máy chủ Bật chế độ bảo đảm an ninh máy chủ Trước tiên, bạn định cấu hình cho máy chủ chạy với chế độ bảo đảm an ninh kích hoạt: Bạn phải chắn WAS v6.1 for Web services provider (máy chủ ứng dụng WebSphere v6.1 cho bên cung cấp dịch vụ Web) khởi chạy Tại khung nhìn Servers, nhấn chuột phải vào WAS v6.1 for Web services provider chọn Run administrative console (chạy bàn quản trị) Nhấn Log in Bạn không cần phải nhập ID người dùng, mục khơng phải kiểm tra Trong ô bên trái, mở rộng Security > Secure administration, applications, and infrastructure, hình Hình Bảo đảm an ninh quản trị, ứng dụng sở hạ tầng Nhấn Security Configuration Wizard Tại trang Specify extent of protection, nhấn chọn Enable application security sau nhấn Next Tại trang Select user repository chọn Local operating system sau nhấn Next Tại trang Configure user repository, nhập Primary administrative user name Tên người dùng phải có quyền ưu tiên quản trị hệ điều hành máy tính bạn Nhấn Next Tại trang Summary nhấn Finish sau nhấn Save Bạn thấy hai, bảo đảm an ninh quản trị lẫn bảo đảm an ninh ứng dụng kích hoạt 10 Nhấn Logout để thoát khỏi bàn quản trị 11 Ngừng hoạt động máy chủ WebSphere Application Server V6.1 cho bên cung cấp dịch vụ web Về đầu trang Định cấu hình bảo đảm an ninh bàn làm việc Bạn cần phải biên tập cấu hình máy chủ để xác định rõ chế độ bảo đảm an ninh kích hoạt: Tại khung nhìn Servers, nhấn đúp chuột vào WAS v6.1 for Web services provider Trình biên tập cấu hình máy chủ mở Mở rộng phần Security chọn Security is enabled on this server Nhập ID người sử dụng mật ID người dùng xác định quản trị viên bàn điều khiển quản trị WebSphere Nó phải giống ID mà bạn nhập hộp thoại Security Configuration Wizard bàn điều khiển quản trị WebSphere Bạn chọn Automatically trust server certificate during SSL handshake hình Hình Chỉ rõ thơng tin bảo đảm an ninh trình biên tập cấu hình máy chủ Ghi lưu đóng trình biên tập cấu hình máy chủ lại Khởi chạy máy chủ WebSphere Application Server V6.1 cho bên cung cấp dịch vụ web Nhấn chuột phải vào WAS v6.1 for Web service provider chọn Run administrative console Bạn thấy bàn điều khiển quản trị bảo mật hình Nhập ID người sử dụng bạn mật để đăng nhập Hình Bàn điều khiển quản trị bảo mật Xác định cấu hình xác thực sở HTTP cho nhà cung cấp dịch vụ web Việc xác thực sở HTTP sử dụng mơ hình xác thực có Java EE Trình biên tập miêu tả triển khai Web sử dụng để cấu hình thơng tin người có quyền để truy cập vào dịch vụ web, kiểu phương thức xác thực sử dụng, mẫu URL phương thức HTTP bảo vệ Trình biên tập miêu tả triển khai ứng dụng sử dụng để thu thập vai trò bảo mật, thêm người sử dụng nhóm vào vai trị Định cấu hình cho mơ tả triển khai Web Tại khung nhìn Project Explorer, mở rộng dự án web Calculator, sau nhấn đúp chuột vào Deployment Descriptor: Calculator Bộ mô tả triển khai Web mở Nhấn vào thẻ Servlets Nhấn servlet com_ibm_calculator, sau kiểm tra phần URL Mappings Bạn thấy servlet com_ibm_Calculator ánh xạ đến địa URL services/Calculator, bạn lưu ý địa URL bạn bảo vệ bước sau Nhấn thẻ Pages Tại phần Login, nhấn danh sách thả xuống Authentication method chọn Basic Nhập HTTP basic authentication mục realm name hình Hình Cấu hình Đăng nhập Phấn phiếu Security Tại phần Security Roles nhấn Add Hộp thoại Add Security Role mở Nhập webservicesrole vào mục name Authenticated Web service user vào mục description hộp thoại Sau nhấn Finish 10 Nhấn vào mục vai trò bảo mật webservicesrole mà bạn vừa xác định Sau mục Add 11 Nhập WSConstraint làm tên ràng buộc nhấn Next 12 Tại hộp thoại Add Web Resource bạn nhập ws_resource làm tên tài nguyên 13 Nhập Protected Web service resource làm nội dung mô tả Tại mục HTTP Methods, bạn nhấn chọn GET POST 14 Tại phần Pattern, nhấn Add, nhập /services/Calculator làm tên hình 15 Nhấn OK faultCode: HTTP faultString: ( 401 ) Unauthorized faultActor: http://localhost:9080 faultDetail: null: WSWS3192E: Error: return code: ( 401 ) Unauthorized ( 401 ) Unauthorized Xin chúc mừng! Dịch vụ Web bật chế độ xác thực sở HTTP người sử dụng phép truy cập dịch vụ web Xác định cấu hình xác thực sở HTTP cho trình khách dịch vụ Web cách sử dụng mơ tả triển khai Bạn định cấu hình xác thực sở HTTP cách sử dụng trình biên tập mơ tả triển khai thiết lập mã lệnh chương trình Trong phần này, bạn định cấu hình xác thực sở HTTP cách sử dụng trình biên tập mơ tả triển khai Web Tại khung nhìn Package Explorer, mở rộng dự án web CalculatorWebClient, nhấn đúp chuột vào Deployment Descriptor: CalculatorWebClient Bộ mô tả triển khai Web mở Nhấn phiếu WS Binding Tại phần Port Qualified Name Binding Details, tìm đến mục xác thực sở HTTP Nhập ID người sử dụng hợp lệ mật khẩu, hình Hình Định rõ xác thực sở HTTP Ghi lưu mơ tả triển khai Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, WebContent sampleCalculatorProxy Sau đó, nhấn chuột phải vào TestClient.jsp chọn Run As > Run on server Thử nghiệm trình khách JSP mẫu Lần bạn sử dụng thành cơng dịch vụ web Xác định cấu hình xác thực sở HTTP cho trình khách dịch vụ web chương trình Bạn định cấu hình xác thực sở HTTP cho trình khách dịch vụ web mã lệnh chương trình Nếu bạn định cấu hình xác thực sở HTTP hai cách: sử dụng mô tả triển khai mã lệnh chương trình, giá trị thiết lập theo chương trình có mức ưu tiên cao so với giá trị định nghĩa phần kết buộc mô tả triển khai Bạn hủy bỏ thông tin xác thực sở HTTP mà bạn thiết lập phiếu WS Binding mơ tả triển khai Web ghi lưu Tại khung nhìn Project Explorer, mở rộng CalculatorWebClient, Java Resources: src com.ibm Sau đó, mở tệp CalculatorProxy.java Thêm câu lệnh nhập phía tệp CalculatorProxy.java: : import javax.xml.rpc.Stub; Xác định vị trí dịng lệnh tệp CalculatorProxy.java liệt kê Liệt kê Mã lệnh cần thay đổi if (_useJNDI) { try { javax.naming.InitialContext ctx = new javax.naming.InitialContext(); calculator = ((com.ibm.CalculatorService)ctx lookup("java:comp/env/service/CalculatorService")).getCalculator(); } Thực thay đổi tô đậm liệt kê Liệt kê Thiết lập thông tin xác thực sở mã lệnh chương trình if (_useJNDI) { try { javax.naming.InitialContext ctx = new javax.naming.InitialContext(); calculator = ((com.ibm.CalculatorService)ctx lookup("java:comp/env/service/CalculatorService")).getCalculator(); ((javax.xml.rpc.Stub) calculator) _setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "xxxxxxxx"); ((javax.xml.rpc.Stub) calculator) _setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "xxxxxxxx"); } Lưu ý: Bạn cần phải thay chữ "xxxxxxxx" tên người dùng mật riêng bạn Ghi lưu tệp tin Thử nghiệm trình khách JSP mẫu lần Lần bạn sử dụng thành cơng dịch vụ web Đối với loại hình Java client đứng độc lập, bạn chép dán mã từ liệt kê vào tệp TestCalculator.java bạn dự án CalculatorJavaClient Dòng lệnh thêm tô sáng Lưu ý: Bạn cần phải thay chữ "xxxxxxxx" tên người dùng mật riêng bạn 10 Ghi lưu tập tin Kiểm thử tệp TestCalculator.java để chắn làm việc Liệt kê Tệp TestCalculator.java package com.ibm; import java.rmi.RemoteException; public class TestCalculator { public static void main(String[] args) { try { CalculatorProxy proxy = new CalculatorProxy(); Calculator calculator = proxy.getCalculator(); ((javax.xml.rpc.Stub)calculator) _setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "xxxxxxxx"); ((javax.xml.rpc.Stub)calculator) _setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "xxxxxxxx"); System.out.println("2 + = " + proxy.add(2, 2)); System.out.println("2 - = " + proxy.subtract(2, 2)); System.out.println("4 * = " + proxy.multiply(4, 2)); System.out.println("4 / = " + proxy.divide(4, 2)); System.out.print("4 / = "); System.out.print(proxy.divide(4, 0)); } catch (DivideByZeroException e) { System.out.println("Error: can't divide by zero!"); } catch (RemoteException e) { e.printStackTrace(); } } } Giám sát thông tin xác thực sở HTTP cách sử dụng trình giám sát TCP/IP Bạn giám sát tiêu đề HTTP lưu lượng SOAP dịch vụ web cách sử dụng trình giám sát TCP/IP Để thiết lập trình giám sát TCP/IP, bạn cần: Chọn Window > Preferences > Run/Debug > TCP/IP Monitor, sau nhấn Add Hộp thoại New Monitor mở Tại trường Local monitoring port, bạn nhập số hiệu cổng máy tính bạn, mà chưa tiến trình sử dụng cổng (ví dụ: 9089) Tại trường Host name, bạn nhập localhost Đối với trường Port, bạn nhập số hiệu cổng máy chủ WebSphere Application Server V6.1 cho nhà cung cấp dịch vụ web Đó số 9080 (xem hình 10) Hình 10 Thiết lập trình giám sát TCP/IP Nhấn OK Chọn trình giám sát TCP/IP tạo Nhấn Start sau nhấn OK Tại trang trình khách JSP mẫu, nhấn phương thức getEndpoint() nhấn Invoke Kết sau: http://localhost:9080/Calculator/services/Calculator Sao chép đường dẫn URL Nhấn setEndpoint() trình khách JSP mẫu, nhập đường dẫn http://localhost:9089/Calculator/services/Calculator, nhấn Invoke Trình khách JSP mẫu gửi yêu cầu SOAP tới cổng 9089, cổng mà trình giám sát TCP/IP lắng nghe Trình giám sát TCP/IP sau chuyển hướng yêu cầu SOAP tới cổng 9080, cổng mà dịch vụ web chạy 10 Nhấn phương thức add(int,int) nhập giá trị để kiểm thử Các yêu cầu đáp ứng hiển thị phiếu TCP/IP Monitor 11 Nhấn biểu tượng Menu (hình tam giác có đỉnh quay xuống phía dưới) góc phía bên phải, sau chọn Show Header, hình 11 Hình 11 Hiển thị tiêu đề HTTP khung nhìn giám sát TCP/IP 12 Cả tiêu đề HTTP phong bì SOAP hiển thị phiếu TCP/IP monitor (xem hình 12) Hình 12 Sử dụng trình giám sát TCP/IP để giám sát tiêu đề HTTP phong bì SOAP 13 Liệt kê cho biết thông tin tiêu đề HTTP yêu cầu dịch vụ web Liệt kê Thông tin tiêu đề HTTP yêu cầu dịch vụ web POST /Calculator/services/Calculator HTTP/1.1 Host: localhost:9080 Accept: application/soap+xml,multipart/related,text/* User-Agent: IBM WebServices/1.0 Cache-Control: no-cache Pragma: no-cache SOAPAction: "add" Authorization: Basic aGVucnk6b3BlbnNlc2FtZQ== Connection: Keep-Alive Content-Type: text/xml; charset=utf-8 Content-Length: 597 Date: Fri, 23 Nov 2007 22:18:07 GMT Bạn lưu ý dòng lệnh chứa thông tin ID mật người sử dụng: Authorization: Basic aGVucnk6b3BlbnNlc2FtZQ== 14 Nếu bạn tìm giải mã cho xác thực sở HTTP, Google, bạn thấy vài công cụ để giải mã xác thực sở HTTP Nếu bạn tìm cơng cụ mã/giải mã Base64 trực tuyến (Online Base64 encode/Decode Utility) địa URL http://www.securitystats.com/tools/base64.php, dán dịng aGVucnk6b3BlbnNlc2FtZQ== vào trường giải mã, bạn có kết hình 13 Hình 13 Cơng cụ mã/giải mã Base64 trực tuyến Ối chà! Tên người dùng mật bạn bị lộ cho người Quá dễ để giải mã! Vì thế, bạn nên sử dụng HTTPS để mã hóa thơng tin xác thực sở Bạn tìm hiểu thêm cấu hình HTTPS phần ba loạt hướng dẫn gồm ba phần Chúc bạn thành cơng! Tóm tắt Việc xác thực sở HTTP cung cấp phương cách đơn giản để xác thực trình khách dịch vụ Web Tại phần loạt hướng dẫn, bạn học cách định cấu hình xác thực sở HTTP cho dịch vụ Web trình khách cách sử dụng Rational Application Developer V7 máy chủ WebSphere Application Server V6.1 Phần loạt hướng dẫn cung cấp dẫn bước cách định cấu hình cho HTTPS ... trình khách dịch vụ Web Tại phần loạt hướng dẫn, bạn học cách định cấu hình xác thực sở HTTP cho dịch vụ Web trình khách cách sử dụng Rational Application Developer V7 máy chủ WebSphere Application. .. tả triển khai ứng dụng Về đầu trang Kiểm thử dịch vụ web với xác thực sở HTTP bật Vì dịch vụ Web bật chế độ xác thực sở HTTP, nên có người sử dụng xác thực truy cập dịch vụ web bạn Bạn không... HTTP cho dịch vụ web trình khách dịch web giám sát thông tin xác thực sở HTTP cách sử dụng trình giám sát TCP/IP Một số yêu cầu Bạn cần phải có số hiểu biết sở công nghệ Java dịch vụ web để làm

Ngày đăng: 08/08/2014, 14:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan