Hailbytes VPN với tài liệu tường lửa Firezone

Mục lục

Bắt Đầu

Hướng dẫn từng bước để triển khai Hailbytes VPN với Firezone GUI được cung cấp tại đây. 

Quản trị viên: Việc thiết lập phiên bản máy chủ liên quan trực tiếp đến phần này.

Hướng dẫn sử dụng: Các tài liệu hữu ích có thể hướng dẫn bạn cách sử dụng Firezone và giải quyết các vấn đề điển hình. Sau khi máy chủ đã được triển khai thành công, hãy tham khảo phần này.

Hướng dẫn cho các cấu hình phổ biến

Chia đường hầm: Sử dụng VPN để chỉ gửi lưu lượng truy cập đến các dải IP cụ thể.

Lập danh sách trắng: Đặt địa chỉ IP tĩnh của máy chủ VPN để sử dụng danh sách trắng.

Đường hầm đảo ngược: Tạo đường hầm giữa một số đồng nghiệp bằng cách sử dụng đường hầm đảo ngược.

Nhận sự hỗ trợ

Chúng tôi sẵn lòng hỗ trợ bạn nếu bạn cần hỗ trợ cài đặt, tùy chỉnh hoặc sử dụng Hailbytes VPN.

Xác thực

Trước khi người dùng có thể tạo hoặc tải xuống tệp cấu hình thiết bị, Firezone có thể được định cấu hình để yêu cầu xác thực. Người dùng cũng có thể cần xác thực lại định kỳ để duy trì kết nối VPN của họ.

Mặc dù phương thức đăng nhập mặc định của Firezone là email và mật khẩu cục bộ, nhưng nó cũng có thể được tích hợp với bất kỳ nhà cung cấp nhận dạng OpenID Connect (OIDC) được tiêu chuẩn hóa nào. Người dùng hiện có thể đăng nhập vào Firezone bằng Okta, Google, Azure AD hoặc thông tin đăng nhập của nhà cung cấp danh tính cá nhân.

 

Tích hợp một nhà cung cấp OIDC chung

Các tham số cấu hình mà Firezone cần để cho phép SSO sử dụng nhà cung cấp OIDC được hiển thị trong ví dụ bên dưới. Tại /etc/firezone/firezone.rb, bạn có thể tìm thấy tệp cấu hình. Chạy firezone-ctl reconfigure và firezone-ctl restart để cập nhật ứng dụng và có hiệu lực của các thay đổi.

 

# Đây là một ví dụ sử dụng Google và Okta làm nhà cung cấp danh tính SSO.

# Có thể thêm nhiều cấu hình OIDC vào cùng một phiên bản Firezone.

 

# Firezone có thể vô hiệu hóa VPN của người dùng nếu có bất kỳ lỗi nào được phát hiện khi thử

# để làm mới access_token của họ. Điều này được xác minh để làm việc cho Google, Okta, và

# Azure SSO và được sử dụng để tự động ngắt kết nối VPN của người dùng nếu họ bị xóa

# từ nhà cung cấp OIDC. Để chế độ này bị tắt nếu nhà cung cấp OIDC của bạn

# gặp sự cố khi làm mới mã thông báo truy cập vì nó có thể làm gián đoạn một cách bất ngờ

# phiên VPN của người dùng.

default['firezone']['authentication']['disable_vpn_on_oidc_error'] = false

 

default['firezone']['authentication']['oidc'] = {

  Google: {

    Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,

    client_id: “ ”,

    client_secret: “ ”,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/”,

    response_type: “mã”,

    phạm vi: "hồ sơ email mở",

    nhãn: “Google”

  },

  được rồi: {

    khám phá_document_uri: “https:// /.well-known/openid-configuration”,

    client_id: “ ”,

    client_secret: “ ”,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: “mã”,

    phạm vi: "hồ sơ email mở offline_access",

    nhãn: “Okta”

  }

}



Cần có các cài đặt cấu hình sau để tích hợp:

  1. khám phá_document_uri: Các URI cấu hình nhà cung cấp OpenID Connect trả về một tài liệu JSON được sử dụng để xây dựng các yêu cầu tiếp theo tới nhà cung cấp OIDC này.
  2. client_id: ID ứng dụng khách của ứng dụng.
  3. client_secret: Bí mật ứng dụng khách của ứng dụng.
  4. redirect_uri: Hướng dẫn nhà cung cấp OIDC nơi chuyển hướng sau khi xác thực. Đây phải là Firezone của bạn EXTERNAL_URL + /auth/oidc/ /callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Đặt thành mã.
  6. phạm vi: phạm vi OIDC để lấy từ nhà cung cấp OIDC của bạn. Điều này nên được đặt thành hồ sơ email openid hoặc hồ sơ email openid offline_access tùy thuộc vào nhà cung cấp.
  7. nhãn: Văn bản nhãn nút hiển thị trên màn hình đăng nhập Firezone của bạn.

URL đẹp

Đối với mỗi nhà cung cấp OIDC, một URL đẹp mắt tương ứng được tạo để chuyển hướng đến URL đăng nhập của nhà cung cấp đã định cấu hình. Đối với cấu hình OIDC ví dụ ở trên, các URL là:

  • https://instance-id.yourfirezone.com/auth/oidc/google
  • https://instance-id.yourfirezone.com/auth/oidc/okta

Hướng dẫn thiết lập Firezone với các nhà cung cấp nhận dạng phổ biến

Các nhà cung cấp mà chúng tôi có tài liệu về:

  • Google
  • Okta
  • Azure Active Directory
  • đăng nhập
  • Xác thực cục bộ

 

Nếu nhà cung cấp danh tính của bạn có trình kết nối OIDC chung và không được liệt kê ở trên, vui lòng truy cập tài liệu của họ để biết thông tin về cách truy xuất cài đặt cấu hình cần thiết.

Duy trì xác thực lại thường xuyên

Có thể thay đổi cài đặt trong cài đặt/bảo mật để yêu cầu xác thực lại định kỳ. Điều này có thể được sử dụng để thực thi yêu cầu người dùng nhập vào Firezone một cách thường xuyên để tiếp tục phiên VPN của họ.

Thời lượng phiên có thể được định cấu hình trong khoảng từ một giờ đến chín mươi ngày. Bằng cách đặt tùy chọn này thành Không bao giờ, bạn có thể bật các phiên VPN bất kỳ lúc nào. Đây là tiêu chuẩn.

xác thực lại

Người dùng phải chấm dứt phiên VPN của họ và đăng nhập vào cổng Firezone để xác thực lại phiên VPN đã hết hạn (URL được chỉ định trong quá trình triển khai).

Bạn có thể xác thực lại phiên của mình bằng cách làm theo các hướng dẫn chính xác dành cho khách hàng được tìm thấy tại đây.

 

Trạng thái kết nối VPN

Cột bảng Kết nối VPN của trang Người dùng hiển thị trạng thái kết nối của người dùng. Đây là các trạng thái kết nối:

ĐÃ BẬT – Kết nối đã được bật.

ĐÃ TẮT – Kết nối bị vô hiệu hóa bởi quản trị viên hoặc lỗi làm mới OIDC.

HẾT HẠN – Kết nối bị vô hiệu hóa do hết hạn xác thực hoặc người dùng chưa đăng nhập lần đầu.

Google

Thông qua trình kết nối OIDC chung, Firezone cho phép đăng nhập một lần (SSO) với Google Workspace và Cloud Identity. Hướng dẫn này sẽ chỉ cho bạn cách lấy các tham số cấu hình được liệt kê bên dưới, cần thiết cho việc tích hợp:

  1. khám phá_document_uri: Các URI cấu hình nhà cung cấp OpenID Connect trả về một tài liệu JSON được sử dụng để xây dựng các yêu cầu tiếp theo tới nhà cung cấp OIDC này.
  2. client_id: ID ứng dụng khách của ứng dụng.
  3. client_secret: Bí mật ứng dụng khách của ứng dụng.
  4. redirect_uri: Hướng dẫn nhà cung cấp OIDC nơi chuyển hướng sau khi xác thực. Đây phải là Firezone của bạn EXTERNAL_URL + /auth/oidc/ /callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Đặt thành mã.
  6. phạm vi: phạm vi OIDC để lấy từ nhà cung cấp OIDC của bạn. Điều này phải được đặt thành hồ sơ email openid để cung cấp cho Firezone email của người dùng trong các yêu cầu trả lại.
  7. nhãn: Văn bản nhãn nút hiển thị trên màn hình đăng nhập Firezone của bạn.

Nhận Cài đặt Cấu hình

1. Màn hình cấu hình OAuthâ € <

Nếu đây là lần đầu tiên bạn tạo ID ứng dụng khách OAuth mới, thì bạn sẽ được yêu cầu định cấu hình màn hình đồng ý.

*Chọn Nội bộ cho loại người dùng. Điều này đảm bảo chỉ những tài khoản thuộc về người dùng trong Tổ chức Google Workspace của bạn mới có thể tạo cấu hình thiết bị. KHÔNG chọn Bên ngoài trừ khi bạn muốn cho phép bất kỳ ai có Tài khoản Google hợp lệ tạo cấu hình thiết bị.

 

Trên màn hình thông tin Ứng dụng:

  1. Tên ứng dụng: Firezone
  2. Biểu tượng ứng dụng: biểu tượng vùng lửa (lưu liên kết như).
  3. Trang chủ ứng dụng: URL của phiên bản Firezone của bạn.
  4. Miền được ủy quyền: miền cấp cao nhất của phiên bản Firezone của bạn.

 

 

2. Tạo ID ứng dụng khách OAuthâ € <

Phần này dựa trên tài liệu riêng của Google về thiết lập OAuth 2.0.

Truy cập Google Cloud Console trang thông tin xác thực trang, nhấp vào + Tạo thông tin xác thực và chọn ID ứng dụng khách OAuth.

Trên màn hình tạo ID máy khách OAuth:

  1. Đặt Loại ứng dụng thành ứng dụng Web
  2. Thêm Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/google/callback/) làm mục nhập URI chuyển hướng được ủy quyền.

 

Sau khi tạo ID ứng dụng khách OAuth, bạn sẽ được cung cấp ID ứng dụng khách và Bí mật ứng dụng khách. Chúng sẽ được sử dụng cùng với URI chuyển hướng trong bước tiếp theo.

Tích hợp Firezone

Chỉnh sửa /etc/firezone/firezone.rb để bao gồm các tùy chọn dưới đây:

 

# Sử dụng Google làm nhà cung cấp danh tính SSO

default['firezone']['authentication']['oidc'] = {

  Google: {

    Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,

    client_id: “ ”,

    client_secret: “ ”,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/”,

    response_type: “mã”,

    phạm vi: "hồ sơ email mở",

    nhãn: “Google”

  }

}

 

Chạy firezone-ctl reconfigure và firezone-ctl restart để cập nhật ứng dụng. Bây giờ, bạn sẽ thấy nút Đăng nhập bằng Google tại URL gốc của Firezone.

Okta

Firezone sử dụng trình kết nối OIDC chung để hỗ trợ Đăng nhập một lần (SSO) với Okta. Hướng dẫn này sẽ chỉ cho bạn cách lấy các tham số cấu hình được liệt kê bên dưới, cần thiết cho việc tích hợp:

  1. khám phá_document_uri: Các URI cấu hình nhà cung cấp OpenID Connect trả về một tài liệu JSON được sử dụng để xây dựng các yêu cầu tiếp theo tới nhà cung cấp OIDC này.
  2. client_id: ID ứng dụng khách của ứng dụng.
  3. client_secret: Bí mật ứng dụng khách của ứng dụng.
  4. redirect_uri: Hướng dẫn nhà cung cấp OIDC nơi chuyển hướng sau khi xác thực. Đây phải là Firezone của bạn EXTERNAL_URL + /auth/oidc/ /callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Đặt thành mã.
  6. phạm vi: phạm vi OIDC để lấy từ nhà cung cấp OIDC của bạn. Điều này phải được đặt thành hồ sơ email openid offline_access để cung cấp cho Firezone email của người dùng trong các xác nhận quyền sở hữu được trả lại.
  7. nhãn: Văn bản nhãn nút hiển thị trên màn hình đăng nhập Firezone của bạn.

 

Tích hợp ứng dụng Okta

Phần hướng dẫn này dựa trên Tài liệu của Okta.

Trong Bảng điều khiển dành cho quản trị viên, đi tới Ứng dụng > Ứng dụng và nhấp vào Tạo tích hợp ứng dụng. Đặt phương thức Đăng nhập thành OICD – Kết nối OpenID và loại Ứng dụng thành ứng dụng Web.

