Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

კონფიგურაციის ცნობარი

ეს გვერდი PRX-WAF-ის TOML კონფ-ფაილ-ყოველ კონფ-გასაღებს დოკუმენტირებს. ნაგულისხმევი კონფ-ფაილი configs/default.toml.

Proxy-ის პარამეტრები ([proxy])

Reverse proxy listener-ის მართვის პარამეტრები.

გასაღებიტიპინაგულისხმევიაღწერა
listen_addrstring"0.0.0.0:80"HTTP listener-ის მისამართი
listen_addr_tlsstring"0.0.0.0:443"HTTPS listener-ის მისამართი
worker_threadsinteger | nullnull (CPU-ის რაოდენობა)Proxy worker thread-ების რაოდენობა. null-ის შემთხვევაში ლოგიკური CPU-ის ბირთვების რაოდენობა.

API-ის პარამეტრები ([api])

მართვ-API-სა და ადმინ UI-ის პარამეტრები.

გასაღებიტიპინაგულისხმევიაღწერა
listen_addrstring"127.0.0.1:9527"ადმინ API + UI listener-ის მისამართი. წარმოებაში localhost-ზე შეზღუდვისთვის 127.0.0.1-ზე მიბმა.

საცავის პარამეტრები ([storage])

PostgreSQL მონაცემ-ბაზ-კავშირი.

გასაღებიტიპინაგულისხმევიაღწერა
database_urlstring"postgresql://prx_waf:[email protected]:5432/prx_waf"PostgreSQL კავშირ-URL
max_connectionsinteger20pool-ში მონაცემ-ბაზ-კავშირების მაქსიმალური რაოდენობა

ქეშ-პარამეტრები ([cache])

in-memory moka LRU ქეშის გამოყენებით პასუხ-ქეშირების კონფიგურაცია.

გასაღებიტიპინაგულისხმევიაღწერა
enabledbooleantrueპასუხ-ქეშირების ჩართვა
max_size_mbinteger256მაქსიმალური ქეშ-ზომა მეგაბაიტებში
default_ttl_secsinteger60ქეშ-პასუხების ნაგულისხმევი სიცოცხლის-ხანგრძლივობა (წამებში)
max_ttl_secsinteger3600მაქსიმალური TTL ზღვარი (წამებში). პასუხები upstream header-ების მიუხედავად ამაზე მეტ ხანს ვერ ქეშდება.

HTTP/3-ის პარამეტრები ([http3])

HTTP/3 QUIC-ის (Quinn ბიბლიოთეკა) გავლით.

გასაღებიტიპინაგულისხმევიაღწერა
enabledbooleanfalseHTTP/3 მხარდაჭერის ჩართვა
listen_addrstring"0.0.0.0:443"QUIC listener-ის მისამართი (UDP)
cert_pemstring--TLS სერთიფიკატის გზა (PEM ფორმატი)
key_pemstring--TLS პირადი გასაღების გზა (PEM ფორმატი)

WARNING

HTTP/3-ს სწორი TLS სერთიფიკატები სჭირდება. enabled = true-ის შემთხვევაში cert_pem და key_pem ორივე დაყენებული უნდა იყოს.

უსაფრთხოების პარამეტრები ([security])

ადმინ API-ისა და proxy-ის უსაფრთხოების კონფიგურაცია.

გასაღებიტიპინაგულისხმევიაღწერა
admin_ip_allowliststring[][]ადმინ API-ზე წვდომის IP/CIDR-ების სია. ცარიელი ყველას ნებას რთავს.
max_request_body_bytesinteger10485760 (10 MB)მოთხოვნ-body-ის მაქსიმალური ზომა ბაიტებში. ლიმიტ-გამდინარე მოთხოვნები 413-ით უარიყოფა.
api_rate_limit_rpsinteger0ადმინ API-ის IP-მიხედვით rate limit (მოთხოვნა წამში). 0 გამორთვას ნიშნავს.
cors_originsstring[][]ადმინ API-ის CORS-ის დაშვებული origin-ები. ცარიელი ყველა origin-ს ნებას რთავს.

წეს-პარამეტრები ([rules])

წეს-ძრავის კონფიგურაცია.

