Search This Blog

Thursday, July 19, 2012

Tổng quan về bảo mật trong Domino ( Domino Security overview)

Bảo mật trong Domino rất mạnh mẽ, liên quan tới cơ chế bảo mật nhiều lớp để bảo vệ máy chủ và database tránh khỏi các truy cập không hợp pháp.
Trong phần này, tôi sẽ giới thiệu tổng quan về bảo mật trong Domino, thể hiện cho các bạn theo trình tự truy cập được phần quyền từ mức thấp tới mức cao.

Mô hình bảo mật ( Security Model)

Biểu đồ dưới đây thể hiện một loạt các bước bảo mật thông qua các lớp.
Người dùng phải thỏa mãn các cơ chế bảo mật của Domino - theo chuỗi từ trái qua phải để có thể truy cập vào dữ liệu:

  • Authentication: trong suốt quá trình xác thực, người dùng chứng mình - tên của họ được xác thực
  • Server access: điều khiển truy cập tới Domino Server dựa trên tên có tồn tại trong Server Access Control List.
  • Database access: điều khiển toàn bộ quyền thiết lập tới database trong ACL

Tổng quan về mô hình bảo mật

  • Mô hình bảo mật cho Notes Client truy cập tới Domino server giống với cách Domino Server này truy cập tới Domino server khác ( ví dụ như đồng bộ hóa, định tuyến mail, chia sẻ các thông tin về lập lịch, ect), nhưng truy cập Domino theo trình duyệt và các trình Internet client khác (POP, LDAP, ...) theo một cách khác.
  • Cho phép Anonymous truy cập bằng Notes hoặc qua trình duyệt là cách "nhanh nhất" để mở một session trên server, nhưng bạn mất kiểm soát người dùng truy cập qua Database ACL và Document ACL bởi vì bạn không thể phân biệt chúng bằng tên.
  • Cuối cùng, bạn nên áp dụng tất cả các phương thức bảo mật máy chủ, điều này sẽ làm tăng chi phí, nếu bạn thực hiện không đúng thì cả người dùng hợp lệ sẽ bị khóa.

Chú ý 1: các cơ chế bảo mật khác của Notes bao gồm mã hóa CSDL trên đĩa, bắt buộc đổi mật khẩu, khóa công khai phải khớp lúc đăng nhập, ..
Chú ý 2: Cơ chế bảo mật trong phần này chủ yếu áp dụng cho giao thức Notes. Bảo mật Internet Mail và HTTP Protocol tôi sẽ nói với các bạn trong phần Cấu hình Mail

Các mức bảo mật


Mức
Chức năng
Mức1: General Access
Đây là mức thấp nhất bảo mật dữ liệu Notes, bao gồm các cơ chế bảo mật sau:
  • Bảo mật mức vật lý của máy chủ để ngăn chặn cá nhân mở local file
  • Bảo mật mức mạng ngăn chặn người dùng phá vỡ bảo mật Domino thông qua truy cập trực tiếp file hệ thống
  • Xác thực ( cho phép Anonymous truy cập nếu có thể)
  • Báo cáo truy cập máy chủ
  • Database ACL
  • Các cơ chế bảo mật này là thiết yếu và không bao giờ được bỏ qua

Mức 2: I/O Access
Khi bạn cho tổ chức khác truy cập tới máy chủ của mình, bạn nên thêm vào mức bảo mật lớp 2, bao gồm các cơ chế bảo mật sau:
  • Cổng điều khiển truy cập với danh sách người dùng và nhóm trong file NOTES.INI
  • Mã hóa dữ liệu truyền trên mạng
  • Liên kết tới thư mục với danh sách người dùng và nhóm được phép trong .DIR file

Mức 3: Firewall Dominos
Đây là mức cao được khuyến cáo khi truyền thông và đồng bộ hóa với các tổ chức khác, trực tiếp hoặc qua Internet mà bạn đã tạo firewall giữa vùng mạng bên trong và bên ngoài.
Chồng chéo chức năng network firewall: bạn có thể tạo Domino Firewall Domain bằng cách sử dụng Domino Directory và Organization Certifirer




Cơ bản bảo mật mạng

Hạn chế truy cập tới Domino Server qua mạng là một phần nhiệm vụ của người quản trị và có thể thực hiện theo cách sau:

  • Yêu cầu mật khẩu người dùng khi đăng nhập vào mạng, thiết lập thời hạn của mật khẩu và không cho phép sử dụng mật khẩu giống nhau, hạn chế khả năng đăng nhập thông qua nhiểu nguồn.Thiết lập thời gian để log out người dùng khi không sử dụng. Notes hỗ trợ đặt User IDs trên SmartCard, khuyến khích người dùng bảo mật tài khoản của họ.
  • Nếu Domino server chạy HTTP stack, hãy chạy trên cổng 80 ( 443 nếu dùng SSL)
  • Nếu định tuyến mail sử dụng SMTP, dùng cổng 35 ( 465 nếu dùng SSL)
  • Nếu hỗ trợ Lotus iNotes, cổng 80 và 443 nên sử dụng ( và cổng 1352 nếu dùng DOLS)
  • Phụ thuộc vào các dịch vụ internet khác ( ví dụ LDAP), bạn nên mở các cổng này. Nếu sử dụng Quickr, bạn nên sử dụng cổng 80/443 cho HTTP/HTTPS, 1352 for DOLS, cổng 1533 và 8080 cho online awareness và chat.