Định cấu hình các cài đặt này:

  1. Tên ứng dụng: Firezone
  2. Biểu tượng ứng dụng: biểu tượng vùng lửa (lưu liên kết như).
  3. Loại cấp: Chọn hộp Làm mới mã thông báo. Điều này đảm bảo Firezone đồng bộ hóa với nhà cung cấp danh tính và quyền truy cập VPN bị chấm dứt sau khi người dùng bị xóa.
  4. URI chuyển hướng đăng nhập: Thêm Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) làm mục nhập cho URI chuyển hướng được ủy quyền .
  5. Bài tập: Giới hạn các nhóm bạn muốn cấp quyền truy cập vào phiên bản Firezone của mình.

Sau khi cài đặt được lưu, bạn sẽ được cung cấp ID khách hàng, Bí mật khách hàng và Miền Okta. 3 giá trị này sẽ được sử dụng trong Bước 2 để định cấu hình Firezone.

Tích hợp Firezone

Chỉnh sửa /etc/firezone/firezone.rb để bao gồm các tùy chọn bên dưới. Của bạn khám phá_tài liệu_url sẽ được /.well-known/openid-configuration nối vào cuối của bạn okta_domain.

 

# Sử dụng Okta làm nhà cung cấp danh tính SSO

default['firezone']['authentication']['oidc'] = {

  được rồi: {

    khám phá_document_uri: “https:// /.well-known/openid-configuration”,

    client_id: “ ”,

    client_secret: “ ”,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: “mã”,

    phạm vi: "hồ sơ email mở offline_access",

    nhãn: “Okta”

  }

}

 

Chạy firezone-ctl reconfigure và firezone-ctl restart để cập nhật ứng dụng. Bây giờ bạn sẽ thấy nút Đăng nhập bằng Okta tại URL gốc của Firezone.

 

Hạn chế quyền truy cập đối với một số người dùng nhất định

Người dùng có thể truy cập ứng dụng Firezone có thể bị hạn chế bởi Okta. Truy cập trang Bài tập của Tích hợp ứng dụng Firezone trên Bảng điều khiển dành cho quản trị viên Okta của bạn để thực hiện việc này.

Azure Active Directory

Thông qua trình kết nối OIDC chung, Firezone cho phép Đăng nhập một lần (SSO) với Azure Active Directory. Hướng dẫn này sẽ chỉ cho bạn cách lấy các tham số cấu hình được liệt kê bên dưới, cần thiết cho việc tích hợp:

  1. khám phá_document_uri: Các URI cấu hình nhà cung cấp OpenID Connect trả về một tài liệu JSON được sử dụng để xây dựng các yêu cầu tiếp theo tới nhà cung cấp OIDC này.
  2. client_id: ID ứng dụng khách của ứng dụng.
  3. client_secret: Bí mật ứng dụng khách của ứng dụng.
  4. redirect_uri: Hướng dẫn nhà cung cấp OIDC nơi chuyển hướng sau khi xác thực. Đây phải là Firezone của bạn EXTERNAL_URL + /auth/oidc/ /callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Đặt thành mã.
  6. phạm vi: phạm vi OIDC để lấy từ nhà cung cấp OIDC của bạn. Điều này phải được đặt thành hồ sơ email openid offline_access để cung cấp cho Firezone email của người dùng trong các xác nhận quyền sở hữu được trả lại.
  7. nhãn: Văn bản nhãn nút hiển thị trên màn hình đăng nhập Firezone của bạn.

Nhận cài đặt cấu hình

Hướng dẫn này được rút ra từ Tài liệu Azure Active Directory.

 

Truy cập trang Azure Active Directory của cổng thông tin Azure. Chọn tùy chọn menu Quản lý, chọn Đăng ký mới, sau đó đăng ký bằng cách cung cấp thông tin bên dưới:

  1. Tên: Firezone
  2. Các loại tài khoản được hỗ trợ: (Chỉ Thư mục mặc định – Đối tượng thuê đơn)
  3. URI chuyển hướng: Đây phải là firezone của bạn EXTERNAL_URL + /auth/oidc/azure/callback/ (ví dụ: https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Hãy chắc chắn rằng bạn bao gồm dấu gạch chéo. Đây sẽ là giá trị redirect_uri.

 

Sau khi đăng ký, hãy mở giao diện chi tiết của ứng dụng và sao chép ID ứng dụng (khách hàng). Đây sẽ là giá trị client_id. Tiếp theo, mở menu điểm cuối để truy xuất Tài liệu siêu dữ liệu OpenID Connect. Đây sẽ là giá trị của Discovery_document_uri.

 

Tạo bí mật khách hàng mới bằng cách nhấp vào tùy chọn Chứng chỉ & bí mật trong menu Quản lý. Sao chép bí mật khách hàng; giá trị bí mật của khách hàng sẽ là giá trị này.

 

Cuối cùng, chọn liên kết quyền API trong menu Quản lý, nhấp vào Thêm một quyền, Và chọn Đồ thị Microsoft, thêm vào e-mail, mở, ngoại tuyến_accessHồ sơ đến các quyền cần thiết.

Tích hợp Firezone

Chỉnh sửa /etc/firezone/firezone.rb để bao gồm các tùy chọn dưới đây:

 

# Sử dụng Azure Active Directory làm nhà cung cấp danh tính SSO

default['firezone']['authentication']['oidc'] = {

  xanh lam: {

    Discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration”,

    client_id: “ ”,

    client_secret: “ ”,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/azure/callback/”,

    response_type: “mã”,

    phạm vi: "hồ sơ email mở offline_access",

    nhãn: “Azure”

  }

}

 

Chạy firezone-ctl reconfigure và firezone-ctl restart để cập nhật ứng dụng. Bây giờ, bạn sẽ thấy nút Đăng nhập bằng Azure tại URL gốc của Firezone.

Cách thực hiện: Hạn chế quyền truy cập đối với một số thành viên

Azure AD cho phép quản trị viên giới hạn quyền truy cập ứng dụng vào một nhóm người dùng cụ thể trong công ty của bạn. Bạn có thể tìm thêm thông tin về cách thực hiện việc này trong tài liệu của Microsoft.

Quản trị

  • Thiết lập
  • Quản lý cài đặt
  • Upgrade
  • Khắc phục sự cố
  • Cân nhắc về Bảo mật
  • Chạy truy vấn SQL

Thiết lập

Chef Omnibus được Firezone sử dụng để quản lý các tác vụ bao gồm đóng gói phát hành, giám sát quy trình, quản lý nhật ký, v.v.

Mã Ruby tạo nên tệp cấu hình chính, được đặt tại /etc/firezone/firezone.rb. Khởi động lại sudo firezone-ctl reconfigure sau khi sửa đổi tệp này sẽ khiến Chef nhận ra các thay đổi và áp dụng chúng cho hệ điều hành hiện tại.

Xem tham chiếu tệp cấu hình để biết danh sách đầy đủ các biến cấu hình và mô tả của chúng.

Quản lý cài đặt

Phiên bản Firezone của bạn có thể được quản lý thông qua firezone-ctl lệnh, như hình dưới đây. Hầu hết các tiểu ban yêu cầu tiền tố với sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: lệnh (lệnh phụ)

Lệnh chung:

  làm sạch

    Xóa *tất cả* dữ liệu firezone và bắt đầu lại từ đầu.

  tạo-hoặc-đặt lại-admin

    Đặt lại mật khẩu cho quản trị viên bằng email được chỉ định theo mặc định['firezone']['admin_email'] hoặc tạo quản trị viên mới nếu email đó không tồn tại.

  giúp đỡ

    In thông báo trợ giúp này.

  cấu hình lại

    Cấu hình lại ứng dụng.

  thiết lập lại mạng

    Đặt lại nftables, giao diện WireGuard và bảng định tuyến về mặc định của Firezone.

  hiển thị cấu hình

    Hiển thị cấu hình sẽ được tạo bằng cách cấu hình lại.

  mạng xé

    Xóa giao diện WireGuard và bảng nftables firezone.

  buộc-chứng nhận-gia hạn

    Buộc gia hạn chứng chỉ ngay bây giờ ngay cả khi nó chưa hết hạn.

  dừng-chứng chỉ-gia hạn

    Loại bỏ cronjob gia hạn chứng chỉ.

  gỡ bỏ cài đặt

    Giết tất cả các quy trình và gỡ cài đặt trình giám sát quy trình (dữ liệu sẽ được giữ nguyên).

  phiên bản

    Hiển thị phiên bản hiện tại của Firezone

Các lệnh quản lý dịch vụ:

  duyên dáng-giết

    Cố gắng dừng nhẹ nhàng, sau đó SIGKILL toàn bộ nhóm quy trình.

  húp

    Gửi các dịch vụ một HUP.

  int

    Gửi các dịch vụ một INT.

  giết

    Gửi các dịch vụ một KILL.

  hàng loạt

    Bắt đầu các dịch vụ nếu chúng ngừng hoạt động. Không khởi động lại chúng nếu chúng dừng lại.

  khởi động lại

    Dừng các dịch vụ nếu chúng đang chạy, sau đó khởi động lại chúng.

  danh sách dịch vụ

    Liệt kê tất cả các dịch vụ (các dịch vụ được kích hoạt xuất hiện với dấu *.)

  Bắt đầu

    Bắt đầu dịch vụ nếu chúng ngừng hoạt động và khởi động lại chúng nếu chúng dừng.

  tình trạng

    Hiển thị trạng thái của tất cả các dịch vụ.

  dừng lại

    Dừng các dịch vụ và không khởi động lại chúng.

  đuôi

    Xem nhật ký dịch vụ của tất cả các dịch vụ đã bật.

  kỳ hạn

    Gửi các dịch vụ một HẠN.

  usr1

    Gửi các dịch vụ một USR1.

  usr2

    Gửi các dịch vụ một USR2.

Upgrade

Tất cả các phiên VPN phải được kết thúc trước khi nâng cấp Firezone, điều này cũng yêu cầu tắt giao diện người dùng web. Trong trường hợp xảy ra sự cố trong quá trình nâng cấp, chúng tôi khuyên bạn nên dành một giờ để bảo trì.

 

Để tăng cường Firezone, hãy thực hiện các thao tác sau:

  1. Nâng cấp gói firezone bằng cài đặt một lệnh: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Chạy firezone-ctl reconfigure để nhận các thay đổi mới.
  3. Chạy firezone-ctl restart để khởi động lại dịch vụ.

Nếu có bất kỳ vấn đề phát sinh, xin vui lòng cho chúng tôi biết bằng cách gửi một vé hỗ trợ.

Nâng cấp từ <0.5.0 lên >=0.5.0

Có một số thay đổi vi phạm và sửa đổi cấu hình trong 0.5.0 phải được giải quyết. Tìm hiểu thêm dưới đây.

Đã xóa các yêu cầu Nginx non_ssl_port (HTTP) đi kèm

Nginx không còn hỗ trợ các tham số cổng SSL và không SSL bắt buộc kể từ phiên bản 0.5.0. Vì Firezone cần SSL để hoạt động, nên chúng tôi khuyên bạn nên xóa gói dịch vụ Nginx bằng cách đặt default['firezone']['nginx']['enabled'] = false và thay vào đó, hướng proxy ngược của bạn tới ứng dụng Phoenix trên cổng 13000 (theo mặc định ).

Hỗ trợ giao thức ACME

0.5.0 giới thiệu hỗ trợ giao thức ACME để tự động gia hạn chứng chỉ SSL với dịch vụ Nginx đi kèm. Để kích hoạt,

  • Đảm bảo default['firezone']['external_url'] chứa FQDN hợp lệ phân giải thành địa chỉ IP công cộng của máy chủ của bạn.
  • Đảm bảo có thể truy cập cổng 80/tcp
  • Bật hỗ trợ giao thức ACME với default['firezone']['ssl']['acme']['enabled'] = true trong tệp cấu hình của bạn.

Điểm đến quy tắc đầu ra chồng chéo

Khả năng thêm quy tắc với các đích trùng lặp đã biến mất trong Firezone 0.5.0. Tập lệnh di chuyển của chúng tôi sẽ tự động nhận dạng các tình huống này trong quá trình nâng cấp lên 0.5.0 và chỉ giữ lại các quy tắc có đích bao gồm quy tắc khác. Bạn không cần phải làm gì nếu điều này ổn.

Mặt khác, trước khi nâng cấp, chúng tôi khuyên bạn nên thay đổi bộ quy tắc của mình để loại bỏ những tình huống này.

Định cấu hình trước Okta và Google SSO

Firezone 0.5.0 loại bỏ hỗ trợ cho cấu hình Okta và Google SSO kiểu cũ để chuyển sang cấu hình dựa trên OIDC mới, linh hoạt hơn. 

Nếu bạn có bất kỳ cấu hình nào trong các phím default['firezone']['authentication']['okta'] hoặc default['firezone']['authentication']['google'], bạn cần di chuyển các cấu hình này sang OIDC của chúng tôi cấu hình dựa trên sử dụng hướng dẫn bên dưới.

Cấu hình Google OAuth hiện tại

Xóa các dòng chứa cấu hình Google OAuth cũ này khỏi tệp cấu hình của bạn tại /etc/firezone/firezone.rb

 

default['firezone']['authentication']['google']['enabled']

default['firezone']['authentication']['google']['client_id']

default['firezone']['authentication']['google']['client_secret']

default['firezone']['authentication']['google']['redirect_uri']

 

Sau đó, định cấu hình Google làm nhà cung cấp OIDC bằng cách thực hiện theo các quy trình tại đây.

(Cung cấp hướng dẫn liên kết)<<<<<<<<<<<<<<<<

 

Định cấu hình Google OAuth hiện tại 

Xóa các dòng này chứa các cấu hình Okta OAuth cũ khỏi tệp cấu hình của bạn tại /etc/firezone/firezone.rb

 

default['firezone']['authentication']['okta']['enabled']

default['firezone']['authentication']['okta']['client_id']

default['firezone']['authentication']['okta']['client_secret']

Mặc định['firezone']['authentication']['okta']['site']

 

Sau đó, định cấu hình Okta làm nhà cung cấp OIDC bằng cách làm theo các quy trình tại đây.

Nâng cấp từ 0.3.x lên >= 0.3.16

Tùy thuộc vào thiết lập và phiên bản hiện tại của bạn, hãy tuân thủ các hướng dẫn bên dưới:

Nếu bạn đã có tích hợp OIDC:

Đối với một số nhà cung cấp OIDC, việc nâng cấp lên >= 0.3.16 bắt buộc phải có mã thông báo làm mới cho phạm vi truy cập ngoại tuyến. Bằng cách này, đảm bảo rằng Firezone cập nhật với nhà cung cấp danh tính và kết nối VPN bị tắt sau khi người dùng bị xóa. Các lần lặp lại trước đó của Firezone thiếu tính năng này. Trong một số trường hợp, người dùng đã bị xóa khỏi nhà cung cấp danh tính của bạn vẫn có thể được kết nối với VPN.

Cần bao gồm quyền truy cập ngoại tuyến trong tham số phạm vi cấu hình OIDC của bạn cho các nhà cung cấp OIDC hỗ trợ phạm vi truy cập ngoại tuyến. Cấu hình lại Firezone-ctl phải được thực thi để áp dụng các thay đổi đối với tệp cấu hình Firezone, được đặt tại /etc/firezone/firezone.rb.

Đối với những người dùng đã được nhà cung cấp OIDC của bạn xác thực, bạn sẽ thấy tiêu đề Kết nối OIDC trong trang chi tiết người dùng của giao diện người dùng web nếu Firezone có thể truy xuất thành công mã thông báo làm mới.

Nếu cách này không hiệu quả, bạn sẽ cần xóa ứng dụng OAuth hiện tại của mình và lặp lại các bước thiết lập OIDC để tạo tích hợp ứng dụng mới .

Tôi hiện có tích hợp OAuth

Trước 0.3.11, Firezone đã sử dụng các nhà cung cấp OAuth2 được định cấu hình sẵn. 

Làm theo chỉ dẫn tại đây để di chuyển đến OIDC.

Tôi chưa tích hợp nhà cung cấp danh tính

Không cần làm gì cả. 

Bạn có thể làm theo hướng dẫn tại đây để bật SSO thông qua nhà cung cấp OIDC.

Nâng cấp từ 0.3.1 lên >= 0.3.2

Thay vào đó, default['firezone']['external url'] đã thay thế tùy chọn cấu hình default['firezone']['fqdn']. 

Đặt cái này thành URL của cổng thông tin trực tuyến Firezone của bạn mà công chúng có thể truy cập được. Nó sẽ mặc định là https:// cộng với FQDN của máy chủ của bạn nếu không được xác định.

Tệp cấu hình được đặt tại /etc/firezone/firezone.rb. Xem tham chiếu tệp cấu hình để biết danh sách đầy đủ các biến cấu hình và mô tả của chúng.

Nâng cấp từ 0.2.x lên 0.3.x

Firezone không còn giữ khóa riêng của thiết bị trên máy chủ Firezone kể từ phiên bản 0.3.0. 

Giao diện người dùng web Firezone sẽ không cho phép bạn tải xuống lại hoặc xem các cấu hình này, nhưng mọi thiết bị hiện có sẽ tiếp tục hoạt động như hiện trạng.

Nâng cấp từ 0.1.x lên 0.2.x

Nếu bạn đang nâng cấp từ Firezone 0.1.x, thì có một số thay đổi đối với tệp cấu hình phải được xử lý theo cách thủ công. 

Để thực hiện các sửa đổi cần thiết đối với tệp /etc/firezone/firezone.rb của bạn, hãy chạy các lệnh bên dưới với quyền root.

 

cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak

sed -i “s/\['enable'\]/\['enabled'\]/” /etc/firezone/firezone.rb

echo “default['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb

echo “default['firezone']['connectivity_checks']['interval'] = 3_600” >> /etc/firezone/firezone.rb

cấu hình lại firezone-ctl

firezone-ctl khởi động lại

Xử lý sự cố

Kiểm tra nhật ký Firezone là bước đầu tiên khôn ngoan đối với bất kỳ sự cố nào có thể xảy ra.

Chạy sudo firezone-ctl tail để xem nhật ký Firezone.

Gỡ lỗi các vấn đề về kết nối

Phần lớn các sự cố kết nối với Firezone là do các quy tắc iptables hoặc nftables không tương thích. Bạn phải đảm bảo rằng bất kỳ quy tắc nào bạn có hiệu lực không xung đột với các quy tắc của Firezone.

Kết nối Internet giảm khi Đường hầm đang hoạt động

Đảm bảo chuỗi FORWARD cho phép các gói từ ứng dụng khách WireGuard của bạn đến các vị trí bạn muốn cho phép đi qua Firezone nếu kết nối Internet của bạn xuống cấp mỗi khi bạn kích hoạt đường hầm WireGuard của mình.

 

Điều này có thể đạt được nếu bạn đang sử dụng ufw bằng cách đảm bảo rằng chính sách định tuyến mặc định được cho phép:

 

ubuntu@fz:~$ sudo ufw mặc định cho phép định tuyến

Chính sách định tuyến mặc định đã thay đổi thành 'cho phép'

(hãy chắc chắn cập nhật các quy tắc của bạn cho phù hợp)

 

A trạng thái cho một máy chủ Firezone điển hình có thể trông như thế này:

 

ubuntu@fz:~$ Sudo ufw status dài dòng

Trạng thái: Đang hoạt động

Ghi nhật ký: bật (thấp)

Mặc định: từ chối (đến), cho phép (đi), cho phép (được định tuyến)

Hồ sơ mới: bỏ qua

 

Đến hành động từ

— —— —-

22/tcp CHO PHÉP Ở mọi nơi

80/tcp CHO PHÉP Ở mọi nơi

443/tcp CHO PHÉP Ở mọi nơi

51820/udp CHO PHÉP Ở Mọi Nơi

22/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)

80/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)