გასაღებიტიპინაგულისხმევიაღწერა
dirstring"rules/"წეს-ფაილების შემცველი დირექტორია
hot_reloadbooleantrueწეს-ავტო-reload-ისთვის ფაილ-სისტემ-მდევარი
reload_debounce_msinteger500ფაილ-ცვლილებ-მოვლენების debounce ფანჯარა (ms)
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""Bouncer API გასაღები
update_frequency_secsinteger10გადაწყვეტილებ-ქეშ-განახლებ-ინტერვალი (წამებში)
fallback_actionstring"allow"LAPI-ის მიუწვდომლობისას ქმედება: "allow", "block" ან "log"
appsec_endpointstring--AppSec HTTP ინსპექტ-endpoint-ის URL (სურვილისამებრ)
appsec_keystring--AppSec API გასაღები (სურვილისამებრ)

ჰოსტ-კონფიგურაცია ([[hosts]])

სტატიკური ჰოსტ-ჩანაწერები (ადმინ UI/API-ის გავლითაც შეიძლება იმართოს):

გასაღებიტიპისაჭიროაღწერა
hoststringკიშესაბამობის დომენ-სახელი
portintegerკიმოსასმენი პორტი (ჩვეულებრივ 80 ან 443)
remote_hoststringკიUpstream backend-ის IP ან hostname
remote_portintegerკიUpstream backend-ის პორტი
sslbooleanარაupstream-ზე HTTPS-ის გამოყენება (ნაგულისხმევი: false)
guard_statusbooleanარაWAF-ის დაცვის ჩართვა (ნაგულისხმევი: true)

Cluster-ის პარამეტრები ([cluster])

მრავალ-კვანძი cluster-კონფიგურაცია. დეტალებისთვის Cluster-ის რეჟიმს ნახე.

გასაღებიტიპინაგულისხმევიაღწერა
enabledbooleanfalseCluster-ის რეჟიმის ჩართვა
node_idstring"" (ავტო)კვანძის უნიკალური იდენტიფიკატორი. ცარიელის შემთხვევაში ავტო-გენერირდება.
rolestring"auto"კვანძ-როლი: "auto", "main" ან "worker"
listen_addrstring"0.0.0.0:16851"კვანძ-კომუნიკაციისთვის QUIC-მოსასმენი
seedsstring[][]Cluster-ის join-ისთვის seed კვანძ-მისამართები

Cluster-ის Crypto ([cluster.crypto])

გასაღებიტიპინაგულისხმევიაღწერა
ca_certstring--CA სერთიფიკატის გზა (PEM)
ca_keystring--CA პირადი გასაღების გზა (მხოლოდ main კვანძი)
node_certstring--კვანძ-სერთიფიკატის გზა (PEM)
node_keystring--კვანძ-პირადი გასაღების გზა (PEM)
auto_generatebooleantrueპირველ სტარტზე სერთიფიკატების ავტო-გენერება
ca_validity_daysinteger3650CA სერთიფიკატ-ვადა (დღეები)
node_validity_daysinteger365კვანძ-სერთიფიკატ-ვადა (დღეები)
renewal_before_daysinteger7ვადის გასვლამდე ამ დღეებით ადრე ავტო-განახლება

Cluster-ის Sync ([cluster.sync])

გასაღებიტიპინაგულისხმევიაღწერა
rules_interval_secsinteger10წეს-ვერსი-შემოწმების ინტერვალი
config_interval_secsinteger30კონფ-სინქრ-ინტერვალი
events_batch_sizeinteger100ამ რაოდენობისას მოვლენ-ჯგუფ-ბარება
events_flush_interval_secsinteger5ჯგუფ-გამოუვსებლობის შემთხვევაშიც მოვლენ-ბარება
stats_interval_secsinteger10სტატისტ-ანგარიშ-ინტერვალი
events_queue_sizeinteger10000მოვლენ-რიგ-ზომა (სავსეობისას უძველესი ეცლება)

Cluster-ის Election ([cluster.election])

გასაღებიტიპინაგულისხმევიაღწერა
timeout_min_msinteger150მინიმალური election timeout (ms)
timeout_max_msinteger300მაქსიმალური election timeout (ms)
heartbeat_interval_msinteger50Main-დან worker-ზე heartbeat ინტერვალი (ms)
phi_suspectfloat8.0Phi accrual საეჭვო ბარიერი
phi_deadfloat12.0Phi accrual მკვდარი ბარიერი

Cluster-ის Health ([cluster.health])

გასაღებიტიპინაგულისხმევიაღწერა
check_interval_secsinteger5Health check-ის სიხშირე
max_missed_heartbeatsinteger3N-ის შემდეგ peer-ის არაჯანსაღად ნიშვნა

ნაგულისხმევი კონფ-ფაილი

ცნობარისთვის საცავში default.toml ფაილი ნახე.

შემდეგი ნაბიჯები

Released under the Apache-2.0 License.