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.