443/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)

51820/udp (v6) CHO PHÉP Ở Mọi Nơi (v6)

Cân nhắc về Bảo mật

Chúng tôi khuyên bạn nên giới hạn quyền truy cập vào giao diện web đối với các hoạt động triển khai sản xuất cực kỳ nhạy cảm và quan trọng, như được giải thích bên dưới.

Dịch vụ & Cảng

 

Dịch vụ

Cổng mặc định

nghe địa chỉ

Mô tả

Nginx

80, 443

tất cả các

Cổng HTTP(S) công khai để quản trị Firezone và hỗ trợ xác thực.

Dây bảo vệ

51820

tất cả các

Cổng WireGuard công khai được sử dụng cho các phiên VPN. (UDP)

postgresql

15432

127.0.0.1

Cổng chỉ cục bộ được sử dụng cho máy chủ Postgresql đi kèm.

Phoenix

13000

127.0.0.1

Cổng chỉ cục bộ được sử dụng bởi máy chủ ứng dụng tiên dược ngược dòng.

Triển khai sản xuất

Chúng tôi khuyên bạn nên suy nghĩ về việc hạn chế quyền truy cập vào giao diện người dùng web được hiển thị công khai của Firezone (theo mặc định là cổng 443/tcp và 80/tcp) và thay vào đó, hãy sử dụng đường hầm WireGuard để quản lý Firezone cho các triển khai sản xuất và công khai nơi một quản trị viên duy nhất sẽ chịu trách nhiệm tạo và phân phối cấu hình thiết bị cho người dùng cuối.

 

Chẳng hạn, nếu quản trị viên đã tạo cấu hình thiết bị và tạo đường hầm với địa chỉ WireGuard cục bộ 10.3.2.2, thì cấu hình ufw sau đây sẽ cho phép quản trị viên truy cập giao diện người dùng web Firezone trên giao diện wg-firezone của máy chủ bằng cách sử dụng 10.3.2.1 mặc định địa chỉ đường hầm:

 

root@demo:~# ufw trạng thái dài dòng

Trạng thái: Đang hoạt động

Ghi nhật ký: bật (thấp)

Mặc định: từ chối (đến), cho phép (đi), cho phép (được định tuyến)

Hồ sơ mới: bỏ qua

 

Đến hành động từ

— —— —-

22/tcp CHO PHÉP Ở mọi nơi

51820/udp CHO PHÉP Ở Mọi Nơi

Ở mọi nơi CHO PHÉP TRONG 10.3.2.2

22/tcp (v6) CHO PHÉP Ở Mọi Nơi (v6)

51820/udp (v6) CHO PHÉP Ở Mọi Nơi (v6)

Điều này sẽ chỉ để lại 22 / tcp được hiển thị để truy cập SSH để quản lý máy chủ (tùy chọn) và 51820 / udp tiếp xúc để thiết lập đường hầm WireGuard.

Chạy truy vấn SQL

Firezone gói một máy chủ Postgresql và phù hợp psql tiện ích có thể được sử dụng từ trình bao cục bộ như sau:

 

/opt/firezone/embedded/bin/psql \

  -U vùng lửa \

  -d vùng lửa \

  -h máy chủ cục bộ \

  -p 15432 \

  -c “SQL_STATEMENT”

 

Điều này có thể hữu ích cho mục đích gỡ lỗi.

 

Nhiệm vụ chung:

 

  • Liệt kê tất cả người dùng
  • Liệt kê tất cả các thiết bị
  • Thay đổi vai trò của người dùng
  • Sao lưu cơ sở dữ liệu



Liệt kê tất cả người dùng:

 

/opt/firezone/embedded/bin/psql \

  -U vùng lửa \

  -d vùng lửa \

  -h máy chủ cục bộ \

  -p 15432 \

  -c “CHỌN * TỪ người dùng;”



Liệt kê tất cả các thiết bị:

 

/opt/firezone/embedded/bin/psql \

  -U vùng lửa \

  -d vùng lửa \

  -h máy chủ cục bộ \

  -p 15432 \

  -c “CHỌN * TỪ thiết bị;”



Thay đổi vai trò người dùng:

 

Đặt vai trò thành 'quản trị viên' hoặc 'không có đặc quyền':

 

/opt/firezone/embedded/bin/psql \

  -U vùng lửa \

  -d vùng lửa \

  -h máy chủ cục bộ \

  -p 15432 \

  -c “CẬP NHẬT người dùng SET role = 'admin' WHERE email = 'user@example.com';”



Sao lưu cơ sở dữ liệu:

 

Hơn nữa, đi kèm là chương trình kết xuất pg, có thể được sử dụng để sao lưu cơ sở dữ liệu thường xuyên. Thực thi đoạn mã sau để kết xuất một bản sao của cơ sở dữ liệu ở định dạng truy vấn SQL phổ biến (thay thế /path/to/backup.sql bằng vị trí tạo tệp SQL):

 

/opt/firezone/embedded/bin/pg_dump \

  -U vùng lửa \

  -d vùng lửa \

  -h máy chủ cục bộ \

  -p 15432 > /path/to/backup.sql

Hướng dẫn sử dụng

  • Thêm người dùng
  • Thêm thiết bị
  • quy tắc đi ra
  • hướng dẫn khách hàng
  • Chia đường hầm VPN
  • đường hầm ngược 
  • Cổng NAT

