Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách tìm và che PII trong Elasticsearch

Elasticsearch là một công cụ tìm kiếm dựa trên Java có giao diện HTTP và lưu trữ dữ liệu của nó trong các tài liệu JSON không có giản đồ. Thật không may, một loạt các vi phạm tốn kém và đau đớn đối với Thông tin nhận dạng cá nhân (PII) tiếp tục hoành hành cơ sở dữ liệu Elasticsearch trực tuyến:

Tất cả PII hoặc thông tin nhạy cảm khác trong các DB này đều bị che, tuy nhiên, các bản sao phát triển và hack thành công có thể không có vấn đề gì. Mục đích của IRI DarkShield là khóa thông tin đó trong quá trình sản xuất hoặc thử nghiệm bằng cách sử dụng các chức năng ẩn danh tuân thủ luật bảo mật.

Trình hướng dẫn mặt nạ và tìm kiếm Elasticsearch trong IDE đồ họa IRI Workbench cho IRI DarkShield sử dụng công cụ tương tự như các trình kết nối MongoDB và Cassandra được mô tả trong bài viết này. Trình hướng dẫn này có thể được sử dụng để phân loại, định vị và khử xác định hoặc xóa PII và các thông tin nhạy cảm khác được lưu giữ trên các bộ sưu tập Elasticsearch và để tạo ra các kết quả tìm kiếm và kiểm tra.

Thiết lập

Nếu bạn không có cụm Elasticsearch để kết nối, bạn có thể dễ dàng tạo một cụm cục bộ bằng cách tải xuống Elasticsearch từ đây và làm theo hướng dẫn.

Đối với phần trình diễn của tôi về trình hướng dẫn này, tôi đang sử dụng một chỉ mục duy nhất được gọi là khách hàng trên một cụm được lưu trữ cục bộ. Chỉ mục này lưu trữ thông tin khách hàng cơ bản thường được nhìn thấy trong tài khoản và là mục tiêu phong phú cho các hành vi vi phạm. Điều này bao gồm:email, tên và số điện thoại:

Tìm kiếm

Cũng như các nguồn dữ liệu khác mà DarkShield hỗ trợ, bạn phải tạo một .search tệp đặc tả công việc để xác định tiêu chí quét và thị trường của bạn. Như bạn làm với MongoDB hoặc Cassandra, hãy chọn Công việc tạo mặt nạ / tìm kiếm NoSQL mới… từ Menu DarkShield trên đầu thanh công cụ IRI Workbench. Chọn một thư mục dự án và nhập tên cho công việc.

Trên trang tiếp theo, hãy tạo một URI nguồn:

Đây là nơi bạn nhập các thông số cho cụm Elasticsearch của mình. Máy chủ và cổng mặc định cho Elasticsearch là máy chủ cục bộ và 9200 nếu các trường này bị bỏ trống.

Nếu cụm mà bạn đang kết nối cần tên người dùng và mật khẩu, hãy nhập chúng vào phần xác thực. Đối với ví dụ này, tôi đang sử dụng máy chủ:localhost, cổng:9200 và cụm:Elasticsearch.

Tên người dùng và mật khẩu cũng có thể được thêm vào trang này. Để đơn giản hóa phần trình diễn này, cụm cục bộ không được định cấu hình có lưu ý đến tính bảo mật. Bất kỳ cụm thực nào cũng phải có đăng nhập và quyền được bật cho các trường hợp sử dụng thực.

Nhấp vào OK để kết thúc và bạn sẽ được quay lại trang trước. Nhập chỉ mục bạn muốn tìm kiếm. Trong ví dụ này, tôi đang sử dụng chỉ mục có tên là khách hàng .

Tiếp theo, bạn sẽ cần đặt một URI mục tiêu cho các kết quả bị che. Hãy nhớ rằng chỉ có thể gửi các kết quả có mặt nạ Elasticsearch đến các mục tiêu Elasticsearch. Trong trường hợp này, tôi sẽ sử dụng cùng một URI khách hàng đã tạo trước đó nhưng với một chỉ mục khác. Thao tác này sẽ tạo một chỉ mục mới với các kết quả được che dấu sẽ được tạo sau này trong phần trình diễn này.

Tiếp theo, bạn sẽ được yêu cầu tạo Trình đối sánh tìm kiếm, có nhiệm vụ liên kết Lớp dữ liệu với Quy tắc dữ liệu (tạo mặt nạ) tương ứng. Đây là bước cần thiết vì không thể đắp mặt nạ nếu không có nó.

Như đã giải thích trong bài viết Phân loại dữ liệu, Lớp dữ liệu lập danh mục tập trung và xác định tiêu chí toàn cầu để tìm và che PII trong các nguồn có cấu trúc, bán cấu trúc hoặc không có cấu trúc cho cả FieldShield và DarkShield. IRI Workbench cung cấp một số lớp dữ liệu được xác định trước (ví dụ:tên, địa chỉ email và IP, số thẻ tín dụng), được tìm thấy trong Window> Preferences> IRI> Data Classes and Groups . Bạn có thể chỉnh sửa chúng và thêm của riêng bạn.

