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.
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.
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.
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:
Đố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à:
Các nhà cung cấp mà chúng tôi có tài liệu về:
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.
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.
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.
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. 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:
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:
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.
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.
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:
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:
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.
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.
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.
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:
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:
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_access và Hồ sơ đến các quyền cần thiết.
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.
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.
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.
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.
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:
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ợ.
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.
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 ).
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,
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.
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.
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 vào đâ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 vào đây để bật SSO thông qua nhà cung cấp OIDC.
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.
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ế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
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.
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.
Đả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)
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 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. |
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.
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:
/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
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.
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
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ấ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.
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 đó.
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.
Các ứng dụng khách WireGuard chính thức có tại đây tương thích với Firezone:
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.
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]
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]
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).
[Chèn ảnh chụp màn hình]
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]
[Chèn ảnh chụp màn hình]
Để 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).
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
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.
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]
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
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]
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.
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
Để 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.
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.
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.
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.
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
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.
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.
Đượ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.
Đượ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
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ó.
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.
Để 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.
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.
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]<<<<<<<<<<<<<<<<<<<<<<<<<<<
Ứ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).
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.
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'] | 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'] | {} | |
default['firezone']['database']['parameters'] | {} | |
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 vào đâ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 vào đâ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 |
________________________________________________________________
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. |
__________________________________________________________
Trang này trống trong tài liệu
_____________________________________________________________
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:
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
#!/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
}
}
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à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ó.
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ó ba địa điểm chính mà phép đo từ xa được thu thập trong Firezone:
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Ư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.
mưa đá
9511 Đội bảo vệ Nữ hoàng
Vòng nguyệt quế, MD 20723
Điện thoại: (732) 771-9995
Email: info@hailbytes.com
Nhận tin tức an ninh mạng mới nhất ngay trong hộp thư đến của bạn.