Thêm người dùng

Sau khi Firezone được triển khai thành công, bạn phải thêm người dùng để cung cấp cho họ quyền truy cập vào mạng của bạn. Giao diện người dùng Web được sử dụng để thực hiện việc này.

 

Giao diện người dùng web


Bằng cách chọn nút “Thêm người dùng” bên dưới /users, bạn có thể thêm người dùng. Bạn sẽ được yêu cầu cung cấp cho người dùng địa chỉ email và mật khẩu. Để tự động cho phép người dùng trong tổ chức của bạn truy cập, Firezone cũng có thể giao tiếp và đồng bộ hóa với nhà cung cấp danh tính. Thêm chi tiết có sẵn trong Xác thực. < Thêm liên kết để Xác thực

Thêm thiết bị

Chúng tôi khuyên bạn nên yêu cầu người dùng tạo cấu hình thiết bị của riêng họ để khóa riêng tư chỉ hiển thị với họ. Người dùng có thể tạo cấu hình thiết bị của riêng mình bằng cách làm theo hướng dẫn trên hướng dẫn khách hàng trang.

 

Tạo cấu hình thiết bị quản trị

Tất cả các cấu hình thiết bị người dùng có thể được tạo bởi quản trị viên Firezone. Trên trang hồ sơ người dùng tại /users, hãy chọn tùy chọn “Thêm thiết bị” để thực hiện việc này.

 

[Chèn ảnh chụp màn hình]

 

Bạn có thể gửi email cho người dùng tệp cấu hình WireGuard sau khi tạo cấu hình thiết bị.

 

Người dùng và thiết bị được liên kết. Để biết thêm chi tiết về cách thêm người dùng, hãy xem Thêm người dùng.

quy tắc đi ra

Thông qua việc sử dụng hệ thống lọc mạng của nhân, Firezone cho phép khả năng lọc đầu ra để chỉ định các gói DROP hoặc ACCEPT. Tất cả lưu lượng truy cập thường được cho phép.

 

Địa chỉ IP và CIDR IPv4 và IPv6 được hỗ trợ thông qua Danh sách cho phép và Danh sách từ chối tương ứng. Bạn có thể chọn phạm vi áp dụng quy tắc cho người dùng khi thêm quy tắc đó, áp dụng quy tắc cho tất cả các thiết bị của người dùng đó.

hướng dẫn khách hàng

Cài đặt và cấu hình

Để thiết lập kết nối VPN bằng ứng dụng khách WireGuard gốc, hãy tham khảo hướng dẫn này.

 

1. Cài đặt ứng dụng khách WireGuard gốc

 

Các ứng dụng khách WireGuard chính thức có tại đây tương thích với Firezone:

 

Dành cho MacOS

 

Windows

 

iOS

 

Android

 

Truy cập trang web chính thức của WireGuard tại https://www.wireguard.com/install/ cho các hệ điều hành không được đề cập ở trên.

 

2. Tải xuống tệp cấu hình thiết bị

 

Quản trị viên Firezone của bạn hoặc chính bạn có thể tạo tệp cấu hình thiết bị bằng cổng Firezone.

 

Truy cập URL mà quản trị viên Firezone của bạn đã cung cấp để tự tạo tệp cấu hình thiết bị. Công ty của bạn sẽ có một URL duy nhất cho việc này; trong trường hợp này, đó là https://instance-id.yourfirezone.com.

 

Đăng nhập vào Firezone Okta SSO

 

[Chèn ảnh chụp màn hình]

 

3. Thêm cấu hình máy khách

 

Nhập tệp .conf vào ứng dụng khách WireGuard bằng cách mở nó. Bằng cách gạt công tắc Kích hoạt, bạn có thể bắt đầu phiên VPN.

 

[Chèn ảnh chụp màn hình]

Xác thực lại phiên

Thực hiện theo các hướng dẫn bên dưới nếu quản trị viên mạng của bạn đã yêu cầu xác thực định kỳ để giữ cho kết nối VPN của bạn hoạt động. 



Bạn cần:

 

URL của cổng thông tin Firezone: Yêu cầu quản trị viên mạng của bạn cung cấp kết nối.

Quản trị viên mạng của bạn sẽ có thể cung cấp thông tin đăng nhập và mật khẩu của bạn. Trang web Firezone sẽ nhắc bạn đăng nhập bằng dịch vụ đăng nhập một lần mà chủ lao động của bạn sử dụng (chẳng hạn như Google hoặc Okta).

 

1. Tắt kết nối VPN

 

[Chèn ảnh chụp màn hình]

 

2. Xác thực lại 

Truy cập URL của cổng Firezone và đăng nhập bằng thông tin đăng nhập mà quản trị viên mạng của bạn đã cung cấp. Nếu bạn đã đăng nhập, hãy nhấp vào nút Xác thực lại trước khi đăng nhập lại.

 

[Chèn ảnh chụp màn hình]

 

Bước 3: Khởi chạy phiên VPN

[Chèn ảnh chụp màn hình]

Trình quản lý mạng cho Linux

Để nhập cấu hình cấu hình WireGuard bằng Trình quản lý mạng CLI trên thiết bị Linux, hãy làm theo các hướng dẫn sau (nmcli).

LƯU Ý

Nếu cấu hình đã bật hỗ trợ IPv6, cố gắng nhập tệp cấu hình bằng GUI của Trình quản lý mạng có thể không thành công với lỗi sau:

ipv6.method: phương thức “tự động” không được hỗ trợ cho WireGuard

1. Cài đặt Công cụ WireGuard 

Cần phải cài đặt các tiện ích không gian người dùng WireGuard. Đây sẽ là một gói có tên wireguard hoặc wireguard-tools dành cho các bản phân phối Linux.

Đối với Ubuntu / Debian:

sudo apt cài đặt wireguard

Để sử dụng Fedora:

sudo dnf cài đặt wireguard-tools

Arch Linux:

sudo pacman -S công cụ bảo vệ dây

Truy cập trang web chính thức của WireGuard tại https://www.wireguard.com/install/ để biết các bản phân phối không được đề cập ở trên.

2. Tải cấu hình 

Quản trị viên Firezone của bạn hoặc người tự tạo có thể tạo tệp cấu hình thiết bị bằng cổng Firezone.

Truy cập URL mà quản trị viên Firezone của bạn đã cung cấp để tự tạo tệp cấu hình thiết bị. Công ty của bạn sẽ có một URL duy nhất cho việc này; trong trường hợp này, đó là https://instance-id.yourfirezone.com.

[Chèn ảnh chụp màn hình]

3. Nhập cài đặt

Nhập tệp cấu hình được cung cấp bằng nmcli:

Sudo nmcli kết nối nhập loại tập tin bảo vệ dây /path/to/configuration.conf

LƯU Ý

Tên của tệp cấu hình sẽ tương ứng với kết nối/giao diện WireGuard. Sau khi nhập, kết nối có thể được đổi tên nếu cần:

kết nối nmcli sửa đổi [tên cũ] connection.id [tên mới]

4. Kết nối hoặc ngắt kết nối

Thông qua dòng lệnh, kết nối với VPN như sau:

kết nối nmcli lên [tên vpn]

Để ngắt kết nối:

kết nối nmcli ngừng hoạt động [tên vpn]

Ứng dụng Trình quản lý mạng hiện hành cũng có thể được sử dụng để quản lý kết nối nếu sử dụng GUI.

Kết nối tự động

Bằng cách chọn “có” cho tùy chọn tự động kết nối, kết nối VPN có thể được cấu hình để kết nối tự động:

 

kết nối nmcli sửa đổi kết nối [tên vpn]. <<<<<<<<<<<<<<<<<<<<<

 

tự động kết nối có

 

Để tắt kết nối tự động, hãy đặt lại thành không:

 

kết nối nmcli sửa đổi kết nối [tên vpn].

 

tự động kết nối không

Cung cấp xác thực đa yếu tố

Để kích hoạt MFA Truy cập trang /tài khoản người dùng/đăng ký mfa của cổng thông tin Firezone. Sử dụng ứng dụng xác thực của bạn để quét mã QR sau khi nó được tạo, sau đó nhập mã gồm sáu chữ số.

Liên hệ với Quản trị viên của bạn để đặt lại thông tin truy cập tài khoản của bạn nếu bạn đặt nhầm ứng dụng xác thực của mình.

Chia đường hầm VPN

Hướng dẫn này sẽ hướng dẫn bạn quy trình thiết lập tính năng tạo đường hầm phân chia của WireGuard với Firezone để chỉ lưu lượng truy cập đến các dải IP cụ thể được chuyển tiếp qua máy chủ VPN.

 

1. Định cấu hình IP được phép 

Phạm vi IP mà máy khách sẽ định tuyến lưu lượng truy cập mạng được đặt trong trường IP được phép nằm trên trang /settings/default. Chỉ những cấu hình đường hầm WireGuard mới được tạo bởi Firezone mới bị ảnh hưởng bởi những thay đổi đối với trường này.

 

[Chèn ảnh chụp màn hình]



Giá trị mặc định là 0.0.0.0/0, ::/0, định tuyến tất cả lưu lượng mạng từ máy khách đến máy chủ VPN.

 

Ví dụ về các giá trị trong trường này bao gồm:

 

0.0.0.0/0, ::/0 – tất cả lưu lượng mạng sẽ được định tuyến đến máy chủ VPN.

192.0.2.3/32 – chỉ lưu lượng truy cập đến một địa chỉ IP duy nhất sẽ được định tuyến đến máy chủ VPN.

3.5.140.0/22 ​​– chỉ lưu lượng truy cập tới các IP trong phạm vi 3.5.140.1 – 3.5.143.254 mới được định tuyến đến máy chủ VPN. Trong ví dụ này, phạm vi CIDR cho khu vực AWS ap-northeast-2 đã được sử dụng.



LƯU Ý

Firezone chọn giao diện đầu ra được liên kết với tuyến chính xác nhất trước tiên khi xác định vị trí định tuyến gói.

 

2. Tạo lại cấu hình WireGuard

Người dùng phải tạo lại các tệp cấu hình và thêm chúng vào ứng dụng khách WireGuard gốc của họ để cập nhật các thiết bị người dùng hiện có với cấu hình đường hầm phân chia mới.

 

Để được hướng dẫn, xem thêm thiết bị. <<<<<<<<<<< Thêm liên kết

đường hầm ngược

Hướng dẫn này sẽ trình bày cách liên kết hai thiết bị bằng Firezone làm rơle. Một trường hợp sử dụng điển hình là cho phép quản trị viên truy cập máy chủ, bộ chứa hoặc máy được bảo vệ bởi NAT hoặc tường lửa.

 

nút đến nút 

Hình minh họa này cho thấy một kịch bản đơn giản trong đó Thiết bị A và B xây dựng một đường hầm.

 

[Chèn hình ảnh kiến ​​trúc firezone]

 

Bắt đầu bằng cách tạo Thiết bị A và Thiết bị B bằng cách điều hướng đến /users/[user_id]/new_device. Trong phần cài đặt cho từng thiết bị, đảm bảo các thông số sau được đặt thành các giá trị được liệt kê bên dưới. Bạn có thể đặt cài đặt thiết bị khi tạo cấu hình thiết bị (xem Thêm thiết bị). Nếu cần cập nhật cài đặt trên thiết bị hiện có, bạn có thể thực hiện việc này bằng cách tạo cấu hình thiết bị mới.

 

Lưu ý rằng tất cả các thiết bị đều có trang /settings/defaults nơi có thể định cấu hình PersistentKeepalive.

 

Thiết bị A

 

Được phépIP = 10.3.2.2/32

  Đây là IP hoặc dải IP của Thiết bị B

Kiên trì Keepalive = 25

  Nếu thiết bị chạy sau NAT, điều này đảm bảo thiết bị có thể duy trì đường hầm và tiếp tục nhận các gói từ giao diện WireGuard. Thông thường, giá trị 25 là đủ, nhưng bạn có thể cần giảm giá trị này tùy thuộc vào môi trường của mình.



thiết bị B

 

Được phépIP = 10.3.2.3/32

Đây là IP hoặc dải IP của Thiết bị A

Kiên trì Keepalive = 25

Trường hợp quản trị - Một đến nhiều nút

Ví dụ này cho thấy tình huống trong đó Thiết bị A có thể giao tiếp với Thiết bị B đến D theo cả hai hướng. Thiết lập này có thể đại diện cho một kỹ sư hoặc quản trị viên truy cập nhiều tài nguyên (máy chủ, bộ chứa hoặc máy) trên nhiều mạng khác nhau.

 

[Sơ đồ kiến ​​trúc]<<<<<<<<<<<<<<<<<<<<<<

 

