Chuyển đến nội dung chính
Bạn đã viết một chính sách firewall — một tư thế default-deny, một deny trên shell.exec, một egress allow-list — và bạn tin nó đúng. Nhưng bật nó lên trên traffic agent production là một bước nhảy niềm tin: một quy tắc quá rộng và bạn đang block các cuộc gọi mà agent của bạn thực hiện một cách hợp lệ. Shadow mode của firewall là công tắc triển khai an toàn. Nó là một cờ theo từng chính sách bảo gateway đánh giá chính sách đúng như nó sẽ làm trong production, ghi log mọi thứ, nhưng không block gì. Mọi verdict thực thi bị hạ cấp thành audit, và lý do của event được thêm tiền tố [shadow] would … để bạn đọc ra chính xác chính sách sẽ làm gì — mà nó chưa làm gì cả.
Shadow mode là một cờ trên chính sách, đặt trong console (hoặc các route quản lý /api/workspace/firewall/policies, vốn dùng session / access token của bạn — không phải một relay key sk-orca-…). Bật/tắt nó là một hành động Developer+. Các cuộc gọi relay /v1/* của agent bạn không thay đổi.

1. Shadow mode của firewall làm gì

Khi cờ shadow_mode của một chính sách bật, gateway chạy toàn bộ quá trình đánh giá — phân giải chính sách, duyệt các quy tắc theo thứ tự ưu tiên, chọn một verdict — rồi, ngay trước khi verdict có hiệu lực, hạ cấp bất cứ thứ gì đáng lẽ sẽ thay đổi cuộc gọi:
Verdict đã phân giảiDưới shadow mode
denyaudit, lý do [shadow] would deny — …
sanitizeaudit, lý do [shadow] would sanitize — …
pending_approvalaudit, lý do [shadow] would pending_approval — …
allow / auditkhông đổi (vốn đã không block)
Cuộc gọi luôn đi qua. Không gì bị block, không đối số nào bị che, không có lần giữ chờ con người nào được mở — nhưng event được ghi lại với verdict mà chính sách sẽ tạo ra, nên events feed đọc lên giống một lần chạy production với việc thực thi đã tắt.
Tiền tố [shadow] would … là bộ lọc tiêu đề của bạn. Sắp xếp events feed theo nó và bạn có một danh sách đầy đủ mọi cuộc gọi mà chính sách này sắp bắt đầu block, trước khi nó block một cái nào.

2. Một lần triển khai cụ thể

Giả sử bạn có một chính sách prod-agents với một quy tắc deny trên các lệnh shell phá hủy, và bạn muốn xác nhận nó sẽ không vấp phải bất cứ thứ gì hợp lệ.
1

Bật shadow mode

Trong Security → Firewall → Policies, mở prod-agents, bật Shadow mode, và lưu. Chính sách giữ nguyên liên kết và các quy tắc — nó chỉ ngừng thực thi.
2

Để traffic thật chảy qua

Các agent của bạn vẫn gọi gateway y như trước. Mọi cuộc gọi tool đều được đánh giá; không gì bị block. Cho nó một khoảng thời gian đại diện — đủ dài để bao quát hỗn hợp tool thực của bạn.
3

Đọc các lần deny giả định

Mở Events và lọc theo lý do [shadow]. Mỗi dòng hiển thị tool, bề mặt, lần chạy, và quy tắc đã khớp — nên một [shadow] would deny — destructive shell command trên một cuộc gọi shell.exec chính là thứ bạn sẽ thấy trong production, trừ HTTP 400.
4

Tắt shadow mode

Một khi feed cho thấy chính sách kích hoạt trên đúng những gì bạn mong đợi và không gì bạn không mong đợi, tắt Shadow mode. Từ cuộc gọi kế tiếp trở đi, những event [shadow] would deny đó trở thành các lần deny firewall_blocked thật.
Nếu shadow mode thực sự phát hiện một dương tính giả — một cuộc gọi hợp lệ khớp với một quy tắc deny — hãy sửa quy tắc (siết chặt glob hoặc thêm một mệnh đề argument) khi vẫn còn trong shadow, và quan sát feed lại. Bạn lặp lại trên traffic thật với bán kính tác động bằng không.

3. Những gì shadow mode không làm dịu

Shadow mode là một bản xem trước của chính sách, không phải một công tắc tắt tổng.
Các skill được quản trị vẫn thực thi dưới một chính sách shadow. Một skill ở chế độ block vẫn deny, và một skill ở chế độ quarantine vẫn giữ lại chờ phê duyệt, ngay cả khi chính sách đã khớp đang ở shadow. Chế độ thực thi skill là một thuộc tính của trạng thái xem xét của skill, không phải của chính sách bạn đang xem trước — đưa một chính sách vào shadow chưa bao giờ là một yêu cầu bỏ cách ly một skill. Chính sách vẫn được gắn nhãn shadowed trong events, nhưng định đoạt của skill thắng.
Một vài ranh giới nữa đáng biết:
Chỉ các verdict thực thi (deny, sanitize, pending_approval) bị hạ cấp. Một allow hay audit vốn đã cho cuộc gọi đi qua, nên chẳng có gì để làm dịu — những event đó vẫn mang nhãn shadow để bạn biết chính sách đang ở shadow khi chúng được ghi lại.
Một quy tắc cap_cost phân giải về một allow hoặc deny cụ thể dựa trên chi tiêu tích lũy của lần chạy, và chính verdict đã phân giải đó là thứ shadow mode rồi hạ cấp — một lần deny do chạm cap giả định hiện ra dưới dạng [shadow] would deny như bất kỳ cái nào khác.
Shadow mode tồn tại trên mỗi chính sách một cách độc lập. Bạn có thể đưa một chính sách hoàn toàn mới vào shadow trong khi một chính sách đã được thử lửa vẫn thực thi — không có công tắc shadow toàn-workspace nào để quên tắt.

4. Shadow mode so với các núm triển khai khác

Firewall cho bạn ba kiểm soát “đừng làm hỏng gì vội” khác nhau. Chúng giải quyết các vấn đề khác nhau:
Kiểm soátPhạm viCâu hỏi nó trả lời
Shadow modeMột chính sáchChính sách này sẽ block gì nếu tôi thực thi nó?”
Verdict mặc định auditMột chính sách”Ghi log mọi thứ không quy tắc nào nêu tên, không block gì.”
Observe modeWorkspace”Những tool nào đang chạy mà không có chính sách bao phủ chúng?”
Shadow mode là cái cần dùng khi bạn có một chính sách thực thi thật và muốn đo tác động chính xác của nó trước khi nó thay đổi traffic. Một verdict mặc định audit dành cho phần không khớp còn lại của một chính sách; observe mode nói về khoảng trống độ phủ trên toàn workspace, không phải việc thực thi của một chính sách cụ thể.
Bạn có thể xếp chồng chúng. Một chính sách default-deny mới dưới shadow mode là cách triển khai nhẹ nhàng nhất có thể: ngay cả sàn default-deny cũng chỉ ghi log [shadow] would deny thay vì block, nên bạn thấy toàn bộ tập hợp các cuộc gọi mà các quy tắc allow của bạn chưa bao phủ trước khi lệnh deny đi live.

5. Compliance pack đáp xuống shadow trước

Khi bạn cài đặt một compliance pack ở chế độ observe (không thực thi), các chính sách firewall mà nó dựng nên được tạo với shadow mode bật — chúng đánh giá và ghi log trên traffic của bạn mà không block gì. Thăng cấp pack để thực thi sẽ đưa các chính sách đó ra khỏi shadow. Cùng cơ chế, được áp dụng giúp bạn: chạy thử các kiểm soát, đọc các verdict giả định, rồi thực thi.

6. Bật/tắt nó

Trong console, shadow mode là một toggle trên trình chỉnh sửa chính sách. Cùng cờ đó được phơi bày trên management API dưới dạng shadow_mode trên đối tượng chính sách — các route này dùng session / access token của bạn và yêu cầu Developer+:
Method & pathVai tròGhi chú
PUT /api/workspace/firewall/policiesDeveloper+Đặt shadow_mode: true / false trên chính sách trong body.
GET /api/workspace/firewall/policies/:idMemberĐọc trạng thái shadow_mode hiện tại của một chính sách.
Mỗi thay đổi ghi một dòng audit và tăng số nguyên version của chính sách, nên việc bật và tắt shadow tự nó cũng được theo dõi.

Đi đâu tiếp theo

Tạo & gắn một chính sách

Thiết lập hai bước mà shadow mode triển khai — tạo chính sách, gắn một key.

Events log

Nơi [shadow] would … hiện ra — lọc, đào sâu vào lần chạy và quy tắc.

Verdict

Các verdict thực thi mà shadow mode hạ cấp, và mỗi cái làm gì khi live.

Chế độ thực thi

Cách shadow, audit, và observe khớp vào mô hình thực thi rộng hơn.
Để biết các mối đe dọa mà một chính sách ngăn chặn một khi bạn tắt shadow, xem cuộc gọi tool nguy hiểmquyền tự quyết quá mức.