Tạo các ứng dụng bảo mật Java một cách hiệu quả - Phần 2

Tóm tắt: Đây là phần thứhai trong loạt bài hướng dẫn gồm hai phần viết vềviệc

tạo các ứng dụng Web bảo mật dựa trên Java® sửdụng Rational® Application

Developer, Data Studio vàRational AppScan. Trong Phần 1 bạn đã phát triển một

ứng dụng Web Java với Rational Application Developer, và sau đó mới triển khai

ứng dụng trên WebSphere Application Server với Java Server Pages (JSP). Bài

hướng dẫn này chỉcho bạn biết cách quét ứng dụng Wealth được tạo ra trong Phần

1 có sửdụng Rational AppScan đểtìm và sửa tất cảkhiếm khuyết bảo mật Web đã

biết.

pdf84 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 1878 | Lượt tải: 1download
Tóm tắt nội dung Tạo các ứng dụng bảo mật Java một cách hiệu quả - Phần 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
JSP sao cho chúng không 
xuất hiện trong HTML nữa. 
Ví dụ 6.securities.jsp được cập nhật 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN"> 
<jsp:useBean id="securities" 
class="com.ibm.ds.securities.SecuritiesDataImpl" 
 scope="page" /> 
<%@page language="java" contentType="text/html; 
charset=ISO-8859-1" 
 pageEncoding="ISO-8859-1"%> 
securities 
<meta http-equiv="Content-Type" content="text/html; 
charset=ISO-8859-1"> 
<meta name="GENERATOR" content="Rational Application 
Developer"> 
Your stock and options holdings 
<table 
 border="1">SybmolDescription 
 Quantity*TypeCurrent price** 
 Total valueQuote date 
<% 
 String userid = (String)session.getAttribute("userid"); 
 if(userid == null){ 
 response.sendRedirect("login.jsp"); 
 } 
 Data d = 
SampleUtil.getData("jdbc:db2://localhost:50000/WEALTH", 
 ", 
""); 
 securities.setData(d); 
 Iterator i = securities.getSecuritiess(userid); 
 Securities curr = null; 
 double total = 0; 
 while(i.hasNext()){ 
 curr = (Securities) i.next(); 
 String str = 
""+curr.getSymbol()
+"&f=nd1l1"; 
 URL url = new URL(str); 
 URLConnection conn = url.openConnection(); 
 DataInputStream in = new DataInputStream 
( conn.getInputStream ( ) ) ; 
 BufferedReader br = new BufferedReader(new 
InputStreamReader(in)); 
 String line = null; 
 if(br.ready()) 
 line = br.readLine(); 
 String company = line.substring(line.indexOf('"')+1, 
 line.indexOf('"', 
line.indexOf('"')+1)); 
 String date = line.substring(line.indexOf("\",\"")+3, 
 line.indexOf("\",", 
line.indexOf("\",\"")+4)); 
 String price = line.substring(line.indexOf("\",", 
line.indexOf("\",\"")+4)+2); 
 int multQuantity = curr.getQuantity(); 
 if(curr.getSecuritytype().equals("option")) 
 multQuantity = curr.getQuantity()*100; 
 float totalValue = Float.parseFloat(price)*multQuantity;
 totalValue = 
(float)(Math.round(totalValue*100.0)/100.0); 
 out.println(""+curr.getSymbol()+"" 
 +company+ 
 ""+curr.getQuantity()+""+ 
 curr.getSecuritytype()+"$"+price+ 
 "$"+totalValue+"" 
 +date+""); 
 total += totalValue; 
 } 
 if(total > 0) 
 total = Math.round(total*100.0)/100.0; 
%> 
Total value: $ 
* # of contracts for options** Delayed quotes, as 
retrieved from 
 Yahoo! Finance™ 
back 
Lỗi duy nhất mà lớp này có là các nhận xét trong HTML. Hãy lưu ý đến sự thay 
đổi ở đây từ nhận xét HTML sang nhận xét JSP. 
Cuối dùng, hãy vô hiệu hóa phiên (xem Ví dụ 7). 
Ví dụ 7. welcome.jsp được cập nhật 
<!DOCTYPE HTML PUBLIC "-
//W3C//DTD HTML 4.01 
Transitional//EN"> 
<%@page language="java" 
contentType="text/html; charset=ISO-
8859-1" 
 pageEncoding="ISO-8859-1"%> 
welcome 
<meta http-equiv="Content-Type" 
content="text/html; charset=ISO-8859-
1"> 
<meta name="GENERATOR" 
content="Rational Application 
Developer"> 
<% 
 String userid = 
(String)session.getAttribute("userid"); 
 session.invalidate(); 
 session = request.getSession(true); 
 session.setAttribute("userid", 
userid); 
 if(userid == null){ 
 response.sendRedirect("login.jsp");
 } 