Đảm bảo các cài đặt sau được thực hiện trong cài đặt của từng thiết bị thành các giá trị tương ứng. Khi tạo cấu hình thiết bị, bạn có thể chỉ định cài đặt thiết bị (xem Thêm thiết bị). Có thể tạo cấu hình thiết bị mới nếu cần cập nhật cài đặt trên thiết bị hiện có.

 

Thiết bị A (Nút quản trị viên)

 

IP được phép = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Đây là IP của các thiết bị từ B đến D. IP của các thiết bị từ B đến D phải được bao gồm trong bất kỳ dải IP nào bạn chọn đặt.

Kiên trì Keepalive = 25 

    Điều này đảm bảo rằng thiết bị có thể duy trì đường hầm và tiếp tục nhận các gói từ giao diện WireGuard ngay cả khi nó được bảo vệ bởi NAT. Trong hầu hết các trường hợp, giá trị 25 là đủ, tuy nhiên, tùy thuộc vào môi trường xung quanh bạn, bạn có thể cần hạ thấp con số này.

 

Thiết bị B

 

  • AllowedIPs = 10.3.2.2/32: Đây là IP hoặc dải IP của Thiết bị A
  • Kiên trì Keepalive = 25

Thiết bị C

 

  • AllowedIPs = 10.3.2.2/32: Đây là IP hoặc dải IP của Thiết bị A
  • Kiên trì Keepalive = 25

Thiết bị D

 

  • AllowedIPs = 10.3.2.2/32: Đây là IP hoặc dải IP của Thiết bị A
  • Kiên trì Keepalive = 25

Cổng NAT

Để cung cấp một IP đầu ra tĩnh, duy nhất cho tất cả lưu lượng truy cập của nhóm bạn, Firezone có thể được sử dụng làm cổng NAT. Những tình huống này liên quan đến việc sử dụng thường xuyên của nó:

 

Cam kết tư vấn: Yêu cầu khách hàng của bạn đưa vào danh sách trắng một địa chỉ IP tĩnh duy nhất thay vì IP thiết bị duy nhất của mỗi nhân viên.

Sử dụng proxy hoặc che giấu IP nguồn của bạn vì mục đích bảo mật hoặc quyền riêng tư.

 

Một ví dụ đơn giản về việc giới hạn quyền truy cập vào một ứng dụng web tự lưu trữ đối với một IP tĩnh trong danh sách trắng chạy Firezone sẽ được trình bày trong bài đăng này. Trong hình minh họa này, Firezone và tài nguyên được bảo vệ nằm trong các khu vực VPC khác nhau.

 

Giải pháp này thường được sử dụng thay cho việc quản lý danh sách trắng IP cho nhiều người dùng cuối, điều này có thể tốn thời gian khi danh sách truy cập mở rộng.

Ví dụ AWS

Mục tiêu của chúng tôi là thiết lập máy chủ Firezone trên phiên bản EC2 để chuyển hướng lưu lượng VPN đến tài nguyên bị hạn chế. Trong trường hợp này, Firezone đang đóng vai trò là proxy mạng hoặc cổng NAT để cung cấp cho mỗi thiết bị được kết nối một IP đầu ra công khai duy nhất.

 

1. Cài đặt máy chủ Firezone

Trong trường hợp này, phiên bản EC2 có tên tc2.micro đã cài đặt phiên bản Firezone trên đó. Để biết thông tin về việc triển khai Firezone, hãy xem Hướng dẫn triển khai. Liên quan đến AWS, hãy đảm bảo:

 

Nhóm bảo mật của phiên bản Firezone EC2 cho phép lưu lượng truy cập đi đến địa chỉ IP của tài nguyên được bảo vệ.

Phiên bản Firezone đi kèm với một IP đàn hồi. Lưu lượng được chuyển tiếp qua phiên bản Firezone đến các điểm đến bên ngoài sẽ có địa chỉ IP này làm địa chỉ IP nguồn. Địa chỉ IP được đề cập là 52.202.88.54.

 

[Chèn ảnh chụp màn hình]<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Hạn chế quyền truy cập vào tài nguyên đang được bảo vệ

Ứng dụng web tự lưu trữ đóng vai trò là tài nguyên được bảo vệ trong trường hợp này. Chỉ có thể truy cập ứng dụng web bằng các yêu cầu đến từ địa chỉ IP 52.202.88.54. Tùy thuộc vào tài nguyên, có thể cần phải cho phép lưu lượng truy cập vào trên các cổng và loại lưu lượng khác nhau. Điều này không được đề cập trong sách hướng dẫn này.

 

[Chèn ảnh chụp màn hình]<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

Vui lòng thông báo cho bên thứ ba chịu trách nhiệm về tài nguyên được bảo vệ rằng phải cho phép lưu lượng truy cập từ IP tĩnh được xác định ở Bước 1 (trong trường hợp này là 52.202.88.54).

 

3. Sử dụng máy chủ VPN để hướng lưu lượng truy cập đến tài nguyên được bảo vệ

 

Theo mặc định, tất cả lưu lượng người dùng sẽ đi qua máy chủ VPN và đến từ IP tĩnh đã được định cấu hình ở Bước 1 (trong trường hợp này là 52.202.88.54). Tuy nhiên, nếu đường hầm phân chia đã được bật, có thể cần phải cài đặt để đảm bảo IP đích của tài nguyên được bảo vệ được liệt kê trong số các IP được phép.

Thêm văn bản tiêu đề của bạn ở đây

Hiển thị bên dưới là danh sách đầy đủ các tùy chọn cấu hình có sẵn trong /etc/firezone/firezone.rb.



tùy chọn

Mô tả

giá trị mặc định

mặc định['firezone']['external_url']

URL được sử dụng để truy cập cổng web của phiên bản Firezone này.

“https://#{node['fqdn'] || nút ['tên máy chủ']}”

mặc định['firezone']['config_directory']

Thư mục cấp cao nhất cho cấu hình Firezone.

/etc/firezone'

mặc định['firezone']['install_directory']

Thư mục cấp cao nhất để cài đặt Firezone.

/opt/firezone'

mặc định['firezone']['app_directory']

Thư mục cấp cao nhất để cài đặt ứng dụng web Firezone.

“#{node['firezone']['install_directory']}/embedded/service/firezone”

mặc định['firezone']['log_directory']

Thư mục cấp cao nhất cho nhật ký Firezone.

/var/log/firezone'

mặc định['firezone']['var_directory']

Thư mục cấp cao nhất cho các tệp thời gian chạy Firezone.

/var/opt/firezone'

mặc định['firezone']['người dùng']

Tên của người dùng Linux không có đặc quyền mà hầu hết các dịch vụ và tệp sẽ thuộc về.

khu lửa'

mặc định['firezone']['group']

Tên của nhóm Linux mà hầu hết các dịch vụ và tệp sẽ thuộc về.

khu lửa'

mặc định['firezone']['admin_email']

Địa chỉ email cho người dùng Firezone ban đầu.

“firezone@localhost”

mặc định['firezone']['max_devices_per_user']

Số lượng thiết bị tối đa mà một người dùng có thể có.

10

mặc định['firezone']['allow_unprivileged_device_man Quản lý']

Cho phép người dùng không phải quản trị viên tạo và xóa thiết bị.

TRUE

mặc định['firezone']['allow_unprivileged_device_configuration']

Cho phép người dùng không phải quản trị viên sửa đổi cấu hình thiết bị. Khi bị tắt, ngăn người dùng không có đặc quyền thay đổi tất cả các trường của thiết bị ngoại trừ tên và mô tả.

TRUE

mặc định['firezone']['egress_interface']

Tên giao diện nơi lưu lượng truy cập đường hầm sẽ thoát ra. Nếu không, giao diện định tuyến mặc định sẽ được sử dụng.

hư không

mặc định['firezone']['fips_enabled']

Bật hoặc tắt chế độ FIP OpenSSL.

hư không

default['firezone']['logging']['enabled']

Bật hoặc tắt ghi nhật ký trên Firezone. Đặt thành false để tắt ghi nhật ký hoàn toàn.

TRUE

mặc định['doanh nghiệp']['tên']

Tên được sử dụng bởi cuốn sách nấu ăn Chef 'enterprise'.

khu lửa'

mặc định['firezone']['install_path']

Đường dẫn cài đặt được sách dạy nấu ăn của Chef 'enterprise' sử dụng. Nên đặt giống với thư mục install_directory ở trên.

nút['firezone']['install_directory']

mặc định['firezone']['sysvinit_id']

Mã định danh được sử dụng trong /etc/inittab. Phải là một chuỗi duy nhất gồm 1-4 ký tự.

SUP'

default['firezone']['authentication']['local']['enabled']

Bật hoặc tắt xác thực email/mật khẩu cục bộ.

TRUE

default['firezone']['authentication']['auto_create_oidc_users']

Tự động tạo người dùng đăng nhập từ OIDC lần đầu tiên. Tắt để chỉ cho phép người dùng hiện có đăng nhập qua OIDC.

TRUE

default['firezone']['authentication']['disable_vpn_on_oidc_error']

Vô hiệu hóa VPN của người dùng nếu phát hiện thấy lỗi khi cố gắng làm mới mã thông báo OIDC của họ.

KHÔNG ĐÚNG

default['firezone']['authentication']['oidc']

Cấu hình OpenID Connect, ở định dạng {“provider” => [config…]} – Xem Tài liệu OpenIDConnect cho các ví dụ cấu hình.

{}

mặc định['firezone']['nginx']['enabled']

Bật hoặc tắt máy chủ nginx đi kèm.

TRUE

mặc định['firezone']['nginx']['ssl_port']

Cổng nghe HTTPS.

443

mặc định['firezone']['nginx']['thư mục']

Thư mục lưu trữ cấu hình máy chủ ảo nginx liên quan đến Firezone.

“#{node['firezone']['var_directory']}/nginx/etc”

mặc định['firezone']['nginx']['log_directory']

Thư mục lưu trữ các tệp nhật ký nginx liên quan đến Firezone.

“#{node['firezone']['log_directory']}/nginx”

default['firezone']['nginx']['log_rotation']['file_maxbytes']

Kích thước tệp để xoay tệp nhật ký Nginx.

104857600

default['firezone']['nginx']['log_rotation']['num_to_keep']

Số tệp nhật ký nginx Firezone cần giữ lại trước khi loại bỏ.

10

mặc định['firezone']['nginx']['log_x_forwarded_for']

Có đăng nhập tiêu đề Firezone nginx x-forwarded-for hay không.

TRUE

default['firezone']['nginx']['hsts_header']['enabled']

Bật hoặc tắt HSTS.

TRUE

default['firezone']['nginx']['hsts_header']['include_subdomains']

Bật hoặc tắt includeSubDomains cho tiêu đề HSTS.

TRUE

default['firezone']['nginx']['hsts_header']['max_age']

Tuổi tối đa cho tiêu đề HSTS.

31536000

default['firezone']['nginx']['redirect_to_canonical']

Có chuyển hướng URL đến FQDN chính tắc được chỉ định ở trên hay không

KHÔNG ĐÚNG

mặc định['firezone']['nginx']['cache']['enabled']

Bật hoặc tắt bộ đệm nginx của Firezone.

KHÔNG ĐÚNG

default['firezone']['nginx']['cache']['directory']

Thư mục cho bộ nhớ cache nginx của Firezone.

“#{node['firezone']['var_directory']}/nginx/cache”

mặc định['firezone']['nginx']['người dùng']

Người dùng nginx Firezone.

nút['firezone']['người dùng']

mặc định['firezone']['nginx']['group']

Nhóm nginx Firezone.

nút['firezone']['group']

mặc định['firezone']['nginx']['dir']

Thư mục cấu hình nginx cấp cao nhất.

nút['firezone']['nginx']['thư mục']

mặc định['firezone']['nginx']['log_dir']

Thư mục nhật ký nginx cấp cao nhất.

nút['firezone']['nginx']['log_directory']

mặc định['firezone']['nginx']['pid']

Vị trí cho tệp nginx pid.

“#{node['firezone']['nginx']['directory']}/nginx.pid”

mặc định['firezone']['nginx']['daemon_disable']

Tắt chế độ daemon nginx để chúng tôi có thể theo dõi nó.

TRUE

mặc định['firezone']['nginx']['gzip']

Bật hoặc tắt tính năng nén nginx gzip.

trên'

mặc định['firezone']['nginx']['gzip_static']

Bật hoặc tắt tính năng nén nginx gzip cho các tệp tĩnh.

tắt'

mặc định['firezone']['nginx']['gzip_http_version']

