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. Bài viết này cũng chỉ cách quét lại ứng dụng của bạn và tạo ra các báo cáo.
36 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2030 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu 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 DOWNLOAD ở trên
Tạo các ứng dụng bảo mật Java một cách hiệu quả, Phần 2
Tối đa hóa bảo mật trong ứng dụng Web Java với Rational AppScan
David Whitelegg, Tác giả, Freelance Writer
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. Bài viết này cũng chỉ cách quét lại ứng dụng của bạn và tạo ra các báo cáo.
Trước khi bắt đầu
Bài hướng dẫn này chủ yếu dành cho các nhà phát triển ứng dụng Web, các nhà
kiểm tra ứng dụng Web, các đội bảo đảm chất lượng, các chuyên gia bảo mật
thông tin và bất kỳ ai mong muốn các ứng dụng Web của mình không mắc các
khiếm khuyết bảo mật đã biết. Bài viết này sẽ trình bày cách làm thế nào để đạt
được mục tiêu này có sử dụng IBM Rational AppScan.
Về loạt bài này
Loạt bài gồm hai phần này có mục đích là nhằm mở rộng các kỹ năng phát triển
ứng dụng Web của bạn thông qua việc sử dụng Rational Application Developer,
Data Studio và Rational AppScan.
Phần 1 sử dụng các khả năng IDE của Rational Application Developer và
các tính năng pureQuery của Data Studio để tạo ra một ứng dụng Web quản
lý tài sản dựa trên Java một cách hiệu quả.
Trong Phần 2, bạn sẽ tận dụng rất nhiều tính năng Rational AppScan có sẵn
để củng cố, hoặc bảo mật, ứng dụng Java bằng cách tìm ra các khiếm
khuyết và sửa chúng sao cho bạn có thể tự tin triển khai ứng dụng Web của
bạn.
Về bài hướng dẫn này
Bài hướng dẫn này sẽ chỉ cho bạn cách cài đặt, cấu hình và sử dụng Rational
AppScan để quét ứng dụng Wealth Java Web đã được tạo ra trong Phần 1(Xem
Tài nguyên). Bạn sẽ sử dụng các lần quét Rational AppScan để bảo đảm là ứng
dụng Web của bạn không có các khiếm khuyết bảo mật Web. Theo đó bạn sẽ học
được cách làm thể nào để đạt được nhiều nhất ngoài Rational AppScan, bao gồm:
Chiến lược triển khai
Tùy chỉnh một mẫu quét
Tiến hành quét
Phiên dịch và học hỏi từ các kết quả quét
Tạo ra các báo cáo quét
Sử dụng các mở rộng Rational AppScan
Bài hướng dẫn này mở đầu bằng một đoạn khái quát về bảo mật ứng dụng Web.
Đoạn khái quát này giải thích tầm quan trọng của việc sử dụng Rational AppScan,
để bảo đảm sẽ loại bỏ các khiếm khuyết bảo mật Web trong quá trình phát triển
ứng dụng của ứng dụng Web đối diện công cộng. Cũng có một đoạn khái quát về
việc triển khai Rational AppScan và các xem xét cấp quyền nhằm giúp bạn gặt hái
được nhiều nhất ngoài việc sử dụng Rational AppScan.
Các yêu cầu về hệ thống
Để hoàn thành các bước trong bài hướng dẫn này, bạn cần có:
Một bản IBM Rational AppScan Standard Edition (Ấn phẩm Tiêu Chuẩn
Rational AppScan của IBM). Một cấp quyền Rational AppSca đầy đủ hoặc
tạm thời. Phiên bản dùng thử tải xuống được của Rational AppScan chỉ cho
phép quét một địa chỉ Web mặc định. Bạn có thể xin giấy phép sử dụng
Rational AppScan ngắn hạn tạm thời từ đầu mối liên lạc IBM Rational
Sales của bạn.
Một chiếc máy tính xách tay có khả năng kết nối mạng với máy chủ/máy
trạm có ứng dụng của bài 1.
Rational AppScan và khái quát bảo mật ứng dụng Web
Trong đoạn này, chúng ta sẽ quan sát trạng thái của bảo mật ứng dụng Web trên
Internet nói chung, và vai trò của Rational AppScan trong việc làm cho các ứng
dụng Web an toàn hơn.
Khái quát bảo mật ứng dụng Web
Với việc khai thác các ứng dụng Web và nội dung Web 2.0 trên Internet, yêu cầu
đối với chức năng ứng dụng Web tăng cường đã và đang đưa đến những ứng dụng
Web lớn hơn và phức tạp hơn bao giờ hết, đặc biệt là trong phạm vi các trang web
thương mại điện tử và các trang web kiểu mạng xã hội. Song song với xu hướng
này, hiện đã và đang có một xu hướng khác đang lên còn nguy hiểm hơn, đó là
khai thác các lỗi mã trình trong các ứng dụng Web của bọn tin tặc và tội phạm.
Điều này đã dẫn đến một quy tắc tấn công lây nhiễm rất thực tế và tinh vi, đó là
Web Application Hacking (Hack Ứng dụng Web).
Có bằng chứng cho thấy số lượng các cuộc tấn công và xâm phạm dữ liệu thực tế
xuất hiện tại tầng ứng dụng Web đang tăng lên, trái ngược với các cuộc tấn công
truyền thống tại tầng mạng. Cơ sở hạ tầng mạng của bất kỳ giải pháp Web công
cộng nào vẫn quan trọng như trước kia, tuy nhiên hiện nay chúng ta đã đạt đến giai
đoạn mà cơ sở hạ tầng cấp mạng có thể được làm tấm chắn đạn một cách tương
đối. Do vậy mà các tin tặc bây giờ lại tập trung nỗ lực vào các vùng bảo mật kém
mà họ đang tìm kiếm trong mã trình ứng dụng Web. Các tin tặc đang đặc biệt
nhắm mục tiêu dữ liệu giá trị cao phía sau và được ứng dụng Web kiểm soát, dữ
liệu mà thường có giá trị thực có nghĩa.
Hãy xem xét bức tường lửa ngoại vi mà có thể chống lại các cuộc tấn công tầng
mạng gần như trực tiếp ngoài hộp, tuy nhiên một bức tường lửa mạng lại không có
sự bảo vệ nào chống lại những khiếm khuyết cấp ứng dụng Web. Ví dụ, bức tường
lửa chỉ có thể cho phép luồng thông tin mạng https đến một máy chủ Web, nhưng
bức tường lửa không kiểm tra và cũng không quan tâm đến nội dung thực tế ứng
dụng Web HTML chuyển qua đến một máy chủ Web, đó là cái có thể khai thác
được. Những khoản đặt cọc cao, như thậm chí cả điểm yếu không đáng kể trong
mã trình ứng dụng Web, chẳng hạn như trong việc nhập dữ liệu đơn giản hợp lệ,
đều có thể gây ra những khiếm khuyết nghiệp vụ nghiêm trọng, dẫn đến sự tổn
thất về tài chính và hủy hoại nghiêm trọng đối với lòng tin của khách hàng vào
nhãn hiệu kinh doanh.
Kết quả điển hình của các tin tặc khai thác các khiếm khuyết mã trình ứng dụng
Web có thể cho phép một kẻ tấn công bỏ qua hoàn toàn hệ thống đăng nhập Web,
lấy các phiên Web người dùng, gây ra sự ngừng chạy hoàn toàn một ứng dụng
Web, và trực tiếp chất vấn, truy cập, và chế tác dữ liệu trên cơ sở dữ liệu phụ trợ.
Có một nguy hại thực tế của các khiếm khuyết ứng dụng Web đang bị khai thác,
đặc biệt là nếu dữ liệu ứng dụng có giá trị cao đi kèm với nó, chẳng hạn như thông
tin thẻ thanh toán, thậm chí dữ liệu cá nhân nhạy cảm có giá trị có thể bán được.
Số lượng tiêu chuẩn ngành, điều tiết và luật lệ áp dụng cho các khoản phạt lớn vì
xâm phạm dữ liệu cũng tăng lên. Hãy nhớ rằng một khi có một ứng dụng Web sẵn
có trên Internet, thì bất kỳ ai trên thế giới đều có thể truy cập ứng dụng đó, bao
gồm cả các tin tặc gây rối đó. Các tin tặc này sẽ có một khoảng thời gian không
hạn chế để tìm và khai thác bất kỳ khiếm khuyết hay yếu điểm nào trong mã trình
ứng dụng Web. Căn cứ vào cách làm thế nào mà ứng dụng Web mà được tạo ra
cho loạt bài hướng dẫn này lại có một chủ đề tài chính và thông tin nhạy cảm đáng
bảo vệ, chẳng hạn như danh mục đầu tư bất động sản cá nhân, thì tầm quan trọng
của việc phát hành Ứng dụng Web Tài sản mà không có khiếm khuyết là rất rõ
ràng.
Căn cứ nền tảng này và nghiệp vụ ngày càng quan trọng phụ thuộc vào bảo mật dữ
liệu, việc phát triển các ứng dụng Web không có khiếm khuyết về bảo mật là một
yêu cầu vô cùng quan trọng và nên là mục tiêu căn bản của bất kỳ ứng dụng Web
nào. Trong bài hướng dẫn này bạn sẽ sử dụng Rational AppScan của IBM để đảm
bảo là ứng dụng Web Java Wealth được tạo ra trong Phần 1 không có bất kỳ
khiếm khuyết ứng dụng Web đã biết nào, đảm bảo ứng dụng Web đủ an toàn để
đưa lên Internet.
Khái quát về Rational AppScan
Rational AppScan của IBM là một bộ sản phẩm bảo mật hàng đầu trên thị trường
dành cho việc kiểm tra khiếm khuyết ứng dụng Web. Sử dụng Rational AppScan
có thể giúp bạn đảm bảo rằng bất kỳ ứng dụng Web được phát triển đều đủ an toàn
để đưa lên Internet. Rational AppScan là một công cụ quét mạnh và có thể tùy
chỉnh được, và không chỉ được sử dụng trong quy trình kiểm tra và phát triển mà
còn thường xuyên được sử dụng bởi các kiểm toán viên bảo mật và nhân viên hợp
cách để kiểm tra sự thâm nhập, và thậm chí cả các đội bảo đảm chất lượng và quản
trị kinh doanh.
Chức năng chính của Rational AppScan là quét và kiểm tra các khiếm khuyết ứng
dụng Web, và nó có thể tiến hành hàng ngàn kiểm tra tính bảo mật khiếm khuyết
chẳng hạn như SQL Injection, Cross-Site Scripting (XSS) và Buffer Overflow.
Các lần kiểm tra bảo mật trong Rational AppScan cũng được cập nhật thường
xuyên; các lần kiểm tra mới và các lần cập nhật kiểm tra được thêm vào danh mục
kiểm tra Rational AppScan khi phát hiện ra các khiếm khuyết ứng dụng mới.
Cấp quyền sử dụng và các báo cáo Rational AppScan
Rational AppScan có chức năng báo cáo toàn diện được cài đặt sẵn, cho phép các
kết quả quét được sao chụp lại thành cấu trúc báo cáo đã định dạng trong trong
một tệp Adobe PDF. Các báo cáo này có thể tùy chỉnh hoàn toàn trong Rational
AppScan. Xem Tải xuống để xem tất cả các báo cào đã được tạo ra thông qua quy
trình được tuân theo trong bài hướng dẫn này. Rational AppScan đi cùng với vô số
định dạng báo cáo được xác định mặc định mà phù hợp với phần lớn các tiêu
chuẩn hợp pháp quốc tế, và các yêu cầu điều tiết chi tiết ngành. Bao gồm cả
Payment Card Industry Data Security Standard (PCI DSS), SOX, HIPPA, the
OWASP Top Ten, WASC Threat Classification, ISO 17799/27001 và SANS Top
Ten để đặt tên cho một số.
Trước khi mua Rational AppScan, nên dành một chút thời gian để xem xem bạn
định triển khai và sử dụng Rational AppScan trong môi trường của bạn như thế
nào. Hơn nữa cũng cần phải hiểu rõ hệ thống cấp quyền sử dụng Rational
AppScan, và hai phương pháp triển khai Rational AppScan điển hình. Cấp quyền
sử dụng Rational AppScan hoạt động trên cơ sở "trên mỗi máy được cài" trái
ngược với cơ sở "trên từng người dùng"; do vậy mà AppScan được cài và được
gắn cho hệ thống cụ thể nhưng hệ thống này (và AppScan) có thể được nhiều
người dùng sử dụng. Cấp quyền ứng dụng trói buộc ứng dụng Rational AppScan
vào địa chỉ MAC của hệ thống chủ (phần cứng mạng) và số serie đĩa cứng. Do đó
trước khi triển khai Rational AppScan hãy dành một chút thời gian xem xét và
quyết định chiến lược cài đặt tốt nhất.
Lựa chọn tiêu biểu đầu tiên là cài đặt Rational AppScan trên máy chủ "Test (kiểm
tra)" trung tâm, mà cho phép quản lý và kiểm soát tốt việc sử dụng Ứng dụng.
Kiểu chiến lược này được khuyến khích sử dụng nếu bạn định sử dụng Rational
AppScan trong một môi trường kiểm tra riêng.
Cài đặt Máy tính xách tay
Việc cài đặt Rational AppScan trên một máy tính xách tay chuyên dụng mang đến
độ linh hoạt cao hơn so với việc cài đặt máy chủ. Nếu bạn có kế hoạch sử dụng
Rational AppScan trong nhiều môi trường kiểm tra trên các mạng khác nhau, thì
nên áp dụng chiến lược được khuyến khích này.
Trước khi hoàn thành chiến lược triển khai của bạn, bạn phải xem xem liệu việc sử
dụng có chủ định Rational AppScan có nằm trong tinh thần của bản thỏa thuận cấp
quyền sử dụng hay không. Ví dụ, việc mua một cấp quyền sử dụng Rational
AppScan riêng để kiểm tra phát triển ứng dụng Web trong một vị trí cụ thể được
xem là sử dụng chấp nhận được.
Chú ý: Hệ thống cấp quyền sử dụng Rational AppScan được thay đổi để phù hợp
với cơ cấu cấp quyền sử dụng IBM Rational chuẩn cuối năm 2008.
Trong bài hướng dẫn này, bạn sẽ cài đặt và sử dụng Rational AppScan trên máy
tính xách tay mà có nối mạng với hệ thống máy chủ Wealth Java Web Application
(Ứng dụng Web Java Wealth) được tạo ở Phần 1. Tuy nhiên, Rational AppScan có
thể được cài đặt trên hệ thống tương tự mà bạn đã dùng trong Phần 1, và chạy các
lần quét cục bộ trên hệ thống đó.
Cài đặt Rational AppScan
Trong phần này bạn sẽ cài đặt ứng dụng Rational AppScan trên một máy tính xách
tay. Có thể cài đặt và chạy Rational AppScan từ nền dựa trên Microsoft®
Windows® hiện đại mà có cài Java Runtime.
Các bước cài đặt
Cài đặt ứng dụng Rational AppScan trên máy tính xách tay là một quy trình khá dễ
dàng.
1. Nhấn chuột hai lần vào tệp cài đặt để khởi chạy thủ thuật InstallShield, như
trong Hình 1.
Hình 1. Khởi chạy thủ thuật InstallShield
Nếu cài đặt dò tìm ra Microsoft .NET Framework 2.0 hoặc phiên bản cao
hơn không được cài đặt, mà đó lại là một yêu cầu, thì quá trình cài đặt sẽ
cài đặt Microsoft .NET Framework 3.0 trước khi tiếp tục quá trình cài đặt.
2. Đọc và nhấn chuột I accept the terms in the license agreement (Tôi chấp
nhận các điều khoản trong thỏa thuận cấp quyền sử dụng) và nhấn
Next.
Hình 2. Thỏa thuận cấp quyền sử dụng
3. Chấp nhận danh mục cài đặt mặc định.
Hình 3. Chọn một danh mục cài đặt
Ứng dụng Rational AppScan bây giờ được cài đặt. Tuy nhiên, trước khi sử dụng
Rational AppScan và chạy các lần quét, bạn cần thực hiện một chút thao tác nội
dịch.
Khái quát cập nhật Phần mềm Rational AppScan
Khi Rational AppScan khởi chạy, nó tự động hỏi IBM Servers (các Máy chủ IBM)
để kiểm tra xem liệu Rational AppScan có cập nhật hay không. Nếu có bản cập
nhật, mà thường là trường hợp chạy Rational AppScan lần đầu, Rational AppScan
tiến hành tự động tải xuống và sử dụng bản cập nhật đó.
Các bản cập nhật Rational AppScan tương tự như những bản được tìm thấy trong
các sản phẩm Anti-Virus (Chống Virut), mà trong đó thường xuyên phát hiện ra
các khiếm khuyết ứng dụng Web mới. Do đó đội hỗ trợ Rational AppScan đưa các
thay đổi và kiểm tra mới vào thư viện kiểm tra trong Rational AppScan, thông qua
các cập nhật phần mềm. Quy trình này đảm bảo là Rational AppScan có thể chạy
thử các ứng dụng Web phòng ngừa các khiểm khuyết bảo mật mới nhất.
Để quy trình cập nhật hoạt động, trạm làm việc Rational AppScan hoặc máy chủ
của bạn phải có kết nối Internet. Quy trình cập nhật này cần cho công việc sau khi
cài đặt và về sau có thể được thực hiện đều đặn. Cũng có thể tải các cập nhật một
cách thủ công từ cổng hỗ trợ khách hàng dành cho các nhà phát triển làm việc
trong các môi trường bị khóa không được phép kết nối bên ngoài.
Cập nhật Rational AppScan
Bây giờ là lúc cập nhật Rational AppScan.
1. Khởi chạy Rational AppScan để xem Hình 4.
Hình 4. Rational AppScan kết nối với IBM Servers (Các máy chủ IBM)
để kiểm tra xem có yêu cầu các cập nhật hay không
2. Nhấn Install (Cài đặt) để bắt đầu quá trình tải xuống và cài đặt và tự động
(xem Hình 5).
Hình 5. Các cập nhật được cài đặt tự động
3. Khi quá trình cài đặt kết thúc, nhấn View Update Log (Xem Bản ghi Cập
nhật) từ Hình 5, thể hiện các chi tiết cập nhật thực tế. Khi cập nhật xong,
thì là lúc cấp quyền sử dụng Rational AppScan.
Tổng quan cấp quyền sử dụng Rational AppScan
Nào hãy cùng đi qua các bước để cấp quyền sử dụng Rational AppScan.
1. Tái khởi chạy Rational AppScan và nhấn vào thẻ Security Issues trong ô
cửa sổ bên trái. Khi bạn mua AppScan (hoặc yêu cầu thử), bạn được cấp
một thư có chứa License Serial Key (LSK) và các hướng dẫn vị trí để tải
tệp cấp quyền AppScan. Nhấn Help (Trợ giúp) > License (Cấp quyền)
(xem Hình 6).
Hình 6. Chọn các lựa chọn License
2. Trên cửa sổ các lựa chọn License được trình bày trong Hình 7, nhấn
Obtain License Online (Nhận Cấp quyền Trực tuyến).
Hình 7. Nhấn Obtain License Online
3. Mở trang Web cấp quyền AppScan, https://licensing.watchfire.com (xem
Hình 8). Hoàn thành biểu mẫu, điền đầy đủ vào các trường màu đỏ.
Hình 8. Biểu mẫu trang Web cấp quyền AppScan
4. Đối với phần tiếp theo của biểu mẫu cấp quyền, bạn cần biết địa chỉ MAC
và số seri dung lượng đĩa cứng của hệ thống mà AppScan được cài đặt. Tệp
cấp quyền được tạo trực tuyến khóa quyền sử dụng và cài đặt ứng dụng
AppScan đối với một hệ thống riêng biệt.
5. Để tìm các chi tiết này, tại một dấu nhắc DOS (chạy cmd trong Windows),
kiểu ipconfig/all, mà hiển thị địa chỉ MAC của thẻ mạng của bạn. Sau đó
chạy vol, mà hiển thị số seri dung lượng ổ đĩa cứng. Điền vào các chi tiết
hệ thống phần phía dưới dùng biểu mẫu trang Web cấp quyền AppScan
được trình bày trong Hình 9.
Hình 9. Phần các chi tiết Hệ thống của biểu mẫu trang Web cấp quyền
AppScan
6. Và cuối cùng là, đồng ý License Agreement (Thỏa thuận Cấp quyền) bằng
cách nhấn Continue ở phía cuối màn hình (xem Hình 10).
Hình 10. Đồng ý License Agreement (Thỏa thuận Cấp quyền)
7. Khi bạn có tệp cấp quyền của mình rồi, hãy nhập nó vào AppScan. Quay
trở lại Hình 6 và lại chọn lựa chọn License lần nữa từ trình đơn thả xuống
Help (Trợ giúp) để khởi chạy màn hình các lựa chọn License từ Hình 7.
Lần này nhấn Load License File (Tải tệp Cấp quyền).
8. Điều hướng đến tệp cấp quyền được tải xuống trong thư mục AppScan
License và nhấn Open (Mở) (xem Hình 11).
Hình 11. Tệp cấp quyền được tải xuống trong thư mục AppScan
License
Xin chúc mừng! Bây giờ Rational Appscan đã sẵn sàng sử dụng.
Chạy Rational AppScan
Vì bạn đã cài đặt xong Rational AppScan, nên giờ là lúc lấy ứng dụng của bạn ra
để chạy thử, và tiếp đến là chạy một quét trên ứng dụng Wealth.
Chuẩn bị ứng dụng Web để chạy thử
Trong bài hướng dẫn này bạn đã cài đặt Rational AppScan lên trên một hệ thống
khác với trạm làm việc mà bạn vừa cài Rational Application Developer, Data
Studio, và sau đó phát triển Ứng dụng Web Java Wealth Java trong Phần 1 (xem
Tài nguyên). Nếu bạn thiếu phần cứng, có thể cài Rational AppScan trên hệ thống
tương tự như Rational Application Developer và bạn có thể quét cục bộ ứng dụng
Web Wealth bằng cách nhập như là URL quét.
Xin phép trước khi quét
Trước khi sử dụng AppScan để quét một ứng dụng Web, hãy chắc chắn là bạn đã
xin được phép quét từ chủ sở hữu của trang Web. Điều này đặc biệt quan trọng khi
quét các ứng dụng Web bên ngoài các môi trường kiểm tra của bạn. Việc quét
trang Web của bên thứ ba bằng AppScan mà không xin phép có thể gây ra những
hậu quả pháp lý nghiêm trọng.
Chúng tôi cần chắc chắc là ứng dụng Java Wealth là trực tuyến và đang chạy đúng
trên nền Rational Application Developer của bạn. Trong Rational Application
Developer, hãy đi đến Open Web Perspective > Web, sau đó chọn thẻ Servers
(các Máy chủ) (xem Hình 12), và xem xem liệu máy chủ Web đã khởi động chưa.
Nếu chưa, hãy nhấn chuột phải và chọn Start. Tùy thuộc vào công suất phần cứng
của bạn, mà có thể mất một lúc trước khi WebSphere và ứng dụng Web Wealth
của bạn khởi động xong.
Hình 12. Khởi chạy WebSphere trong Rational Application Developer
Tiếp đến bạn cần kiểm tra xem bạn có thể truy cập Wealth Web Application từ
Laptop Rational AppScan của bạn hay không. Trước tiên hãy chắc chắn là máy
tính xách tay (laptop) nằm cùng mạng bằng cách mở trình duyệt Web của bạn và
gõ vào http://:9080/Wealth/login.jsp.
Trong trường hợp trạm làm việc Rational Application Developer có một địa chỉ IP
là 192.168.0.4, vì thế URL của bạn là
Khi được mở, hãy kiểm tra xem ứng dụng Web Wealth có chạy tốt không, bằng
cách đăng nhập và nhấn vào một vài đường liên kết để chắc chắn là mọi thứ có
đáp lại như nó cần phải thế.
Bây giờ bạn biết là ứng dụng Web Wealth đang hoạt động và có thể nhìn bằng
thiết bị Rational AppScan, vì thế bạn hãy sẵn sàng tiến hành công việc quét đầu
tiên.
Tuy nhiên, trước khi quét, bạn nên tìm hiểu các mẫu quét Rational AppScan.
Tổng quan về các mẫu quét
Rational AppScan là một công cụ quét khiếm khuyết khá mạnh và có thể chạy
hàng ngàn lần kiểm tra khiếm khuyết qua vô số các vùng khiếm khuyết. Một vài
vùng kiểm tra này, chẳng hạn như kiểm tra máy chủ Web và các dịch vụ Web,
không liên quan đến việc bảo đảm rằng mã trình ứng dụng của bạn không có
khiếm khuyết. Do vậy bạn cần điều chỉnh lần quét khiếm khuyết của bạn, và cắt
bỏ các vùng mà bạn không muốn quét.
Rational AppScan sử dụng các mẫu quét mà được lưu các cấu hình quét được
dùng để thể hiện các loại quét khiếm khuyết đặc thù. Các mẫu quét cho phép
chúng tôi áp dụng và lưu tùy biết riêng cho các lần quét đã định của bạn. Rational
AppScan đi kèm với một số mẫu quét được định nghĩa trước mà có thể dùng tất cả
chúng như bình thường mà không phải suy nghĩ thêm. Tuy nhiên, cũng có nhiều
ưu điểm khi tùy biến mẫu quét đặc trưng của riêng bạn, chẳng hạn như đảm bảo
rằng tia quét tương tự chuẩn xác có thể được dùng trong các lần quét lại và chia sẻ
mẫu quét với các nhà phát triển và các đội khác.
Quét ứng dụng
Sử dụng và lưu mẫu quét tùy biến của bạn, trong trường hợp có vấn đề được xử lý
trong mã trình và có yêu cầu quét lại.
1. Từ Cửa sổ Chào mừng Rational AppScan, chọn Create New Scan (Tạo
Quét Mới) hoặc từ bên trong Rational AppScan, Nhấn thực đơn thả xuống
File và chọn New) (xem Hình 13).
Hình 13. Cửa sổ Chào mừng Rational AppScan
2. Tiếp đến đảm bảo là thủ thuật Launch Scan Configuration (Khởi tạo
Mặc định Quét) được đánh dấu và nhấn Default (Mặc định) từ các Mẫu
Định nghĩa sẵn (xem Hình 14).
Hình 14. Kiểm tra thủ thuật Launch Scan Configuration (Khởi tạo
Cấu hình Quét)
3. Tiếp đến chúng ta được hỏi kiểu quét mà bạn muốn thực hiện, Quét Ứng
dụng Web hoặc Quét Dịch vụ Web. Kiểu Quét Dịch vụ Web (Web
Service Scan) bao gồm cả cở sở hạ tầng, chẳng hạn như cấu hình máy chủ
Web. Kiểu quét này không nằm trong quy trình phát triển của bạn, vì thế
hãy chọn Quét Ứng dụng Web (Web Application Scan), kiểu này sẽ chỉ
quét riêng các khiếm khuyết trong ứng dụng Web (xem Hình 15).
Hình 15. Chọn Quét Ứng dụng Web (Web Application Scan)
4. Bạn được trình diện với một màn hình hỏi về URL Khởi động quét (xem
Hình 16)
Hình 16. Màn hình hỏi URL Khởi động quét
5. Tại mục này bạn có lựa chọn chọn Cấu hình Quét Đầy đủ (Full Scan
Configuration), cho phép tùy biến chi tiết của quét, nhưng trong bài hướng
dẫn này, bạn sẽ dán vào thủ thuật Cấu Hình Quét (Scan Configuration), khi
ứng dụng Web của bạn khá nhỏ và đơn giản. Nhập URL của ứng dụng
Web,
Không nhập login.jsp hay welcome.jsp, chỉ gốc URL mà thôi, vì Rational
AppScan sẽ tìm ra và phân tích tất cả các khía cạnh của ứng dụng Web từ
điểm đó.
Đường dẫn phân biệt dạng chữ đặc biệt quan trọng để kích hoạt nếu máy
chủ Web của bạn đang hoạt động trên nền hệ điều hành phân biệt dạng chữ
chẳng hạn như Linux hay Unix.
Nếu bạn cần cấu hình các cài đặt ủy nhiệm để truy cập máy chủ ứng dụng
Web mục tiêu, thì có một lựa chọn ở phía cuối màn hình này thực hiện việc
đó. Thay vì sử dụng các địa chỉ IP, ứng dụng Web mục tiêu của bạn có thể
là địa chỉ Internet đầy đủ hoặc tên miền nội tại. Nếu có các vấn đề về ủy
nhiệm, bạn nên vào màn hình này và thay đổi các cài đặt. Hãy chú ý là
AppScan không hỗ trợ các ngoại lệ ủy nhiệm. Nếu máy chủ cục bộ được
cài đặt như một ngoại lệ trong Internet Explorer, thì bạn nên cài đặt nó sang
Don't Use Proxy (Không Sử dụng Ủy nhiệm) trong AppScan.
6. Nhấn Next để đến màn hình quản lý Đăng nhập (xem Hình 17).
Hình 17 Quản lý Đăng nhập
Quản lý đăng nhập
Quản lý đăng nhập là phần chủ chốt trong quét. Bạn muốn Rational AppScan kiểm
tra mọi thứ mà một người dùng có thể thực hiện và nhìn thấy; vậy nên Rational
AppScan cần phải chứng thực (đăng nhập) vào ứng dụng Web Wealth của bạn như
một người dùng thường xuyên. Bạn có vài lựa chọn cho mình, một là được nhắc,
tức là mỗi lần Rational Appscan tìm thấy một trang đăng nhập, nó sẽ dừng quét và
hiển thị trang đó trên màn hình của bạn. Tiếp đến bạn đăng nhập như thể bạn là
một người dùng, Rational AppScan ghi lại các chi tiết đăng nhập đó và sau đó sử
dụng chúng để đăng nhập vào ứng dụng Web và tiếp tục với công việc kiểm tra.
Để làm cho quét của bạn hoạt động trơn tru và tránh không bị dừng quét, hãy chọn
các lựa chọn tự động. Cung cấp cho Rational AppScan các chi tiết truy cập trước
khi bắt đầu quét và lưu chúng trong mẫu quét của bạn để dùng cho các lần quét
sau này.
1. Chọn nút radio Tự động trong Hình 17, và tiếp đến nhập tên người dùng là
tyler và mật khẩu của tyler (hoặc bất kỳ tên người dùng và mật khẩu nào
mà đã sử dụng khi phát triển Wealth Java App trong Phần 1.
2. Bạn có lựa chọn cấu hình các dò tìm "In-Session", nếu Rational AppScan
có vấn đề về quản lý phiên Web người dùng và tìm trang đăng xuất, v.v.
Đối với bài hướng dẫn này, đây sẽ không phải là vấn đề.
3. Nhấn Next.
4. "Chính sách" Rational AppScan liên quan đến các nhóm kiểm tra Rational
AppScan riêng biệt.
Bạn chỉ cần chạy kiểm tra ứng dụng Web trong phạm vi quét của bạn, vì
thế bạn cần thu hẹp số lần kiểm tra chỉ để dành cho kiểm tra ứng dụng
Web. Chọn Policy Application-Only và nhấn Next (xem Hình 18).
Hình 18. Chọn Chính sách Kiểm tra
5. Cuối cùng, Rational AppScan hỏi xem bạn đã sẵn sàng bắt đầu quét chưa;
nếu bạn đã sẵn sàng, hãy nhấn Bắt đầu một nút radio quét hoàn toàn tự
động và tiếp đến nhấn Next (xem Hình 19).
Hình 19. Thưa quý ngài xin hãy Khởi động Động cơ!
6. Quét của bạn cần được lưu lại, vì vậy hãy chọn Yes (Đồng ý) (xem Hình
20).
Hình 20. Một điều cuối cùng trước khi bắt đầu quét
7. Nhập tên của WealthScan (xem Hình 21) và nhấn Save (Lưu).
Hình 21. Nhập tên quét
Bắt đầu quét
Thực hiện quét
Thời gian hoàn thành quét phụ thuộc vào độ phức tạp và kích thước của ứng dụng
Web mục tiêu, băng tần, tốc độ xử lý và số lần kiểm tra được hướng dẫn trong
phạm vi quét. Ứng dụng của bạn khá nhỏ vì thế việc quét của bạn chỉ mất có vài
phút là xong.
Khi quét, trước tiên Rational AppScan xác định phạm vi ứng dụng Web, và liệt kê
các tệp ứng dụng Web và URL để quét. Tiếp đến Rational AppScan sắp xếp từng
phần ứng dụng Web với một tia quét khiếm khuyết ứng dụng Web, như lựa chọn
trong chính sách.
Khi Scan (Quét) đang chạy, hãy chọn View > Scan Log. Bạn có thể nhìn thấy chi
tiết quét cụ thể. Trong Hình 22, bạn có thể nhìn thấy các đăng nhập người dùng tự
động đang hoạt động (đánh dấu bằng màu xanh), các chi tiết quét khác nhau và
các phân tích đang được thực hiện, và kiểm tra thông báo không thực hiện được
trả lại và được đánh dấu màu đỏ.
Hình 22. Theo dõi thật kỹ các việc đang diễn ra
Phần phía dưới bên phải Rational AppScan bạn tìm thấy Issue Severity Gauge,
cái này cập nhập trong thời gian thực tế với quét. Dưới nó là số URL được tìm
thấy và được ghé thăm trong phạm vi ứng dụng Web và các lần kiểm tra nổi bật và
đã hoàn thành. Hình 23 thể hiện các trạng thái khi lần quét đầu tiên của bạn kết
thúc.
Hình 23. Đánh giá Mức độ nghiêm trọng của Vấn đề (Issue Severity Gauge)
Hoàn thành quét
Kết quả nằm trong hình 23, và nó chẳng phải tin tốt lành gì đối với ứng dụng Web
Java Wealth của bạn, Rational AppScan đã trả lại tổng cộng 18 vấn đề, mà
Rational AppScan đã phân loại mức độ nghiêm trọng. Vậy nên bạn có 8 vấn đề là
Khiểm khuyết Mức độ Nguy hiểm cao được phát hiện ra, 3 Nguy hiểm mức độ
Trung bình, 2 Nguy hiểm Mức độ thấp và 3 vấn đề liên quan đến Thông tin, mà tất
cả đều yêu cầu kiểm tra và giải quyết.
Đừng lo, Rational AppScan không hề được hoàn thành khi giúp bảo vệ ứng dụng
của bạn. Nếu bạn đã từng thử nghiệm kiểm tra sự thâm nhập ứng dụng bên thứ ba,
thông thường báo cáo trình tự chỉ cho bạn biết là có vấn đề mà không giải thích rõ
ràng khiếm khuyết là cái nào, làm thể nào để sửa nó, hay bất kỳ chi tiết bào về lần
kiểm tra thực tế họ đã sử dụng để tìm ra nó. Thật hay là Rational AppScan thực
hiện tất cả những điều này cho bạn.
Rational AppScan trình bày từng vấn đề mà nó phát hiện ra bằng tệp ".jsp" nơi mà
vấn đề được tìm thấy, tiếp đến là loại vấn đề theo mức độ nghiêm trọng như trong
Hình 24.
Hình 24. Các kết quả quét
Đây là lúc cần phải hiểu các vấn đề được dò tìm này là cái gì, nhưng đừng lo, đây
là nơi Rational AppScan thực sự xứng đáng với danh tiếng của nó.
Nhấn vào vấn đề đầu tiên, mà có thể tình cờ là một khiếm khuyết Cross-Site Script
(XSS). Các chi tiết được tạo trên ô cửa sổ phía dưới cùng bên phải (xem Hình 25).
Đúng là ý hay khi mở rộng kích thước ô cửa sổ này tại điểm này.
Hình 25. Tìm hiểu một vấn đề bảo mật được phát hiện
Lời khuyên
Trong phần Lời khuyên, Rational AppScan giải thích cặn kẽ đầy đủ chi tiết loại
khiếm khuyết bảo mật mà nó đã phát hiện ra. Trong trường hợp này, nó là một
khiếm khuyết XSS. Ở trên cùng là phần khái quát ngắn gọn về các khiếm khuyết
và mức độ nghiêm trọng của chúng, tiếp đến là phần mô tả văn bản chi tiết ở dưới
cùng bên trái cửa sổ. Phía bên phải có phần giải thích vấn đề bằng video, đây là
phương tiện trợ giúp việc học khá thú vị.
Trở lại phía bên trái phần Lời khuyên. Nếu bạn cần thêm thông tin, thì có một liên
kết với một trang riêng trên WASC (Web Application Security Consortium), cung
cấp thêm thông tin và cả lời khyên (xem Tài nguyên để tìm liên kết). WASC là
một tổ chức dành cho bảo mật ứng dụng Web.
Nếu bạn không biết khiếm khuyết XSS là gì, hãy cứ tiếp tục và đọc những gì
Rational AppScan nói đến và xem video.
Các file đính kèm theo tài liệu này:
- Tạo các ứng dụng bảo mật Java một cách hiệu quả, Phần 2.pdf