Mục lục Lời mở đầu…………………………………………………………………………….. I.Thực trạng…………………………………………………………………………… II.Tổng quan về Oracle 11g…………………………………………………………... III.Bảo mật ……..……………………………………………………………………... 1. Các cơ chế bảo mật………………………………………………………………... 1.1 User CSDL và Schema…………………………………………………………… 1.2 Privilege (Đặc quyền)……………………………………………………………. 1.3 Role………………………………………………………………………………. 1.4 Các xác lập lưu trữ và Quota…………………………………………………….. 1.5 Các Profile (lược sử) và giới hạn tài nguyên…………………………………….. 1.6 Sự kiểm tra (auditing)……………………………………………………………. 2. Trusted Oracle……………………………………………………………………… IV. Bảo mật của ứng dụng…………………………………………………………….. 1. Tổng quan…………………………………………………………………………… 2. Sử dụng đối tượng CSDL của ứng dụng…………………………………………..... 3. Bảo mật ứng dụng điều khiển bằng bảng…………………………………………… Lời nói đầu Khi nói đến nghề quản trị trong lĩnh vực công nghệ thông tin tại Việt Nam, chúng ta thường liên tưởng đến nghề quản trị mạng, chỉ khoảng gần năm năm trở lại đây thì tại Việt Nam mới hình thành lên một nghề mới, đó là nghề quản trị hệ thống cơ sở dữ liệu (CSDL),thường gọi là DBA (Database Administrator). Hiện có 3 hệ quản trị CSDL được biết đến trên thế giới và tại Việt Nam, đó là: Oracle, Microsoft SQLServer và IBMDB2. Nhưng với số liệu thống kê năm 2010, Oracle chiếm đến 76,8% thị phần CSDL trên toàn thế giới và theo cáo cáo tài chính quý 3 của hang thì Oracle tăng 35% doanh thu so với cùng kỳ năm trước, từ các thông tin này chúng ta có thể đánh giá bước đầu Orace là Cơ sở dữ liệu được các doanh nghiệp ứng dụng nhiều nhất trên thế giới. Đa số các doanh nghiệp ngày nay đều trang bị các hệ thống tường lửa, hệ thống phát hiện xâm nhập, các kỹ thuật chóng spam. Việc bảo vệ này chỉ đảm bảo hệ thống an toàn trước các cuộc tấn công và xâm nhập từ bên ngoài. Tuy nhiên, những rủi ro, nguy cơ từ bên trong là không thể kiểm soát được. Do đó, vấn đề đặt ra là làm sao để đảm bảo an toàn dữ liệu trước các nguy cơ tấn công từ bên ngoài và các rủi ro từ bên trong là cần thiết. Giải pháp đưa ra để đảm bảo an toàn bảo mật dữ liệu là cần một chính sách bảo vệ theo chiều sâu, cho phép kiểm soát các hoạt động mang tính ngăn chặn và theo dõi bằng cách thực hiện các chính sách bảo mật “cần biết needtoknow” và “ tin tưởng nhưng xác thực trustbutverify”. I. Thực trạng Đối với một số doanh nghiệp, hiệu quả kinh doanh phụ thuộc hoàn toàn vào giá trị thông tin thì vấn đề an toàn thông tin được đặt trọng tâm hàng đầu. Hiện nay, các doanh nghiệp thường gặp khó khăn hoặc không thể trả lời các câu hỏi như: + Ai đã truy cập đén dữ liệu quan trọng này và vào thời gian nào? + Ai đã chỉnh sửa thông tin nhạy cảm của khách hàng? + Tại sao dữ liệu này lại bị thay đổi? + Hệ thống dữ liệu hiện có bị ai xâm phạm trái phéo không? …
Trang 1HỌC VIỆN NGÂN HÀNG
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
*****
BÀI TẬP LỚN MÔN: CƠ SỞ DỮ LIỆU II
CHỦ ĐỀ: TÍNH NĂNG BẢO MẬT
TRONG ORACLE
Giáo viên hướng dẫn: Th.S Giang Thị Thu Huyền
Nhóm thực hiện : Nhóm 7
2016-2017
Trang 2DANH SÁCH THÀNH VIÊN:
1 Vũ Thị Hồng Duyên - 18A4040038
2 Nguyễn Thùy Liên - 18A4040115
3 Nguyễn Bảo Ngọc - 18A4040157
4 Phạm Thu Quỳnh - 18A4040177
5 Nguyễn Thị Tân - 18A4040180
6 Lê Thị Thơm – 18A4040203
7 Phạm Thị Thơm (NT)-18A4040204
Trang 3Mục lục
Lời mở đầu………
I.Thực trạng………
II.Tổng quan về Oracle 11g………
III.Bảo mật …… ………
1 Các cơ chế bảo mật………
1.1 User CSDL và Schema………
1.2 Privilege (Đặc quyền)………
1.3 Role………
1.4 Các xác lập lưu trữ và Quota………
1.5 Các Profile (lược sử) và giới hạn tài nguyên………
1.6 Sự kiểm tra (auditing)………
2 Trusted Oracle………
IV Bảo mật của ứng dụng………
1 Tổng quan………
2 Sử dụng đối tượng CSDL của ứng dụng………
3 Bảo mật ứng dụng điều khiển bằng bảng………
Trang 4Lời nói đầu
Khi nói đến nghề quản trị trong lĩnh vực công nghệ thông tin tại Việt Nam, chúng ta thường liên tưởng đến nghề quản trị mạng, chỉ khoảng gần năm năm trở lại đây thì tại Việt Nam mới hình thành lên một nghề mới, đó là nghề quản trị hệ thống cơ sở dữ liệu (CSDL),thường gọi là DBA (Database Administrator) Hiện có 3 hệ quản trị CSDL được biết đến trên thế giới và tại Việt Nam, đó là: Oracle, Microsoft SQL-Server và IBM-DB2 Nhưng với số liệu thống kê năm 2010, Oracle chiếm đến 76,8% thị phần CSDL trên toàn thế giới và theo cáo cáo tài chính quý 3 của hang thì Oracle tăng 35% doanh thu so với cùng kỳ năm trước, từ các thông tin này chúng ta có thể đánh giá bước đầu Orace là Cơ sở dữ liệu được các doanh nghiệp ứng dụng nhiều nhất trên thế giới
Đa số các doanh nghiệp ngày nay đều trang bị các hệ thống tường lửa, hệ thống phát hiện xâm nhập, các kỹ thuật chóng spam Việc bảo vệ này chỉ đảm bảo hệ thống an toàn trước các cuộc tấn công và xâm nhập từ bên ngoài Tuy nhiên, những rủi ro, nguy cơ từ bên trong là không thể kiểm soát được Do đó, vấn đề đặt ra là làm sao để đảm bảo an toàn dữ liệu trước các nguy cơ tấn công từ bên ngoài và các rủi ro từ bên trong là cần thiết
Giải pháp đưa ra để đảm bảo an toàn bảo mật dữ liệu là cần một chính sách bảo vệ theo chiều sâu, cho phép kiểm soát các hoạt động mang tính ngăn chặn và theo dõi bằng cách thực hiện các chính sách bảo mật “cần biết - need-to-know” và “ tin tưởng nhưng xác thực - trust-but-verify”
Trang 5I Thực trạng
Đối với một số doanh nghiệp, hiệu quả kinh doanh phụ thuộc hoàn toàn vào giá trị thông tin thì vấn đề an toàn thông tin được đặt trọng tâm hàng đầu
Hiện nay, các doanh nghiệp thường gặp khó khăn hoặc không thể trả lời các câu hỏi như:
+ Ai đã truy cập đén dữ liệu quan trọng này và vào thời gian nào?
+ Ai đã chỉnh sửa thông tin nhạy cảm của khách hàng?
+ Tại sao dữ liệu này lại bị thay đổi?
+ Hệ thống dữ liệu hiện có bị ai xâm phạm trái phéo không?
…
Để trả lời các câu hỏi này, doanh nghiệp cần thiết phải trang bị giải pháp giám sát đầy
đủ và chính xác, đồng thời giải pháp phải đảm bảo không tăng tải và làm chậm hệ thống hiện tại
Trong một số lĩnh vực kinh doanh nhạy cảm, tính bí mật của thông tin cần được bảo đảm tuyệt đối Thông tin cần đạt tính bí mật và nguyên vẹn ngay khi được lưu trên đĩa cứng,
và khi thông tin được trao đổi vào ra trong mạng cũng phải được đảm bảo an toàn Điều đó cho thấy tầm quan trọng của việc bảo vệ dữ liệu trong một hệ quản trị CSDL
II
Tổng quan về Oracle 11g
Oracle Database là phần mềm cơ sở dữ liệu duy nhất được thiết kế cho điện toán lưới Cùng với phiên bản Oracle Database 11g, Oracle đang làm cho việc quản trị thông tin trở nên dễ dàng hơn bao giờ hết, giúp cho khách hàng hiểu nhiều hơn về hoạt động kinh doanh của họ và đổi mới nhanh hơn
Oracle Database 11g đem đến hiệu năng, khả năng mở rộng, tính sẵn sàng và bảo mật tốt hơn, và khả năng quản trị dễ dàng mạng lưới máy chủ và lưu trữ theo chuẩn với chi phí thấp
Trang 6III Bảo mật
Oracle là cơ sở dữ liệu an toàn có các tính năng bảo mật cơ bản và nâng cao Trong Oracle, có 4 phương thức xác thực người dùng khác nhau, như sau:
Cơ sở dữ liệu: Cơ sở dữ liệu thực hiện cả nhận dạng và xác thực người dùng.
Bên ngoài: Hệ điều hành hoặc dịch vụ mạng thực hiện xác thực.
Xác thực và ủy quyền toàn bộ: Người dùng được xác thực toàn bộ bằng SSL.
Xác thực và ủy quyền ủy nhiệm: Máy chủ tầng trung gian thực hiện xác thực.
Phương thức xác thực được xác định khi tạo người dùng bằng cách sử dụng lệnh CREATE USER Có một số khung nhìn Data Dictionary (Từ điển dữ liệu) có chứa thông tin về những người dùng này
Xác thực và ủy quyền người dùng
Oracle sử dụng một mật khẩu được mã hóa đã lưu trong từ điển ngay khi người dùng được tạo ra Cả hai Oracle hỗ trợ Thư mục Internet Oracle và Máy chủ thư mục IBM (LDAP
- Oracle Internet Directory và IBM Directory Server) Oracle hỗ trợ đăng nhập một lần (SSO
- single sign on)
Mã hóa dữ liệu
Oracle hỗ trợ mã hóa dữ liệu ở nơi có dữ liệu nhạy cảm như các số thẻ tín dụng và một
số dữ liệu kinh doanh rất nhạy cảm có thể được mã hóa
Mã hóa mạng
Oracle cung cấp mã hóa mạng với Bảo mật nâng cao Oracle (Oracle Advanced Security) của nó Oracle sử dụng các mã hóa chuẩn công nghiệp DES, 3DES và RC4
Kiểm tra dấu vết
Oracle cho phép bạn kiểm tra dấu vết những người dùng và các đối tượng Cũng có thể
sử dụng Log miner (Trình khai phá bản ghi nhật ký) để kiểm tra nhanh và phân tích các truy vấn đáng ngờ
1 Các cơ chế bảo mật
Trang 7- Ngăn cản sự truy xuất dữ liệu trái phép.
- Ngăn cản sự truy xuất trái phép các đối tượng schema
- Điều khiển việc sử dụng đĩa
- Điều khiển việc sử dụng các tài nguyên hệ thống
- Giám sát các hành động của user
Các cơ chế bảo mật trên được thực hiện bởi các phương tiện sau :
1.1 User CSDL và Schema
Mỗi CSDL oracle có một danh sách usename Để truy xuất một CSDL, một usename cần sử dụng CSDL gắn với một usename hợp lệ của CSDL Mỗi usename có một password kết hợp để ngăn ngừa sự truy xuất trái phép
- Nguyên lý: Hoàn toàn giống nguyên lý của các CSDL khác, oracle sẽ hỏi user về định danh usename và password tương ứng, nếu câu trả lời khớp với số liệu đã được lưu trong hệ thống bảo mất CSDL thì user sẽ được quyền truy cập CSDL đó, ngoài ra user có thể nhập lại hoặc bị cấm truy cập nếu trả lời không khớp
VD : cách nhập password thông qua giao tiếp của chương trình
- Bảo mật vùng ( Domain Securlty )
Mỗi User có một Domain Securlty là một tập các tính chất xác định những điều như
+ Hoạt động có sẵn cho User
+ Các Quota Tablespace ( không gian đĩa sẵn có )
+ Giới hạn tài nguyên hệ thống
1.2 Đặc quyền ( Privilege )
Một đặc quyền là quyền thực hiện một loại lệnh SQL đặc biệt
VD :
- Quyền kết nối vào CSDL ( tạo ra một session )
- Quyền tạo bảng trong schema của mình
- Quyền chọn các hàng từ các User khác
Trang 8- Quyền thực hiện các Stored Procedure của User khác
Các đặc quyền của một CSDL Oracle có thể chia thành 2 loại riêng biệt : Privilege hệ thống và Privilege các đối tượng Schema
- Privilege hệ thống
Cho phép user thực hiện một hành động mức hệ thống đặc biệt hay một hành động đặc biệt trên một loại đối tượng schema đặc biệt
VD: Đặc quyền tạo ra một table space hay xóa các hàng trong CSDL
- Privilege đối tượng Schema
Cho phép thực hiện một hành động đặc biệt trên một đối tượng schema đặc biêt VD: Đặc quyền xóa một hàng của bảng
- Cấp Privilege
- Có 2 cách :
+ Cấp tường minh
+ Các Privilege có thể gán cho các Role sau đó role có thể gán cho 1 hay nhiều User
1.3 Role( Vai trò )
Role là một nhóm privilege có liên quan được đặt tên để cấp cho các user hay các role khác
Tính chất :
- Giảm việc cấp privilege
- Tính sẵn có chọn lọc
- Hỗ trợ ứng dụng
1.4 Các xác lập lưu trữ và Quota
Oracle cung cấp các biện pháp để định hướng và giới hạn việc sử dụng không gian của CSDL trên từng User bao gồm:
- Tablespace mặc định: giúp oracle chỉ định nơi lưu trữ trong trường hợp vị trí của đối tượng Schema không được chỉ định
Trang 9- Tablespace tạm thời: giảm sự tranh chấp xuất nhập
- Các Quota Tablespace: điều khiển chọn lọc lượng không gian đĩa tiêu tốn bởi các
đố tượng của các Schema xác định
1.5 Các profile và giới hạn tài nguyên
Mỗi User được gán một Profile chỉ định các giới hạn trên một số tài nguyên có sẵn
- Số Session có thể dược thiết lập đồng thời bởi User
- Thời gian truy xuất CPU
+ Sẵn có cho Session của User
+ Sẵn có cho một lần gọi Oracle của một lệnh SQL
- Lượng xuất nhập logic
+ Sẵn có cho Session của User
+ Sẵn có cho một lần gọi oracle của 1 lệnh SQL
- Lượng thời gian rỗi cho phép của Session của User
- Lượng thời gian kết nối cho phép
- Các giới hạn Password
1.6 Sự kiểm tra ( Auditing )
Oracle cho phép kiểm tra chọn lọc các hành động của user sự giám sát có thể được thực hiện ở 3 mức :
- Kiểm tra lệnh : kiểm tra lệnh SQL mà không quan tâm đến các đối tượng Schema
- Kiểm tra đặc quyền : kiểm tra các đặc quyền hệ thống mà không quan tâm đến các đối tượng Schema
- Kiểm tra các đối tượng Schema : kiểm tra sự truy xuất mà không quan tâm đến User
2 Trusted Oracle
Trusted Oracle là một phần quản lí bảo mật CSDL nhiều mức của oracle
Trang 10- Được thiết kế để cung cấp khả năng bảo mật cao nhằm phục vụ yêu cầu các tổ chức xử lí những dữ liệu tế nhị hay mật
- Tương thích với các sản phẩm cơ bản của Oracle
- Hỗ trợ tất cả các tính năng cơ bản của Oracle
- Thực hiện kiểm soát truy nhập ủy nhiệm (MAC ) trên một giả rộng cả môi trường điều hành bảo mật nhiều cấp
+ MAC là biện pháp giới hạn sự truy xuất thông tin dựa trên các nhãn
- Nhãn của user chỉ định thông tin nào User được phép truy xuất và loại truy xuất nào User được thực hiện
- Nhãn của đối tượng Schema chỉ định độ quan trọng của thông tin mà nó chứa
IV Bảo mật của ứng dụng
1 Tổng quan
Chế độ bảo mật của ứng dụng giới hạn việc truy cập CSDL từ phía Cilent của hệ thống, giới hạn việc truy xuất các đối tượng giao diện đặc biệt
Nguyên nhân cần có thêm chế độ bảo mật của ứng dụng bên cạnh bảo mật của CSDL:
• Tăng cường và bổ sung chế độ bảo mật của CSDL
• Có thể nâng cao mức bảo mật CSDL bằng cách giới hạn hơn nữa việc truy xuất đối tượng CSDL và cung cấp một lớp trừu tượng bổ sung
• Trong các giao diện ứng dụng thông thường, giao diện cho phép các user làm việc với CSDL thông qua các trình đơn, các Forms tương ứng với các tiến trình và các đối tượng hoạt động, thuận lợi cho việc ngăn ngừa user hiểu biết tên các bảng và các cột được truy xuất
• Trong nhiều trường hợp thông tin của CSDL sẽ dùng để quản lý các hoạt động của giao diện, dựa trên các role của user Các bảng của hệ thống chứa các thông tin bảo mật cho ứng dụng sẽ cho phép các khả năng nào của giao diện là sẵn có Các tùy chọn trình đơn và các forms sẽ được hiện ra cho các user có đặc quyền và sẽ ẩn đi khi user không được phép
• Có thể truy xuất CSDL từ nhiều ứng dụng khác nhau
Trang 112 Sử dụng đối tượng CSDL của ứng dụng
Các đối tượng cơ bản ( cluster, indexes, sequence) và các quyền cấp cho đối tượng này thuộc loại bảo mật CSDL Các đối tượng khác như view, procedure và function được coi là các đối tượng CSDL ứng dụng và các quyền cấp về chúng thuộc loại bảo mật ứng dụng
• Scrip là nơi bảo mật CSDL chấm dứt và là nơi bảo mật ứng dụng bắt đầu
• Synonym chung được tạo để che ID hệ thống của DBA, giới hạn quyền được gán cho super-user của ứng dụng
• Các đối tượng ứng dụng bao gồm các procedure, các view, functions, packages
• Ta cần phải dùng các stored procedure và function để thực hiện tất cả các chuyển tác, vì:
- Sử dụng các subroutine của CSDL sẽ giữ tính toàn vẹn
- Sử dụng procedure và function cũng nâng cao tính bảo mật CSDL
- Sử dụng package ta có thể gói trọn các biến, cursor, hằng và các subprogram trong một đơn vị logic giúp đơn giản tiến trình gán các đặc quyền và nâng cao hiệu suất chung
3 Bảo mật ứng dụng điều khiển bằng bảng
Ta có thể dùng các thông tin lưu trong bảng của CSDL Oracle để điều khiển chế độ bảo mật ứng dụng
QUY TRÌNH:
• Tạo ra một bảng chứa các thông tin về các role của user trong ứng dụng, trong đó mỗi user có một role
• Tạo một bảng xác định các tùy chọn của trình đơn mà một role có thể sử dụng hay không
• Xây dựng một module khởi tạo để xử lý nội dung của bảng trên, nhằm tạo một trình đơn thực sự
• Tạo một trình đơn các nút control động khi khởi tạo cửa sổ ứng dụng
• Cần chú ý các vấn đề:
Trang 12- Cần phải có một cách xác định role của user trước khi khởi tạo giao diện, menu
- Trong bảng lưu dữ liệu cần phải phân định rõ và thông nhất về các định danh trong ứng dụng và trong CSDL
Tóm lại, bảo mật ứng dụng không thể thay thế bảo mật CSDL nhưng nó nâng cao độ an toàn của hệ thống bảo mật CSDL Nó xác lập các nguyên tắc mà không thể xây dựng được bằng các ràng buộc toàn vẹn