Port access list

Bạn có teher hạn chế truy cập tới mạng LAN hoặc cổng COM trên máy chủ bao gồm cả những dòng trong file NOTES.INI hoặc sử dụng câu lệnh >set config :
Allow_Access_<PortName>= <Groupname>, <groupname>
Deny_Acess_<PortName>= <Groupname>, <groupname>
Hãy nhớ những điều sau khi bạn sử dụng Port access

Tên nhóm hoặc tên tổ chức có thể sử ký tự đại diện ví dụ:
Allow_Acess_TCPIP=Admins,LocalDomainServer,*/NN

Dấu * đại diện cho mọi người có tên trong Domino Directory ví dụ
Allow_Access_TCPIP=*
Thiết lập các Port nếu bạn muốn bảo vệ sử dụng tên trong hộp thoại Ports
Thành viên trong nhóm bị cấm truy cập sẽ ghi đè thành viên trong nhóm được phép truy cập
Bạn phải khởi động lại server để Port Access có thể effect
Chú ý: Port access không áp dụng cho Notes Anonymous user hoặc tới browser. Nó chỉ điều khiển những Port nào được xác thực Notes Clients

Mã hóa dữ liệu mạng

Một khía cạnh khác của bảo mật mạng là khả năng giữa Notes Client và Domino Server có thể mã hóa dữ liệu gửi tới Domino Servers

Firewall Network

Bạn nên tạo ra các vùng mạng riêng biệt để tăng cường bảo mật cho hệ thống. Giữa các vùng nên có firewall hoặc router lọc gói tin.

Domino firewall domain

Domino firewall domain được sử dụng để điều khiển truy cập tới internal server. Việc định tuyến mail, đồng bộ hóa với các máy chủ bên ngoài chỉ được thực hiện bởi server trong Domino firewall domain.
Domain này đòi hỏi quản trị phải public một Domino Directory thứ hai có các đặc điểm sau:

  • Default ACL mặc định được set là No Access để bên ngoài không thể tìm ra các kết nối khác của bạn
  • Chứa tất cả các tài liệu Connections tới tất cả các domain bên ngoài để đồng bộ hóa và định tuyến mail.
  • Định nghĩa nhóm server cung cấp truy cập tới server trong Domino Firewall Domain
  • Cần thiết thêm vào tài liệu Cross Certificate để xác thực Internal Domino Domain Server với các server bên ngoài.

internal Domino Domain Domino Directory của bạn cần có:

  • Tài liệu Connection tới server trong Domino Firewall domain để định tuyến mail và đồng bộ hóa
  • Tài liệu Non-Adjacent Domain  để dễ dàng định giải quyết thư tin và cho phép định tuyến mail chỉ từ các Domino Domain xác định.
  • Tài liệu Server cho phép truy cập bởi server trong Domino firewall domain
  • Tài liệu Cross Certificate, nếu cần thiết để xác thực với server trong Domino firewall organization.

Chú ý:
Domino Directory không được định nghĩa các server trong Domino Domain khác
Trong phần sau tôi sẽ nói về tài liệu Connection, Cross Certificate và No-Adjacent Domain.

Trách nhiệm của người quản trị:

Để đảm bảo thành công trong việc bảo vệ ứng dụng, database developer phải làm việc với Domino Administrator, người mà:

  • Đăng ký các tài khoản cần thiết
  • Cung cấp cho Notes Client Notes User ID file
  • Cung cấp cho người dùng cách tự đăng ký qua web ( tạo tài liệu Person trong Domino Directory có Internet password)
  • Nếu chứng thực sử dụng X.509 Internet Certificate, kich hoạt SSL và tạo ra Certificate Authority Key Ring và Certificate, Server Key Ring và Certificate, và phê duyệt người dùng yêu cầu Certificate.

Trách nhiệm của người phát triển:

Như một phần tổng thể của việc thiết kế database, người phát triển phải quyết định:
Ai có thể truy cập tới các mức của mô hình bảo mật, bao gồm những truy cập gán cho người dùng nội bộ và người dùng bên ngoài, quyền được đưa cho Notes clients hoặc browsers.
Dễ dàng điều khiển bảo mật sử dụng groups và roles.
Những mục nào có thể Create và View trên menu cho người dùng xác định
Đọc mức trường ( field-level) và edit access cho Notes Clients.

Bài tiếp theo: Xác thực người dùng và tên ( User authentication and Names).

No comments:

Post a Comment