Phiên bản HTTP để sử dụng để phục vụ các tệp tĩnh.

1.0 '

mặc định['firezone']['nginx']['gzip_comp_level']

mức nén nginx gzip.

2 '

mặc định['firezone']['nginx']['gzip_proxied']

Bật hoặc tắt gzipping phản hồi cho các yêu cầu được ủy quyền tùy thuộc vào yêu cầu và phản hồi.

bất kì'

mặc định['firezone']['nginx']['gzip_vary']

Bật hoặc tắt việc chèn tiêu đề phản hồi “Thay đổi: Mã hóa chấp nhận”.

tắt'

mặc định['firezone']['nginx']['gzip_buffers']

Đặt số lượng và kích thước của bộ đệm được sử dụng để nén phản hồi. Nếu không, mặc định nginx được sử dụng.

hư không

mặc định['firezone']['nginx']['gzip_types']

loại MIME để kích hoạt tính năng nén gzip.

['text/plain', 'text/css','application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' văn bản/javascript', 'ứng dụng/javascript', 'ứng dụng/json']

mặc định['firezone']['nginx']['gzip_min_length']

Độ dài tệp tối thiểu để kích hoạt tính năng nén tệp gzip.

1000

mặc định['firezone']['nginx']['gzip_disable']

Trình so khớp tác nhân người dùng để tắt tính năng nén gzip cho.

MSIE [1-6]\.'

mặc định['firezone']['nginx']['keepalive']

Kích hoạt bộ đệm để kết nối với các máy chủ ngược dòng.

trên'

mặc định['firezone']['nginx']['keepalive_timeout']

Thời gian chờ tính bằng giây để kết nối liên tục với máy chủ ngược dòng.

65

default['firezone']['nginx']['worker_processes']

Số lượng quy trình công nhân nginx.

nút['cpu'] && nút['cpu']['tổng'] ? nút['cpu']['total'] : 1

default['firezone']['nginx']['worker_connections']

Số lượng kết nối đồng thời tối đa có thể được mở bởi một quy trình worker.

1024

mặc định['firezone']['nginx']['worker_rlimit_nofile']

Thay đổi giới hạn về số lượng tệp đang mở tối đa cho các quy trình worker. Sử dụng nginx mặc định nếu không.

hư không

default['firezone']['nginx']['multi_accept']

Công nhân nên chấp nhận một kết nối tại một thời điểm hay nhiều kết nối.

TRUE

mặc định['firezone']['nginx']['sự kiện']

Chỉ định phương thức xử lý kết nối để sử dụng bên trong ngữ cảnh sự kiện nginx.

epoll'

mặc định['firezone']['nginx']['server_tokens']

Bật hoặc tắt phát phiên bản nginx trên các trang lỗi và trong trường tiêu đề phản hồi “Máy chủ”.

hư không

mặc định['firezone']['nginx']['server_names_hash_bucket_size']

Đặt kích thước bộ chứa cho bảng băm tên máy chủ.

64

mặc định['firezone']['nginx']['sendfile']

Bật hoặc tắt việc sử dụng sendfile() của nginx.

trên'

mặc định['firezone']['nginx']['access_log_options']

Đặt tùy chọn nhật ký truy cập nginx.

hư không

mặc định['firezone']['nginx']['error_log_options']

Đặt tùy chọn nhật ký lỗi nginx.

hư không

mặc định['firezone']['nginx']['disable_access_log']

Vô hiệu hóa nhật ký truy cập nginx.

KHÔNG ĐÚNG

mặc định['firezone']['nginx']['types_hash_max_size']

các loại nginx băm kích thước tối đa.

2048

mặc định['firezone']['nginx']['types_hash_bucket_size']

kích thước nhóm băm của các loại nginx.

64

mặc định['firezone']['nginx']['proxy_read_timeout']

Hết thời gian đọc nginx proxy. Đặt thành không để sử dụng nginx mặc định.

hư không

mặc định['firezone']['nginx']['client_body_buffer_size']

kích thước bộ đệm thân máy khách nginx. Đặt thành không để sử dụng nginx mặc định.

hư không

mặc định['firezone']['nginx']['client_max_body_size']

kích thước cơ thể tối đa của máy khách nginx.

250m '

default['firezone']['nginx']['default']['modules']

Chỉ định các mô-đun nginx bổ sung.

[]

default['firezone']['nginx']['enable_rate_limiting']

Bật hoặc tắt giới hạn tốc độ nginx.

TRUE

mặc định['firezone']['nginx']['rate_limiting_zone_name']

Tên vùng giới hạn tốc độ Nginx.

khu lửa'

default['firezone']['nginx']['rate_limiting_backoff']

Tốc độ Nginx hạn chế backoff.

10m '

mặc định['firezone']['nginx']['rate_limit']

Giới hạn tỷ lệ Nginx.

10 vòng/giây

mặc định['firezone']['nginx']['ipv6']

Cho phép nginx lắng nghe các yêu cầu HTTP cho IPv6 ngoài IPv4.

TRUE

mặc định['firezone']['postgresql']['enabled']

Bật hoặc tắt Postgresql đi kèm. Đặt thành false và điền vào các tùy chọn cơ sở dữ liệu bên dưới để sử dụng phiên bản Postgresql của riêng bạn.

TRUE

default['firezone']['postgresql']['username']

Tên người dùng cho Postgresql.

nút['firezone']['người dùng']

default['firezone']['postgresql']['data_directory']

Thư mục dữ liệu Postgresql.

“#{node['firezone']['var_directory']}/postgresql/13.3/data”

mặc định['firezone']['postgresql']['log_directory']

Thư mục nhật ký Postgresql.

“#{node['firezone']['log_directory']}/postgresql”

default['firezone']['postgresql']['log_rotation']['file_maxbytes']

Kích thước tối đa của tệp nhật ký Postgresql trước khi được xoay.

104857600

default['firezone']['postgresql']['log_rotation']['num_to_keep']

Số lượng tệp nhật ký Postgresql cần lưu giữ.

10

default['firezone']['postgresql']['checkpoint_completion_target']

Mục tiêu hoàn thành điểm kiểm tra Postgresql.

0.5

default['firezone']['postgresql']['checkpoint_segments']

Số phân đoạn điểm kiểm tra Postgresql.

3

default['firezone']['postgresql']['checkpoint_timeout']

Hết thời gian chờ điểm kiểm tra Postgresql.

5 phút'

default['firezone']['postgresql']['checkpoint_warning']

Thời gian cảnh báo điểm kiểm tra Postgresql tính bằng giây.

30s'

default['firezone']['postgresql']['effect_cache_size']

Kích thước bộ đệm hiệu quả của Postgresql.

128MB'

default['firezone']['postgresql']['listen_address']

Postgresql nghe địa chỉ.

127.0.0.1 '

default['firezone']['postgresql']['max_connections']

Kết nối tối đa Postgresql.

350

mặc định['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDRs để cho phép md5 auth.

['127.0.0.1/32', '::1/128']

mặc định['firezone']['postgresql']['port']

Cổng nghe Postgresql.

15432

default['firezone']['postgresql']['shared_buffers']

Kích thước bộ đệm chia sẻ Postgresql.

“#{(nút['memory']['total'].to_i / 4) / 1024}MB”

mặc định['firezone']['postgresql']['shmmax']

Postgresql shmmax theo byte.

17179869184

mặc định['firezone']['postgresql']['shmall']

Postgresql shmall theo byte.

4194304

mặc định['firezone']['postgresql']['work_mem']

Kích thước bộ nhớ làm việc của Postgresql.

8MB'

default['firezone']['database']['user']

Chỉ định tên người dùng mà Firezone sẽ sử dụng để kết nối với DB.

nút['firezone']['postgresql']['tên người dùng']

default['firezone']['database']['password']

Nếu sử dụng DB bên ngoài, hãy chỉ định mật khẩu mà Firezone sẽ sử dụng để kết nối với DB.

thay đổi tôi'

default['firezone']['database']['name']

Cơ sở dữ liệu mà Firezone sẽ sử dụng. Sẽ được tạo nếu nó không tồn tại.

khu lửa'

default['firezone']['database']['host']

Máy chủ cơ sở dữ liệu mà Firezone sẽ kết nối.

nút['firezone']['postgresql']['listen_address']

default['firezone']['database']['port']

Cổng cơ sở dữ liệu mà Firezone sẽ kết nối.

nút['firezone']['postgresql']['port']

default['firezone']['database']['pool']

Kích thước nhóm cơ sở dữ liệu Firezone sẽ sử dụng.

[10, V.v.nbộ xử lý].max

default['firezone']['database']['ssl']

Có kết nối với cơ sở dữ liệu qua SSL hay không.

KHÔNG ĐÚNG

default['firezone']['database']['ssl_opts']

Băm tùy chọn để gửi tới tùy chọn :ssl_opts khi kết nối qua SSL. Nhìn thấy Tài liệu Ecto.Adapters.Postgres.

{}

default['firezone']['database']['parameters']

Băm tham số để gửi đến tùy chọn :parameters khi kết nối với cơ sở dữ liệu. Nhìn thấy Tài liệu Ecto.Adapters.Postgres.

{}

default['firezone']['database']['extensions']

Tiện ích mở rộng cơ sở dữ liệu để kích hoạt.

{ 'plpgsql' => true, 'pg_trgm' => true }

default['firezone']['phoenix']['enabled']

Bật hoặc tắt ứng dụng web Firezone.

TRUE

default['firezone']['phoenix']['listen_address']

Địa chỉ nghe ứng dụng web Firezone. Đây sẽ là địa chỉ nghe ngược dòng mà nginx proxy.

127.0.0.1 '

default['firezone']['phoenix']['port']

Cổng lắng nghe ứng dụng web Firezone. Đây sẽ là cổng ngược dòng mà nginx proxy.

13000

default['firezone']['phoenix']['log_directory']

Thư mục nhật ký ứng dụng web Firezone.

“#{node['firezone']['log_directory']}/phoenix”

default['firezone']['phoenix']['log_rotation']['file_maxbytes']

Kích thước tệp nhật ký ứng dụng web Firezone.

104857600

default['firezone']['phoenix']['log_rotation']['num_to_keep']

Số tệp nhật ký ứng dụng web Firezone cần lưu giữ.

10

default['firezone']['phoenix']['crash_detection']['enabled']

Bật hoặc tắt tắt ứng dụng web Firezone khi phát hiện sự cố.

TRUE

default['firezone']['phoenix']['external_trusted_proxies']

Danh sách các proxy ngược đáng tin cậy được định dạng dưới dạng Mảng IP và/hoặc CIDR.

[]

default['firezone']['phoenix']['private_clients']

Danh sách các máy khách HTTP mạng riêng, được định dạng một Mảng IP và/hoặc CIDR.

[]

default['firezone']['wireguard']['enabled']

Bật hoặc tắt tính năng quản lý WireGuard đi kèm.

TRUE

default['firezone']['wireguard']['log_directory']

Thư mục nhật ký để quản lý WireGuard đi kèm.

“#{node['firezone']['log_directory']}/wireguard”

default['firezone']['wireguard']['log_rotation']['file_maxbytes']

Kích thước tối đa của tệp nhật ký WireGuard.

104857600

default['firezone']['wireguard']['log_rotation']['num_to_keep']

Số lượng tệp nhật ký WireGuard cần lưu giữ.

10

default['firezone']['wireguard']['interface_name']

Tên giao diện WireGuard. Việc thay đổi tham số này có thể gây mất kết nối VPN tạm thời.

wg-firezone'

default['firezone']['wireguard']['port']

Cổng nghe WireGuard.

51820

default['firezone']['wireguard']['mtu']

Giao diện WireGuard MTU cho máy chủ này và cho các cấu hình thiết bị.

1280

default['firezone']['wireguard']['endpoint']

WireGuard Endpoint để sử dụng để tạo cấu hình thiết bị. Nếu không, mặc định là địa chỉ IP công cộng của máy chủ.

hư không

default['firezone']['wireguard']['dns']

WireGuard DNS để sử dụng cho các cấu hình thiết bị được tạo.

1.1.1.1, 1.0.0.1′

default['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs để sử dụng cho các cấu hình thiết bị đã tạo.

0.0.0.0/0, ::/0′

default['firezone']['wireguard']['persistent_keepalive']

Cài đặt PersistentKeepalive mặc định cho các cấu hình thiết bị đã tạo. Giá trị 0 sẽ vô hiệu hóa.

0

default['firezone']['wireguard']['ipv4']['enabled']

Bật hoặc tắt IPv4 cho mạng WireGuard.

TRUE

default['firezone']['wireguard']['ipv4']['masquerade']

Bật hoặc tắt giả mạo cho các gói rời khỏi đường hầm IPv4.

TRUE

default['firezone']['wireguard']['ipv4']['network']

Nhóm địa chỉ IPv4 của mạng WireGuard.

10.3.2.0/24 ′

default['firezone']['wireguard']['ipv4']['address']

Địa chỉ IPv4 của giao diện WireGuard. Phải nằm trong nhóm địa chỉ WireGuard.

10.3.2.1 '

default['firezone']['wireguard']['ipv6']['enabled']

Bật hoặc tắt IPv6 cho mạng WireGuard.

TRUE

default['firezone']['wireguard']['ipv6']['masquerade']

Bật hoặc tắt giả mạo cho các gói rời khỏi đường hầm IPv6.

TRUE

default['firezone']['wireguard']['ipv6']['network']

Nhóm địa chỉ IPv6 của mạng WireGuard.

fd00::3:2:0/120′

default['firezone']['wireguard']['ipv6']['address']

Địa chỉ IPv6 của giao diện WireGuard. Phải nằm trong nhóm địa chỉ IPv6.

fd00::3:2:1′

mặc định['firezone']['runit']['svlogd_bin']

Vị trí thùng Runit svlogd.

“#{node['firezone']['install_directory']}/embedded/bin/svlogd”

default['firezone']['ssl']['directory']

Thư mục SSL để lưu trữ các chứng chỉ đã tạo.

/var/opt/firezone/ssl'

default['firezone']['ssl']['email_address']

Địa chỉ email để sử dụng cho các thông báo gia hạn giao thức ACME và chứng chỉ tự ký.

you@example.com'

default['firezone']['ssl']['acme']['enabled']

Kích hoạt ACME để cung cấp chứng chỉ SSL tự động. Vô hiệu hóa điều này để ngăn Nginx nghe trên cổng 80. Xem tại đây để được hướng dẫn thêm.

KHÔNG ĐÚNG

default['firezone']['ssl']['acme']['server']

Máy chủ ACME để sử dụng cho việc cấp/gia hạn chứng chỉ. có thể là bất kỳ máy chủ acme.sh hợp lệ

cho phép mã hóa

default['firezone']['ssl']['acme']['keylength']

Chỉ định loại khóa và độ dài cho chứng chỉ SSL. Nhìn thấy tại đây

Ec-256

mặc định['firezone']['ssl']['chứng chỉ']

Đường dẫn đến tệp chứng chỉ cho FQDN của bạn. Ghi đè cài đặt ACME ở trên nếu được chỉ định. Nếu cả ACME và điều này đều không thì chứng chỉ tự ký sẽ được tạo.

hư không

default['firezone']['ssl']['certificate_key']

Đường dẫn đến tệp chứng chỉ.

hư không

mặc định['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

hư không

default['firezone']['ssl']['country_name']

Tên quốc gia cho chứng chỉ tự ký.

CHÚNG TA'

mặc định['firezone']['ssl']['state_name']

Tên tiểu bang cho chứng chỉ tự ký.

CA '

default['firezone']['ssl']['locality_name']

Tên địa phương cho chứng chỉ tự ký.

San Francisco'

default['firezone']['ssl']['company_name']

Giấy chứng nhận tự ký tên công ty.

Công ty của tôi'

default['firezone']['ssl']['organizational_unit_name']

Tên đơn vị tổ chức cho chứng chỉ tự ký.

hoạt động'

default['firezone']['ssl']['ciphers']

Mật mã SSL cho nginx sử dụng.

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA’

default['firezone']['ssl']['fips_ciphers']

Mật mã SSL cho chế độ FIP.

FIPS@STRENGTH:!aNULL:!eNULL'

default['firezone']['ssl']['protocols']

giao thức TLS để sử dụng.

TLSv1 TLSv1.1 TLSv1.2′

mặc định['firezone']['ssl']['session_cache']

Bộ đệm phiên SSL.

đã chia sẻ:SSL:4m'

default['firezone']['ssl']['session_timeout']

Thời gian chờ của phiên SSL.

5m '

mặc định['firezone']['robots_allow']

robot nginx cho phép.

/'

mặc định['firezone']['robots_disallow']

robot nginx không cho phép.

hư không

default['firezone']['outbound_email']['từ']

Email gửi đi từ địa chỉ.

hư không

default['firezone']['outbound_email']['provider']

Nhà cung cấp dịch vụ email gửi đi.

hư không

default['firezone']['outbound_email']['configs']

Cấu hình nhà cung cấp email gửi đi.

xem omnibus/cookbooks/firezone/attributes/default.rb

mặc định['firezone']['từ xa']['đã bật']

Bật hoặc tắt phép đo từ xa sản phẩm ẩn danh.

TRUE

default['firezone']['connectivity_checks']['enabled']

Bật hoặc tắt dịch vụ kiểm tra kết nối Firezone.

TRUE

default['firezone']['connectivity_checks']['interval']

Khoảng thời gian giữa các lần kiểm tra kết nối tính bằng giây.

3_600



________________________________________________________________

 

Vị trí tệp và thư mục

 

Tại đây, bạn sẽ tìm thấy danh sách các tệp và thư mục liên quan đến cài đặt Firezone điển hình. Chúng có thể thay đổi tùy thuộc vào những thay đổi đối với tệp cấu hình của bạn.



con đường

Mô tả

/var/opt/firezone

Thư mục cấp cao nhất chứa dữ liệu và cấu hình được tạo cho các dịch vụ đi kèm của Firezone.

/opt/firezone

Thư mục cấp cao nhất chứa các thư viện, tệp nhị phân và tệp thời gian chạy được xây dựng mà Firezone cần.

/usr/bin/firezone-ctl

firezone-ctl tiện ích để quản lý cài đặt Firezone của bạn.

/etc/systemd/system/firezone-runsvdir-start.service

systemd để bắt đầu quá trình giám sát Firezone runvdir.

/etc/firezone

Tệp cấu hình Firezone.



__________________________________________________________

 

Mẫu tường lửa

 

Trang này trống trong tài liệu

 

_____________________________________________________________

 

Mẫu tường lửa Nftables

 

Mẫu tường lửa nftables sau đây có thể được sử dụng để bảo mật máy chủ đang chạy Firezone. Mẫu đưa ra một số giả định; bạn có thể cần điều chỉnh các quy tắc cho phù hợp với trường hợp sử dụng của mình:

  • Giao diện WireGuard được đặt tên là wg-firezone. Nếu điều này không đúng, hãy thay đổi biến DEV_WIREGUARD để khớp với tùy chọn cấu hình mặc định['firezone']['wireguard']['interface_name'].
  • Cổng mà WireGuard đang lắng nghe là 51820. Nếu bạn không sử dụng cổng mặc định, hãy thay đổi biến WIREGUARD_PORT.
  • Chỉ những lưu lượng truy cập sau đây mới được phép vào máy chủ:
    • SSH (cổng TCP 22)
    • HTTP (cổng TCP 80)
    • HTTPS (cổng TCP 443)
    • WireGuard (cổng UDP WIREGUARD_PORT)
    • UDP traceroute (cổng UDP 33434-33524, tốc độ giới hạn ở 500/giây)
    • ICMP và ICMPv6 (tốc độ phản hồi ping/ping giới hạn ở 2000/giây)
  • Chỉ các lưu lượng gửi đi sau đây mới được phép từ máy chủ:
    • DNS (UDP và cổng TCP 53)
    • HTTP (cổng TCP 80)
    • NTP (cổng UDP 123)
    • HTTPS (cổng TCP 443)
    • Gửi SMTP (cổng TCP 587)
    • UDP traceroute (cổng UDP 33434-33524, tốc độ giới hạn ở 500/giây)
  • Lưu lượng chưa khớp sẽ được ghi lại. Các quy tắc được sử dụng để ghi nhật ký được tách biệt với các quy tắc giảm lưu lượng truy cập và bị giới hạn tốc độ. Việc xóa các quy tắc ghi nhật ký có liên quan sẽ không ảnh hưởng đến lưu lượng truy cập.

Quy tắc được quản lý của Firezoneâ € <

Firezone định cấu hình các quy tắc nftables của riêng mình để cho phép/từ chối lưu lượng truy cập đến các đích được định cấu hình trong giao diện web và để xử lý NAT gửi đi cho lưu lượng khách.

Áp dụng mẫu tường lửa bên dưới trên máy chủ đang chạy (không phải lúc khởi động) sẽ dẫn đến việc xóa các quy tắc Firezone. Điều này có thể có ý nghĩa bảo mật.

Để giải quyết vấn đề này, hãy khởi động lại dịch vụ phoenix:

firezone-ctl khởi động lại phượng hoàng

Mẫu tường lửa cơ sởâ € <

#!/usr/sbin/nft -f

 

## Xóa/xóa tất cả các quy tắc hiện có

tuôn ra quy tắc

 

################################ BIẾN ################# ##############

## Tên giao diện Internet/WAN

xác định DEV_WAN = eth0

 

## Tên giao diện WireGuard

xác định DEV_WIREGUARD = wg-firezone

 

## Cổng nghe WireGuard

xác định WIREGUARD_PORT = 51820

############################# BIẾN KẾT THÚC ################## ############

 

# Bảng lọc main inet family

bộ lọc inet bảng {

 

 # Quy tắc cho lưu lượng chuyển tiếp

 # Chuỗi này được xử lý trước chuỗi chuyển tiếp Firezone

 chuỗi về phía trước {

   loại bộ lọc móc chuyển tiếp bộ lọc ưu tiên – 5; chính sách chấp nhận

 }

 

 # Quy định về lưu lượng đầu vào

 chuỗi đầu vào {

   loại móc bộ lọc đầu vào bộ lọc ưu tiên; giảm chính sách

 

   ## Cho phép lưu lượng truy cập vào giao diện loopback

   nếu lo \

     chấp nhận \

     bình luận “Cho phép tất cả lưu lượng truy cập từ giao diện loopback”

 

   ## Cho phép các kết nối được thiết lập và liên quan

   trạng thái ct được thành lập, liên quan \

     chấp nhận \

     bình luận “Cho phép kết nối được thiết lập/liên quan”

 

   ## Cho phép lưu lượng truy cập WireGuard vào

   nếu $DEV_WAN cổng udp $WIREGUARD_PORT \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép lưu lượng truy cập WireGuard vào”

 

   ## Đăng nhập và thả các gói TCP không phải SYN mới

   cờ tcp != trạng thái đồng bộ ct mới \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     tiền tố đăng nhập “IN – Mới !SYN: “ \

     bình luận "Ghi nhật ký giới hạn tốc độ cho các kết nối mới chưa đặt cờ SYN TCP"

   cờ tcp != trạng thái đồng bộ ct mới \

     quầy tính tiền \

     làm rơi \

     bình luận “Xóa các kết nối mới không có cờ SYN TCP được đặt”

 

   ## Đăng nhập và loại bỏ các gói TCP với cờ vây/đồng bộ không hợp lệ được đặt

   cờ tcp & (fin|syn) == (fin|syn) \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     tiền tố đăng nhập “ TRONG – TCP FIN|SIN: “ \

     bình luận "Ghi nhật ký giới hạn tốc độ cho các gói TCP với bộ cờ vây/đồng bộ không hợp lệ"

   cờ tcp & (fin|syn) == (fin|syn) \

     quầy tính tiền \

     làm rơi \

     bình luận "Xóa các gói TCP với bộ cờ vây/đồng bộ không hợp lệ"

 

   ## Đăng nhập và loại bỏ các gói TCP với bộ cờ đồng bộ/đầu tiên không hợp lệ

   cờ tcp & (syn|rst) == (syn|rst) \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     tiền tố đăng nhập “ TRONG – TCP SYN|RST: “ \

     bình luận “Ghi nhật ký giới hạn tốc độ cho các gói TCP với cờ đồng bộ/cờ đầu tiên được đặt không hợp lệ”

   cờ tcp & (syn|rst) == (syn|rst) \

     quầy tính tiền \

     làm rơi \

     bình luận "Xóa các gói TCP với bộ cờ đồng bộ/cờ đầu tiên không hợp lệ"

 

   ## Đăng nhập và loại bỏ các cờ TCP không hợp lệ

   cờ tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     tiền tố đăng nhập “TỚI – KẾT THÚC:” \

     bình luận “Ghi nhật ký giới hạn tốc độ cho các cờ TCP không hợp lệ (fin|syn|rst|psh|ack|urg) < (fin)”

   cờ tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     quầy tính tiền \

     làm rơi \

     bình luận “Xóa các gói TCP có cờ (fin|syn|rst|psh|ack|urg) < (fin)”

 

   ## Đăng nhập và loại bỏ các cờ TCP không hợp lệ

   cờ tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     tiền tố đăng nhập “VÀO – KẾT THÚC|PSH|URG:” \

     bình luận “Ghi nhật ký giới hạn tốc độ cho cờ TCP không hợp lệ (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

   cờ tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     quầy tính tiền \

     làm rơi \

     bình luận “Xóa các gói TCP có cờ (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

 

   ## Giảm lưu lượng truy cập với trạng thái kết nối không hợp lệ

   trạng thái ct không hợp lệ \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     cờ đăng nhập tất cả tiền tố “IN – Không hợp lệ: “ \

     bình luận "Ghi nhật ký giới hạn tốc độ cho lưu lượng truy cập có trạng thái kết nối không hợp lệ"

   trạng thái ct không hợp lệ \

     quầy tính tiền \

     làm rơi \

     bình luận “Giảm lưu lượng truy cập với trạng thái kết nối không hợp lệ”

 

   ## Cho phép phản hồi ping/ping IPv4 nhưng giới hạn tốc độ ở 2000 PPS

   ip giao thức icmp icmp type { echo-reply, echo-request } \

     tỷ lệ giới hạn 2000/thứ hai \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tiếng vang IPv4 gửi đến (ping) giới hạn ở 2000 PPS”

 

   ## Cho phép tất cả ICMP IPv4 gửi đến khác

   ip giao thức icmp\

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tất cả các ICMP IPv4 khác”

 

   ## Cho phép phản hồi ping/ping IPv6 nhưng giới hạn tốc độ ở 2000 PPS

   loại icmpv6 { trả lời tiếng vang, yêu cầu tiếng vang} \

     tỷ lệ giới hạn 2000/thứ hai \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tiếng vang IPv6 gửi đến (ping) giới hạn ở 2000 PPS”

 

   ## Cho phép tất cả ICMP IPv6 gửi đến khác

   meta l4proto { icmpv6 } \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tất cả các ICMP IPv6 khác”

 

   ## Cho phép các cổng UDP theo dõi trong nước nhưng giới hạn ở 500 PPS

   cổng udp 33434-33524 \

     tỷ lệ giới hạn 500/thứ hai \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép theo dõi UDP trong nước giới hạn ở 500 PPS”

 

   ## Cho phép SSH gửi đến

   cổng tcp ssh trạng thái ct mới \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các kết nối SSH gửi đến”

 

   ## Cho phép HTTP và HTTPS gửi đến

   tcp dport { http, https } trạng thái ct mới \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các kết nối HTTP và HTTPS gửi đến”

 

   ## Ghi nhật ký bất kỳ lưu lượng chưa từng có nhưng tốc độ giới hạn ghi nhật ký tối đa là 60 tin nhắn/phút

   ## Chính sách mặc định sẽ được áp dụng cho lưu lượng truy cập chưa từng có

   tỷ lệ giới hạn 60/ phút bùng nổ 100 gói \

     tiền tố đăng nhập “IN – Thả: “ \

     bình luận “Ghi lại bất kỳ lưu lượng truy cập chưa từng có”

 

   ## Đếm lưu lượng chưa từng có

   quầy tính tiền \

     bình luận “Đếm bất kỳ lưu lượng truy cập chưa từng có”

 }

 

 # Quy tắc cho lưu lượng truy cập đầu ra

 đầu ra chuỗi {

   loại móc bộ lọc đầu ra bộ lọc ưu tiên; giảm chính sách

 

   ## Cho phép lưu lượng gửi đi đến giao diện loopback

   ôi lo \

     chấp nhận \

     bình luận “Cho phép tất cả lưu lượng truy cập ra giao diện loopback”

 

   ## Cho phép các kết nối được thiết lập và liên quan

   trạng thái ct được thành lập, liên quan \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép kết nối được thiết lập/liên quan”

 

   ## Cho phép lưu lượng truy cập WireGuard gửi đi trước khi ngắt kết nối ở trạng thái xấu

   ôi $DEV_WAN thể thao $WIREGUARD_PORT \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép lưu lượng truy cập ra WireGuard”

 

   ## Giảm lưu lượng truy cập với trạng thái kết nối không hợp lệ

   trạng thái ct không hợp lệ \

     tỷ lệ giới hạn 100/ phút bùng nổ 150 gói \

     cờ đăng nhập tất cả tiền tố “OUT – Không hợp lệ: “ \

     bình luận "Ghi nhật ký giới hạn tốc độ cho lưu lượng truy cập có trạng thái kết nối không hợp lệ"

   trạng thái ct không hợp lệ \

     quầy tính tiền \

     làm rơi \

     bình luận “Giảm lưu lượng truy cập với trạng thái kết nối không hợp lệ”

 

   ## Cho phép tất cả ICMP IPv4 gửi đi khác

   ip giao thức icmp\

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tất cả các loại ICMP của IPv4”

 

   ## Cho phép tất cả ICMP IPv6 gửi đi khác

   meta l4proto { icmpv6 } \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép tất cả các loại ICMP của IPv6”

 

   ## Cho phép các cổng UDP theo dõi ra bên ngoài nhưng giới hạn ở 500 PPS

   cổng udp 33434-33524 \

     tỷ lệ giới hạn 500/thứ hai \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép truy xuất UDP giới hạn ở 500 PPS”

 

   ## Cho phép các kết nối HTTP và HTTPS gửi đi

   tcp dport { http, https } trạng thái ct mới \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các kết nối HTTP và HTTPS gửi đi”

 

   ## Cho phép gửi SMTP ra bên ngoài

   đệ trình tcp dport trạng thái ct mới \

     quầy tính tiền \

     chấp nhận \

     bình luận "Cho phép gửi SMTP ra nước ngoài"

 

   ## Cho phép các yêu cầu DNS gửi đi

   cổng udp 53 \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các yêu cầu DNS UDP gửi đi”

   cổng tcp 53 \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các yêu cầu DNS TCP gửi đi”

 

   ## Cho phép các yêu cầu NTP gửi đi

   cổng udp 123 \

     quầy tính tiền \

     chấp nhận \

     bình luận “Cho phép các yêu cầu NTP gửi đi”

 

   ## Ghi nhật ký bất kỳ lưu lượng chưa từng có nhưng tốc độ giới hạn ghi nhật ký tối đa là 60 tin nhắn/phút

   ## Chính sách mặc định sẽ được áp dụng cho lưu lượng truy cập chưa từng có

   tỷ lệ giới hạn 60/ phút bùng nổ 100 gói \

     tiền tố đăng nhập “OUT – Thả: “ \

     bình luận “Ghi lại bất kỳ lưu lượng truy cập chưa từng có”

 

   ## Đếm lưu lượng chưa từng có

   quầy tính tiền \

     bình luận “Đếm bất kỳ lưu lượng truy cập chưa từng có”

 }

 

}

 

# Bảng lọc NAT chính

bảng inet nat {

 

 # Quy tắc định tuyến trước lưu lượng NAT

 định tuyến trước chuỗi {

   gõ nat hook prerouting ưu tiên dstnat; chính sách chấp nhận

 }

 

 # Quy tắc cho lưu lượng truy cập NAT sau định tuyến

 # Bảng này được xử lý trước chuỗi định tuyến sau Firezone

 chuyển tiếp chuỗi {

   gõ nat hook ưu tiên postrouting srcnat – 5; chính sách chấp nhận

 }

 

}

Sử dụngâ € <

Tường lửa phải được lưu trữ ở vị trí thích hợp cho bản phân phối Linux đang chạy. Đối với Debian/Ubuntu, đây là /etc/nftables.conf và đối với RHEL, đây là /etc/sysconfig/nftables.conf.

nftables.service sẽ cần được định cấu hình để khởi động khi khởi động (nếu chưa có):

systemctl kích hoạt nftables.service

Nếu thực hiện bất kỳ thay đổi nào đối với mẫu tường lửa, cú pháp có thể được xác thực bằng cách chạy lệnh kiểm tra:

nft -f /path/to/nftables.conf -c

Đảm bảo xác thực tường lửa hoạt động như mong đợi vì một số tính năng nhất định của nftables có thể không khả dụng tùy thuộc vào bản phát hành đang chạy trên máy chủ.



_______________________________________________________________



Từ xa

 

Tài liệu này trình bày tổng quan về phép đo từ xa mà Firezone thu thập từ phiên bản tự lưu trữ của bạn và cách tắt nó.

Tại sao Firezone thu thập dữ liệu từ xaâ € <

Khu lửa dựa về phép đo từ xa để ưu tiên lộ trình của chúng tôi và tối ưu hóa các tài nguyên kỹ thuật mà chúng tôi có để làm cho Firezone trở nên tốt hơn cho mọi người.

Từ xa chúng tôi thu thập nhằm mục đích trả lời các câu hỏi sau:

  • Có bao nhiêu người cài đặt, sử dụng và ngừng sử dụng Firezone?
  • Những tính năng nào có giá trị nhất và những tính năng nào không được sử dụng?
  • Chức năng nào cần cải tiến nhất?
  • Khi một cái gì đó bị hỏng, tại sao nó bị hỏng và làm thế nào chúng ta có thể ngăn chặn điều đó xảy ra trong tương lai?

Cách chúng tôi thu thập phép đo từ xaâ € <

Có ba địa điểm chính mà phép đo từ xa được thu thập trong Firezone:

  1. Gói từ xa. Bao gồm các sự kiện như cài đặt, gỡ cài đặt và nâng cấp.
  2. Đo từ xa CLI từ các lệnh firezone-ctl.
  3. Đo từ xa sản phẩm được liên kết với cổng Web.

Trong mỗi bối cảnh trong số ba bối cảnh này, chúng tôi thu thập lượng dữ liệu tối thiểu cần thiết để trả lời các câu hỏi trong phần trên.

Email của quản trị viên chỉ được thu thập nếu bạn chọn tham gia một cách rõ ràng vào các bản cập nhật sản phẩm. Mặt khác, thông tin nhận dạng cá nhân là không bao giờ đã thu thập.

Firezone lưu trữ phép đo từ xa trong phiên bản PostHog tự lưu trữ chạy trong cụm Kubernetes riêng tư, chỉ nhóm Firezone mới có thể truy cập được. Dưới đây là ví dụ về sự kiện đo từ xa được gửi từ phiên bản Firezone của bạn đến máy chủ đo từ xa của chúng tôi:

{

   "Tôi": “0182272d-0b88-0000-d419-7b9a413713f1”,

   “dấu thời gian”: “2022-07-22T18:30:39.748000+00:00”,

   "sự kiện": “fz_http_started”,

   “id riêng biệt”: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,

   "của cải": {

       “$geoip_city_name”: “Đốt cháy tro”,

       “$geoip_continent_code”: “KHÔNG”,

       “$geoip_continent_name”: "Bắc Mỹ",

       “$geoip_country_code”: "CHÚNG TA",

       “$geoip_country_name”: "Hoa Kỳ",

       “$geoip_latitude”: 39.0469,

       “$ kinh độ địa lý”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$ geoip_subdivision_1_code”: “VA”,

       “$geoip_subdivision_1_name”: “Virginia”,

       “$geoip_time_zone”: “Mỹ/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”: [ ],

       “$plugins_faild”: [ ],

       “$plugins_succeeded”: [

           “Địa lý IP (3)”

       ],

       “id riêng biệt”: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       “fqdn”: “awsdemo.firezone.dev”,

       "Phiên bản hạt nhân": "linux 5.13.0",

       "phiên bản": "0.4.6"

   },

   “elements_chain”: ""

}

Làm thế nào để vô hiệu hóa từ xaâ € <

LƯU Ý

Nhóm phát triển Firezone dựa về phân tích sản phẩm để làm cho Firezone tốt hơn cho mọi người. Bật phép đo từ xa là đóng góp có giá trị nhất mà bạn có thể thực hiện cho sự phát triển của Firezone. Điều đó nói rằng, chúng tôi hiểu rằng một số người dùng có yêu cầu cao hơn về quyền riêng tư hoặc bảo mật và muốn tắt hoàn toàn phép đo từ xa. Nếu đó là bạn, hãy tiếp tục đọc.

Phép đo từ xa được bật theo mặc định. Để tắt hoàn toàn phép đo từ xa của sản phẩm, hãy đặt tùy chọn cấu hình sau thành false trong /etc/firezone/firezone.rb và chạy sudo firezone-ctl reconfigure để nhận các thay đổi.

mặc định['khu lửa']['từ xa']['đã bật'🇧🇷 sai

Điều đó sẽ vô hiệu hóa hoàn toàn tất cả các phép đo từ xa của sản phẩm.