Nhấp vào Duyệt qua hoặc Tạo trên dòng Lớp dữ liệu. Duyệt qua sẽ cho phép bạn chọn các lớp dữ liệu của riêng mình hoặc một trong một số lớp hoặc nhóm được xác định trước, bao gồm email, số điện thoại và tên. Trong trường hợp này, nhóm lớp dữ liệu NAMES bao gồm một lớp dữ liệu tên.

Ở đây, tôi đã chọn lớp dữ liệu EMAIL sẽ tìm kiếm các email trong chỉ mục Elasticsearch của tôi:

Bây giờ một quy tắc tạo mặt nạ phải được áp dụng cho lớp dữ liệu đã được chọn. Nhấp vào Tạo để tạo quy tắc dữ liệu mới hoặc Duyệt qua để sử dụng bất kỳ thứ gì bạn có thể đã xác định.

Đối với Email, tôi chọn một chức năng phản ứng lại:

Tất nhiên, nhiều lớp dữ liệu có thể được che đồng thời. Tôi đã thêm các lớp và chỉ định một chức năng mã hóa bảo toàn định dạng cho số điện thoại và một bút danh ngẫu nhiên (đặt tra cứu tệp) cho tên của mọi người:

Nếu cần bất kỳ bộ lọc tìm kiếm nào, chúng có thể được thêm vào trang trước. Bộ lọc có thể được sử dụng để tìm các kết quả cụ thể hoặc để cô lập các trường cụ thể trong CSV, XML, JSON hoặc RDB để được che giấu, loại trừ nhu cầu quét nội dung hàng. Tuy nhiên, tôi không chỉ định bất kỳ điều gì trong trường hợp này.

Nhấp vào Kết thúc khi hoàn thành. Điều này hoàn thành trình hướng dẫn và tạo một .search tệp chứa chi tiết cấu hình DarkShield để thực hiện (các) công việc tìm kiếm và / hoặc tạo mặt nạ.

Lưu ý: Nếu bạn đang sử dụng cụm được lưu trữ cục bộ mặc định như cụm trong ví dụ này, hãy đảm bảo rằng cụm được bật, vì mọi công việc tìm kiếm hoặc tạo mặt nạ sẽ không thành công. Bạn có thể kiểm tra xem máy chủ có đang chạy hay không bằng cách mở trình duyệt web và nhập “http:// localhost:9200 /” vào thanh địa chỉ.

Tìm kiếm và tạo mặt nạ

DarkShield hỗ trợ tìm kiếm và tạo mặt nạ dưới dạng các hoạt động riêng biệt hoặc đồng thời. Trong trường hợp này, trước tiên tôi muốn tìm kiếm và xem những gì tôi đã tìm thấy trước khi tôi che nó. Đó là vì công việc tạo mặt nạ (lớn hơn) có thể mất thời gian và tôi có thể muốn trau dồi các phương pháp tìm kiếm của mình và xác minh lại chúng.

Để thực hiện việc này, hãy nhấp chuột phải vào .search và chạy tệp như một công việc tìm kiếm. Điều này sẽ tạo ra một .darkdata với kết quả của tìm kiếm vừa được thực hiện. Do đó, tạo tác xuất hiện trong Workbench:

Sau khi kiểm tra kết quả, bạn có thể chạy .darkdata tệp dưới dạng mặt nạ công việc sửa chữa bộ sưu tập với chức năng redaction mà tôi đã chỉ định.

Các kết quả được tìm kiếm trước đó sẽ được che ở vị trí mục tiêu. Để xác minh điều này, bạn có thể thực hiện tìm kiếm lại và thấy rằng dữ liệu hiện đã được “DarkShield’ed” như đã chỉ định; tức là, các email được biên tập lại, tên riêng được đặt biệt hiệu và số điện thoại được che bằng mã hóa bảo toàn định dạng:

Nếu bạn cần trợ giúp để bảo vệ bộ sưu tập Elasticsearch của mình bằng cách che dữ liệu của chúng ở trạng thái nghỉ thông qua giao diện DarkShield này trong IRI Workbench hoặc CLI của nó, hoặc bất kỳ dữ liệu bán / không có cấu trúc nào trong chuyến bay qua API REST của DarkShield, vui lòng gửi email tới [email protected].


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mức độ tương thích và lớp lót ước tính số lượng

  2. Tại sao số liệu thống kê chờ đợi một mình là không đủ

  3. 9 phương pháp hay nhất để viết truy vấn SQL

  4. Dòng bộ xử lý AMD mới So sánh tốt với bộ xử lý Intel mới

  5. Tối ưu hóa cơ sở dữ liệu:Chỉ mục