%> 
Welcome <% 
out.print(userid); %>! 
See your <a 
href="securities.jsp">securities
See your real 
estate 
logout 
Cuối cùng, đổi nhận xét HTML trong welcome.jsp sang nhận xét JSP, và vô hiệu 
hóa phiên như đã nói ở trên. 
Sau khi cập nhật jsp's trong Rational Application Developer, hãy kiểm tra mọi thứ 
đang làm việc với ứng dụng Web Wealth. 
Về đầu trang 
Quét lần hai 
Vì bạn vừa cập nhật mã trình Java của bạn và kiểm tra Ứng dụng Web Wealth 
đang chạy, nên đây là lúc chạy lại Rational AppScan và xem xem có bao nhiêu 
khiểm khuyết bạn vừa sửa. 
Trước khi chạy Quét khác, hay kiểm tra dữ liệu bảng cơ sở dữ liệu của bạn, vì có 
lẽ Rational AppScan Scan trước đã tạo ra các bảng có các dòng dữ liệu kiểm tra 
mới, bao gồm XSS, cái có thể gây ra lỗi kiểm tra. Trong trường hợp này thông báo 
Rational AppScan đã cộng 50 hoặc các nhập mục như thế vào bảng chứng khoản 
của bạn. 
Khi các bảng của bạn vừa được kiểm tra xong và Ứng dụng Web Wealth của bạn 
vừa được kiểm tra xong, bạn cần được cài đặt toàn bộ cho lần quét khác. 
Trong Rational AppScan, nhấn New hoặc File > New (xem Hình 34). 
Hình 34. Chọn Mẫu Quét đã được tạo trước đó của bạn, WealthScan 
Tiếp theo Wizard lại bắt đầu với thông tin mẫu quét trước và các cài đặt được tạo 
ra. Bạn muốn lặp lại lần quét tương tự chính xác thì hãy chấp nhận các cài đặt này 
và ấn Next 3 lần, chọn Application-Only và tiếp đến nhấn Finish. 
Tiếp theo bạn được nhắc lưu lần quét thứ hai. Đặt tên cho nó là WeathScan2, sau 
đó quét sẽ bắt đầu. 
Khi Quét kết thúc, bạn cần thông báo là các khiếm khuyết Bảo mật được tìm ra 
trước đó đã được xử lý hết và hiển thị một báo cáo xóa. 
. 
Bạn đã quét sạch thành công Ứng dụng Web Wealth khỏi tất cả những khiếm 
khuyết bảo mật đã biết rồi đấy! 
Các lựa chọn và mở rộng báo cáo Rational Appscan 
Trong phần cuối này, bạn sẽ nhìn thấy một vài báo cáo khác nhau mà bạn có thể 
tạo ra và các mở rộng mà bạn có thể sử dụng với Rational AppScan. 
Các báo cáo Rational AppScan 
Vì Ứng dụng Web của bạn không còn có khiếm khuyết bảo mật nữa, nên bạn có 
thể tạo ra một vài báo cáo Bảo đảm Chất lượng chuyên nghiệp. Các báo cáo như 
thế này được cung cấp như một phần của quy trình kiểm soát phát hành, miễn là 
ứng dụng Web của bạn đã được kiểm tra bảo mật thành công, và phù hợp để đưa 
lên Internet (xem Tải xuống để xem các báo cáo được tạo ra từ các lần quét của 
bạn). 
Vậy nên khi lần quét cuối của bạn vẫn mở trong Rational AppScan, chọn Tools > 
Report. 
Bây giờ hãy chọn một mẫu báo cáo phù hợp. Hình 35 trình bày một ví dụ về báo 
cáo chuẩn. 
 Ví dụ 35. Báo cáo chuẩn ngành 
Hình 36 trình bày một danh sách các báo cáo phù hợp quy định khác nhau mà có 
thể chọn được. 
 Hình 36. Báo cáo phù hợp quy định 
