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

წეს-ძრავა ​

PRX-WAF ვებ-შეტევების გამოვლენისა და ბლოკვისთვის დეკლარაციულ, YAML-ზე დაფუძნებულ წეს-ძრავას იყენებს. წესები აღწერს რა შეამოწმოს, როგორ შეუსაბამოს და რა ქმედება განახორციელოს. ძრავა ყოველ შემოსულ მოთხოვნას 16 თანმიმდევრული გამოვლენის ფაზაში ყველა ჩართულ წესთან ასაბამოებს.

წესების მუშაობა ​

ყოველი წესი ოთხი ძირითადი კომპონენტისგან შედგება:

  1. ველი -- მოთხოვნის რომელი ნაწილი შეამოწმოს (path, query, body, headers და სხვ.)
  2. ოპერატორი -- როგორ შეუსაბამოს მნიშვნელობა (regex, contains, detect_sqli და სხვ.)
  3. მნიშვნელობა -- შესაბამობის შაბლონი ან ბარიერი
  4. ქმედება -- რა გააკეთოს წესის შემჯამებისას (block, log, allow)
yaml
- id: "CUSTOM-001"
  name: "Block admin path from external IPs"
  category: "access-control"
  severity: "high"
  field: "path"
  operator: "regex"
  value: "(?i)^/admin"
  action: "block"

წეს-წყაროები ​

PRX-WAF 398 წესთან ოთხ კატეგორიაში გამოდის:

წყაროფაილებიწესებიაღწერა
OWASP CRS21310OWASP ModSecurity Core Rule Set v4 (YAML-ად გადაყვანილი)
ModSecurity446IP რეპუტაციის, DoS-ისა და მონაცემ-გაჟონვის საზოგადოებრივი წესები
CVE პაჩები739Log4Shell, Spring4Shell, MOVEit და სხვ. სამიზნე ვირტუალური პაჩები
მომხმარებლის13პროგრამ-სპეციფიკური წესების მაგალით-შაბლონები

გარდა ამისა, PRX-WAF ბინარაში კომპილირებულ 10+ ჩაშენებულ გამოვლენის შემოწმებს შეიცავს:

  • SQL injection (libinjection + regex)
  • Cross-site scripting (libinjection + regex)
  • დისტანციური კოდ-შესრულება / ბრძანებ-ინექცია
  • ლოკალური/დისტანციური ფაილ-ჩართვა
  • Server-side request forgery (SSRF)
  • Path/directory traversal
  • სკანერ-გამოვლენა (Nmap, Nikto და სხვ.)
  • ბოტ-გამოვლენა (მავნე ბოტები, AI-ის crawlers, headless ბრაუზერები)
  • პროტოკოლ-დარღვევის გამოვლენა
  • სენსიტიური სიტყვ-გამოვლენა (Aho-Corasick მრავალ-შაბლონ-შემჯამება)

წეს-ფორმატები ​

PRX-WAF სამ წეს-ფაილ-ფორმატს მხარს უჭერს:

ფორმატიგაფართოებააღწერა
YAML.yaml, .ymlPRX-WAF-ის native ფორმატი (რეკომენდებული)
ModSecurity.confSecRule დირექტივები (ბაზისური ქვეჯგუფი: ARGS, REQUEST_HEADERS, REQUEST_URI, REQUEST_BODY)
JSON.jsonწეს-ობიექტების JSON მასივი

სრული სქემ-ცნობარისთვის YAML სინტაქსს ნახე.

Paranoia დონეები ​

ყოველი წესი paranoia დონეს (1-4) აცხადებს, რომელიც შემჯამებლობის სიმკაცრეს აკონტროლებს. მაღალი დონეები მეტ შეტევას ამოიცნობს, მაგრამ მცდარ-დადებითების რისკს ზრდის.

დონესახელიაღწერამცდარ-დადებითების რისკი
1ნაგულისხმევიმაღალ-ნდობიანი წესები, წარმოება-უსაფრთხოძალიან დაბალი
2რეკომენდებულიფართო გადაფარვა, მცირე მცდ.დად. რისკიდაბალი
3აგრესიულივრცელი ევრისტიკა, დაზუსტება საჭიროაზომიერი
4მაქსიმალურიყველაფერი, სპეკულაციური შაბლონების ჩათვლითმაღალი

TIP

წარმოებაში paranoia დონე 1-ით დაიწყე. ჟურნალები მიადევნე, გამონაკლისები მოარგე, შემდეგ ეტაპობრივად მაღალ დონეები ჩართე.

Hot-Reload ​

PRX-WAF rules/ დირექტორიას ფაილ-ცვლილებებზე აკვირდება და ფაილის შექმნისას, შეცვლისას ან წაშლისას წესებს ავტომატურად ხელახლა ტვირთავს. ცვლილებები კონფიგურირებულ debounce ფანჯარაში (ნაგულისხმევი: 500ms) ძალაში შედის.

ხელახლა-ჩატვირთვის ხელით გამოძახებაც შეიძლება:

bash
# Via CLI
prx-waf rules reload

# Via SIGHUP (Unix only)
kill -HUP $(pgrep prx-waf)

წეს-ხელახლა-ჩატვირთვა ატომარულია -- ძველი წეს-ნაკრები ახლის სრულ კომპილაციამდე და მზაობამდე ტრაფიკს ემსახურება.

დირექტორიის სტრუქტურა ​

rules/
├── owasp-crs/          # OWASP CRS v4 (21 files, 310 rules)
│   ├── sqli.yaml       # SQL injection (CRS 942xxx)
│   ├── xss.yaml        # Cross-site scripting (CRS 941xxx)
│   ├── rce.yaml        # Remote code execution (CRS 932xxx)
│   └── ...
├── modsecurity/        # ModSecurity community rules
├── cve-patches/        # CVE virtual patches (Log4Shell, Spring4Shell, etc.)
├── custom/             # Your application-specific rules
└── tools/              # Rule validation and sync utilities

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

Released under the Apache-2.0 License.