10 thủ thuật bảo mật sở liệu Access Cơ sở liệu kho chứa liệu quan trọng cần bảo vệ Bạn sử dụng phần mềm bảo mật chuyên nghiệp để sở liệu, để có phần mềm hẳn bạn phải trả khoản phí khơng nhỏ Ngược lại, bạn sử dụng số tính bảo mật Access để bảo mật sở liệu mức độ định Những thủ thuật giúp bạn khai thác số tính bảo mật sẵn có Microsoft Access Sử dụng macro AutoExec để kiểm tra thiết lập lại cài đặt Sử dụng macro AutoExec để kiểm tra thiết lập lại tùy chọn bảo mật bị thay đổi phiên làm việc trước AutoExec macro đặc biệt thực mở sở liệu Để tạo macro AutoExec, cần đặt tên cho macro AutoExec Ví dụ, macro Startup() (trong hình) có chức xác định người dùng, thực kiểm tra cài đặt thuộc tính bảo mật trước người dùng truy cập 2 Ẩn cửa sổ Database Những tùy chọn khởi động hình B cho phép bạn xác định thuộc tính sỡ liệu mở Hai số thuộc tính giúp sở bảo liệu bảo mật hơn: • Display Database Window: Hủy chọn tùy chọn để ẩn cửa sổ Database mở sở liệu Do người dùng truy cập trực tiếp vào đối tượng • Use Access Special Keys: Bỏ tùy chọn để người dùng sử dụng phím F11 làm cửa sổ Database Hai cài đặt hỗ trợ cho nhau, khơng bỏ chọn tùy chọn Use Access Special Keys người dùng ấn phím F11 để làm cửa sổ Database Để truy cập vào tùy chọn Startup, vào menu Tools\ Startup Trong Access 2007, click vào nút Office\ Access Options\ Current Database cửa sổ trái bạn thấy tùy chọn Application Options Access 2007 cửa sổ Database, bạn làm ẩn Navigation Pane theo cách tương tự Tùy chọn nằm Navigation, bên Application Options Việc bỏ chọn tùy chọn Display Database hủy lệnh Startup Người dùng loại tùy chọn cách giữ phím Shift mở sơ sở liệu Đây thủ thuật nhắc nhở cho bạn nguy hiểm người khác biết Ngoài người dùng đưa nhiều đối tượng vào sở liệu trống để tránh cài đặt khởi động Chặn phím Shift Bạn sử dụng giao diện để ẩn cửa sổ Database Nhưng việc sử dụng phím Shift lại gây nguy hiểm cho sở liệu Bạn hủy bỏ việc sử dụng phím Shift cách đổi giá trị thuộc tính AllowBypassKey thành False đóng sở liệu Tuy nhiên, bạn gọi đoạn mã sau từ tác vụ đóng bất kì: Public Sub SetStartupOptions(propname As String, _ propdb As Variant, prop As Variant) 'Set passed startup property Dim dbs As Object Dim prp As Object Set dbs = CurrentDb On Error Resume Next dbs.Properties(propname) = prop If Err.Number = 3270 Then Set prp = dbs.CreateProperty(propname, _ propdb, prop) dbs.Properties.Append prp End If Set dbs = Nothing Set prp = Nothing End Sub Khi gọi thủ tục, cần đảm bảo phải lựa chọn tùy chọn khởi động Ví dụ: Call SetStartupOptions("AllowBypassKey", dbBoolean, False) Sau cài đặt thuộc tính cho tiến trình đóng, sở liệu vơ hiệu hóa phím Shift Ngồi bạn cài đặt thuộc tính khởi động Ví dụ làm ẩn cửa sổ Database: Call SetStartupOptions("StartupShowDBWindow", dbBoolean, False) Bạn cài đặt tùy chọn đóng mở sở liệu với ngoại lệ Đó thuộc tính AllowBypassKey phải cài đặt đóng sở liệu, bạn cần đặt tham chiếu tới thư viện Data Access Objects (DAO) Nếu không thủ tục gây lỗi tham chiếu Tuy nhiên, biết sử dụng phím Shift biết cách khơi phục lại cách thay đổi giá trị AllowBypassKey thành True Trong trường hợp bạn phải áp dụng phương pháp bảo mật nhóm làm việc phép admin truy cập vào thuộc tính Chia sở liệu Việc bảo vệ sở liệu nhỏ dễ dàng nhiều so với sở liệu lớn với nhiều đối tượng liệu giao diện Bạn chia sở liệu lớn thành hai sở liệu nhỏ, sở liệu thứ chứa bảng quan hệ (được gọi backend), sở liệu lại chứa đối tượng giao diện (còn gọi frontend) Hai sở liệu giao tiếp thông qua bảng liên kết Một điểm quan trọng người dùng frontend thay đổi thiết kế bảng backend (có nhiều cách để phân chia cở sở liệu viết hướng vào mục đích bảo mật) Để chia sở liệu, vào menu Tools\ Database Utilities\ Database Spliter sau làm theo hướng dẫn Trong Access 2007, click Access Database nhóm Move Data tab Database Tools Tránh sử dụng Compact On Close Những sử dụng Access có lẽ biết đến tác dụng việc nén sở liệu tường xuyên Quá trình nén tạo sở liệu, kiểm tra đối tượng, xóa bỏ liệu tạm thời xếp lại phần vỡ ổ đĩa Tóm lại, nén giúp sở liệu ln ổn định Tùy chọn Compact On Close, tích hợp Access 2000, giúp nén sở liệu tự động kết thúc phiên làm việc Không may, tiến trình lại giữ lại file khơng cần thiết Nếu thấy file tạm thời db1.mdb, db2.mdb, … folder chứa sở liệu bạn, chúng sản phẩm phụ tính nén Những file thừa gây rắc rối cho bạn vào folder truy cập vào file tạm thời Đó lỗ hổng bảo mật Có cách để bảo vệ sở liệu bạn: • Thường xuyên kiểm tra xóa file tạm (Tuy nhiên biện pháp thiết thực chí khơng có hiệu quả) • Khơng sử dụng tính Compact On Close Thay vào nên nén sở liệu theo cách thủ công Đây cách tốt để bảo vệ sở liệu khỏi lỗ hổng Ẩn đối tượng Việc ẩn đối tượng bảng, truy vấn, form, … phương pháp bảo vệ hữu hiệu, người dùng tìm thấy họ thay đổi chúng Tuy nhiên đối tượng bảo mật người dùng tới tồn chúng Việc ẩn đối tượng đơn giúp hạn chế lỗi gây liệu mà khơng có tác dụng bảo mật Để ẩn đối tượng cửa sổ Database (hay Navigation), bạn cần phải chuột lên đối tượng, chọn Properties sau chọn tùy chọn Hidden Attribute Tuy nhiên, người dùng Access làm đối tượng cách vào menu Tools\ Options, chọn tab View sau hủy chọn tùy chọn Hidden Objectstrong mục Show Trong Access 2007, phải chuột vào menu Navigation, chọn Navigation Options\ Show Hidden Objects\ OK Như nói, việc ẩn đối tượng khơng có tác dụng bảo mật Nếu bạn sử dụng phương pháp này, cần nhớ module ẩn hiển thị Visual Basic Editor (VBE) Hơn nữa, nên ẩn đối tượng quan trọng người dùng truy cập vào mà khơng thấy cửa sổ Database họ tìm kiếm Bạn nhập đối tượng ẩn vào sở liệu q trình nhập khơng phù hợp Bạn lập trình để ẩn đối tượng mã VBA sau: CurrentDb.TableDefs(tablename).Attributes = dbHiddenObject Từ phiên Office 2000 trở trước, việc sử dụng mã để gán thuộc tính ẩn vào bảng rắc rối Access coi bảng bảng tạm thời Và lần nén Access xóa bỏ với liệu Vì vây tránh sử dụng phương pháp làm việc với phiên Chặn thơng báo lỗi Khi xuất lỗi mã, VBA hiển thị thông báo lỗi Nếu người dùng nhận thơng báo click vào nút Debug họ tiếp cận với module chứa lỗi VBE Trong trường hợp người dùng có tồn quyền đoạn mã Thơng thường, người dùng xử lý yêu cầu người lập trình giúp đỡ Trái lại, có tình người dùng xóa bỏ tất đoạn mã Trong giai đoạn phát triển, khả truy cập nhanh vào mã giúp tiết kiệm thời gian Nhưng quản lý sở liệu thảm họa Tốt nhất, thủ tục nên bổ sung số tính xử lý lỗi để chặn thơng báo loại bỏ nút Debug Đặt mật bảo vệ sở liệu Việc thiết lập mật cho sở liệu giới hạn quyền truy cập cho người dùng cụ thể quan trọng có nhiều chương trình nhóm ba phá bỏ mật sở liệu Để cài đặt mật bạn cần thực thao tác sau: • Mở sở liệu theo chế độ Exclusive cách chọn Open Exclusive hộp thoại Open • Vào menu Tools\ Security\ Set Database Password • Nhập mật vào hộp Password Retype Password • Thực xong click OK Để gỡ bỏ mật thực bước sau: • Mở sở liệu chế độ Exclusive • Vào menu Tools\ Security\ Unset Database Password • Nhập mậu • Click OK Bạn đặt mật bảo vệ cho module VBA: • Từ menu Tools VBE, chọn Project Properties • Chọn tiếp tab Protection • Chọn tùy chọn Lock Project For Viewing • Nhập mật (hai lần) • Click OK Chuyển đổi định dạng sang “mde” hay “accde” Access bổ sung tính bảo mật định dạng file mde accde (trong Access 2007) Định dạng phiên “chỉ thực hiện” sở liệu, có nghĩa người dùng khơng có quyền truy cập vào mã qua VBE họ thay đổi đối tượng Định dạng bảo vệ thiết kế mà không bảo vệ liệu bạn Vì bạn cần copy file mdb/accdb gốc trước nâng cấp hay thay đổi Tuy nhiên sử dụng bạn cần lưu ý: • Chỉ sử dụng định dạng với frontend Không sử dụng để bảo mật cho backendhay sở liệu độc lập Còn muốn thực hiện, bạn cần phải chuyển liệu sang sở liệu nâng cấp frontend • Định dạng khơng bảo vệ bảng biểu, truy vấn, macro, quan hệ, thuộc tính cở liệu tùy chọn khởi động Để chuyển đổi sở liệu frontend sang định dạng mde hay accde bạn thực thao tác sau: • Trong Access XP (hay phiên Access trước đó), vào menu Tools\ Database Utilities\ Make MDE File Trong Access 2007, click vào Make ACCDE Database Tools tab Database Tools • Trong hộp thoại kết quả, đặt tên sở liệu chọn đường dẫn thư mục lưu sau click Save 10 Đặt mật bảo vệ hệ thống Không phải lúc người dùng làm việc máy tính, đơi họ phải đảm trách nhiều cơng việc khác Những lúc máy tính họ khơng ý bị xâm nhập Cách tốt để tránh tình đặt mật bảo vệ hình Tiện ích bảo vệ hình tự động kích hoạt máy tính nhàn rỗi Người dùng phải nhập mật trước truy cập vào hệ thống Trong Windows XP, bạn đặt mật cho tiện ích bảo vệ hình theo cách sau: • Vào menu Start\ Control Panel\ Display • Chọn tab ScreenSaver • Chọn kiểu ScreenSaver • Đặt thời gian ScreenSaver khởi chạy • Lựa chọn tùy chọn On Resume, Password Protection • Click OK