Về đầu trang 
Báo cáo phân tích Delta 
Khi kiểm tra các ứng dụng Web lớn, có thể thực hiện một vài lần quét bằng 
Rational AppScan trước khi giải quyết tất cả các lỗi bảo mật. Nhân dịp này bạn sẽ 
thông báo khi bạn sửa một vấn đề bảo mật, một vài vấn đề bảo mật nữa xuất hiện. 
Do vậy, việc tạo ra các báo cáo phân tích delta nhằm thể hiện quy trình của bạn có 
thể rất hữu dụng. 
Phân tích Delta so sánh lần quét trước với lần quét hiện tại; thật dễ dàng tạo ra 
chúng. Trong lần hiện tại của mình mà bạn muốn so sánh, hãy chọn Tools > 
Report > Delta Analysis Report, và sau đó điều hướng đến lần quét thứ hai mà 
bạn muốn so sánh trong báo cáo của mình (xem Hình 37). 
Hình 37. Báo cáo phân tích Delta 
Rational AppScan cho phép bạn tạo ra các mẫu báo cáo đặc trưng của riêng bạn 
(xem Hình 38), mà rất đơn giản và dễ học quy trình. 
Hình 38. Tạo báo cáo của riêng bạn 
Về đầu trang 
Các mở rộng Rational AppScan 
Một tính năng có thể tùy biến hoàn toàn và hữu dụng nữa trong Rational AppScan 
là sử dụng các Rational AppScan mở rộng. Các mở rộng là các tiện ích bổ sung 
mà bổ sung tính năng phụ trợ và các khả năng của Rational AppScan (xem Hình 
39). Chúng có thể bổ sung bất cứ thứ gì từ công cụ khai thác, đến thông báo thư 
điện tử và đến mở rộng yêu thích của tôi mà xuất thẳng các kết quả quét vào một 
bản trình diễn PowerPoint. 
Hình 39. Chọn Extension Manager trong Rational AppScan 
Các mở rộng Rational AppScan dễ viết và tích hợp trong Rational AppScan. IBM 
nắm giữ một số mở rộng có thể tải miễn phí (xem hình 40) có sẵn để tích hợp tại 
 Hình 40. Chọn Install (Cài đặt) 
Một trong những mở rộng hữu hiệu nhất có sẵn để tải xuống từ IBM là Email 
Notification Extension (Mở rộng Thông báo Thư điện tử). Để giải thích làm thế 
nào chúng có thể tích hợp dễ dàng và cách thức chúng hoạt động như thế nào, ở 
đây có một bài hướng dẫn mở rộng nhỏ. 
1. Trước tiên trình duyệt đến  và tải Mail-E-Vent 
Extension. 
Mở rộng được tải xuống dưới dạng tệp tin nén, nhưng không giải nén tệp 
tin này, vì định dạng .zip phù hợp cho việc nhập vào Rational AppScan 
(xem Hình 41). 
Hình 41. Điều hướng đến tệp Mail-E-Vent Zip được tải xuống của bạn 
2. Cài đặt Mail Extension. 
3. Đóng ứng dụng Rational AppScan và sau đó lại mở nó ra (xem Hình 42). 
Hình 42. Quay lại the Extension Manager và mở Cài đặt "Mail-E-
Vent" mới 
4. Chọn Save and Test Settings, và kiểm tra hộp thư đến của bạn để xem thư 
kiểm tra (xem Hình 43). Và đó là tất cả những gì có với nó! 
Hình 43. Thư kiểm tra thành công 
Bây giờ Rational AppScan sẽ tự động gửi một thông báo thư (và một báo cáo nếu 
có thể), khi Quét kết thúc, khi Rational AppScan mất khả năng kết nối với ứng 
dụng Web, và quét tạm dừng yêu cầu nhắc đăng nhập được hoàn thành. Mở rộng 
đặc biệt này có thể vô cùng hữu ích khi quét các ứng dụng lớn hơn và phức tạp 
hơn, điều này có thể chỉ mất một lúc. Vì thế bạn có thể thoát ra và tiếp túc với các 
việc khác, an toàn khi biết bạn sẽ nhận được một thư điện tử nếu Rational 
AppScan "cần" bạn. 
Cuối cùng bạn có thể tự tạo một mở rộng thật dễ dàng. IBM cung cấp mã nguồn 
cho tất cả các mở rộng làm nét nổi bật trên Website của họ, vì thế bạn có thể xem 
cách họ tạo ra đơn giản như thế nào. Cũng không mất thời gian để bạn có thể tích 
hợp Rational AppScan vào các hệ thống nghiệp vụ của bạn và tạo ra các tính năng 
bổ sung nhằm đáp ứng bất kỳ yêu cầu cụ thể nào mà bạn có. 
Tóm tắt 
Bạn chắc chắn là Ứng dụng Web Java Wealth của bạn được tạo trong Phần 1 của 
loạt bài này không có các khiếm khuyết bảo mật đã biết. Xem lại lần cuối Ứng 
dụng Web Wealth có thể được tải lên một máy chủ Web Internet, mà bạn không 
phải bận tâm đến việc nó bị hack ở cấp độ ứng dụng Web. Song song với bài 
hướng dẫn này, bạn đã học được tầm quan trọng của bảo mật ứng dụng Web, bỏ 
thời gian để thực hiện chiến lược triển khai Rational AppScan, tùy biến một mẫu 
quét, cách tiến hành quét, giải trình các kết quả, sửa chữa các khiếm khuyết trong 
mã trình ứng dụng Web, và tạo ra các báo cáo bảo mật. 

File đính kèm:

  • pdfTạo các ứng dụng bảo mật Java một cách hiệu quả, Phần 2 .pdf
Tài liệu liên quan