Skip to content
このページは AI の支援により作成・翻訳されました。誤りがあれば、改善にご協力ください。 GitHub で編集

設定リファレンス

このページはPRX-WAF TOMLコンフィグファイルのすべての設定キーを文書化しています。デフォルト設定ファイルはconfigs/default.tomlです。

プロキシ設定([proxy]

リバースプロキシリスナーを制御する設定。

キータイプデフォルト説明
listen_addrstring"0.0.0.0:80"HTTPリスナーアドレス
listen_addr_tlsstring"0.0.0.0:443"HTTPSリスナーアドレス
worker_threadsinteger | nullnull(CPU数)プロキシワーカースレッド数。nullの場合、論理CPUコア数を使用。

API設定([api]

管理APIと管理UIの設定。

キータイプデフォルト説明
listen_addrstring"127.0.0.1:9527"管理API + UIリスナーアドレス。localhostのみにアクセスを制限するために本番環境では127.0.0.1にバインド。

ストレージ設定([storage]

PostgreSQLデータベース接続。

キータイプデフォルト説明
database_urlstring"postgresql://prx_waf:[email protected]:5432/prx_waf"PostgreSQL接続URL
max_connectionsinteger20プール内の最大データベース接続数

キャッシュ設定([cache]

インメモリmokaLRUキャッシュを使用したレスポンスキャッシング設定。

キータイプデフォルト説明
enabledbooleantrueレスポンスキャッシングを有効化
max_size_mbinteger256キャッシュの最大サイズ(メガバイト)
default_ttl_secsinteger60キャッシュされたレスポンスのデフォルトTTL(秒)
max_ttl_secsinteger3600最大TTLキャップ(秒)。上流ヘッダーに関係なく、これより長くキャッシュすることはできません。

HTTP/3設定([http3]

QUICを通じたHTTP/3(Quinnライブラリ)。

キータイプデフォルト説明
enabledbooleanfalseHTTP/3サポートを有効化
listen_addrstring"0.0.0.0:443"QUICリスナーアドレス(UDP)
cert_pemstring--TLS証明書へのパス(PEMフォーマット)
key_pemstring--TLS秘密鍵へのパス(PEMフォーマット)

WARNING

HTTP/3には有効なTLS証明書が必要です。enabled = trueの場合、cert_pemkey_pemの両方を設定する必要があります。

セキュリティ設定([security]

管理APIとプロキシのセキュリティ設定。

キータイプデフォルト説明
admin_ip_allowliststring[][]管理APIへのアクセスが許可されたIP/CIDRのリスト。空はすべてを許可。
max_request_body_bytesinteger10485760(10 MB)最大リクエストボディサイズ(バイト)。これを超えるリクエストは413で拒否。
api_rate_limit_rpsinteger0管理API用のIP別レート制限(リクエスト毎秒)。0は無効。
cors_originsstring[][]管理API用のCORS許可オリジン。空はすべてのオリジンを許可。

ルール設定([rules]

ルールエンジン設定。

キータイプデフォルト説明
dirstring"rules/"ルールファイルを含むディレクトリ
hot_reloadbooleantrue自動ルールリロードのためのファイルシステム監視を有効化
reload_debounce_msinteger500ファイル変更イベントのデバウンスウィンドウ(ミリ秒)
enable_builtin_owaspbooleantrue内蔵OWASP CRSルールを有効化
enable_builtin_botbooleantrue内蔵ボット検出ルールを有効化
enable_builtin_scannerbooleantrue内蔵スキャナー検出ルールを有効化

ルールソース([[rules.sources]]

複数のルールソース(ローカルディレクトリまたはリモートURL)を設定:

キータイプ必須説明
namestringはいソース名(例:"custom""owasp-crs"
pathstringいいえローカルディレクトリパス
urlstringいいえルール取得のためのリモートURL
formatstringはいルールフォーマット:"yaml""json"、または"modsec"
update_intervalintegerいいえ自動更新間隔(秒)(リモートソースのみ)
toml
[[rules.sources]]
name   = "custom"
path   = "rules/custom/"
format = "yaml"

[[rules.sources]]
name            = "owasp-crs"
url             = "https://example.com/rules/owasp.yaml"
format          = "yaml"
update_interval = 86400

CrowdSec設定([crowdsec]

CrowdSec脅威インテリジェンス統合。

キータイプデフォルト説明
enabledbooleanfalseCrowdSec統合を有効化
modestring"bouncer"統合モード:"bouncer""appsec"、または"both"
lapi_urlstring"http://127.0.0.1:8080"CrowdSec LAPI URL
api_keystring""バウンサーAPIキー
update_frequency_secsinteger10決定キャッシュ更新間隔(秒)
fallback_actionstring"allow"LAPIが到達不能の場合のアクション:"allow""block"、または"log"
appsec_endpointstring--AppSec HTTP検査エンドポイントURL(オプション)
appsec_keystring--AppSec APIキー(オプション)

ホスト設定([[hosts]]

静的ホストエントリ(管理UI/APIでも管理可能):

キータイプ必須説明
hoststringはいマッチするドメイン名
portintegerはいリッスンポート(通常80または443)
remote_hoststringはい上流バックエンドIPまたはホスト名
remote_portintegerはい上流バックエンドポート
sslbooleanいいえ上流にHTTPSを使用(デフォルト:false)
guard_statusbooleanいいえWAF保護を有効化(デフォルト:true)

クラスター設定([cluster]

マルチノードクラスター設定。詳細はクラスターモードを参照。

キータイプデフォルト説明
enabledbooleanfalseクラスターモードを有効化
node_idstring""(自動)一意のノード識別子。空の場合は自動生成。
rolestring"auto"ノードロール:"auto""main"、または"worker"
listen_addrstring"0.0.0.0:16851"ノード間通信のQUICリッスンアドレス
seedsstring[][]クラスター参加のためのシードノードアドレス

クラスタークリプト([cluster.crypto]

キータイプデフォルト説明
ca_certstring--CA証明書へのパス(PEM)
ca_keystring--CA秘密鍵へのパス(メインノードのみ)
node_certstring--ノード証明書へのパス(PEM)
node_keystring--ノード秘密鍵へのパス(PEM)
auto_generatebooleantrue最初の起動時に証明書を自動生成
ca_validity_daysinteger3650CA証明書の有効期間(日)
node_validity_daysinteger365ノード証明書の有効期間(日)
renewal_before_daysinteger7有効期限のこの日数前に自動更新

クラスター同期([cluster.sync]

キータイプデフォルト説明
rules_interval_secsinteger10ルールバージョンチェック間隔
config_interval_secsinteger30設定同期間隔
events_batch_sizeinteger100この数でイベントバッチをフラッシュ
events_flush_interval_secsinteger5バッチが満杯でなくてもイベントをフラッシュ
stats_interval_secsinteger10統計レポート間隔
events_queue_sizeinteger10000イベントキューサイズ(満杯の場合は最古をドロップ)

クラスター選出([cluster.election]

キータイプデフォルト説明
timeout_min_msinteger150最小選出タイムアウト(ms)
timeout_max_msinteger300最大選出タイムアウト(ms)
heartbeat_interval_msinteger50メインからワーカーへのハートビート間隔(ms)
phi_suspectfloat8.0Phi累積疑わしきしきい値
phi_deadfloat12.0Phi累積死亡しきい値

クラスターヘルス([cluster.health]

キータイプデフォルト説明
check_interval_secsinteger5ヘルスチェック頻度
max_missed_heartbeatsinteger3N回ミス後にピアを不健全とマーク

完全なデフォルト設定

参考として、リポジトリのdefault.tomlファイルを参照してください。

次のステップ

Released under the Apache-2.0 License.