ადმინ UI
PRX-WAF ბინარაში ჩასმულ Vue 3 + Tailwind CSS ადმინ-dashboard-ს შეიცავს. ის ჰოსტების, წესების, სერთიფიკატების, უსაფრთხოების მოვლენებისა და cluster-ის სტატუსის მართვის გრაფიკულ ინტერფეისს გვაძლევს.
ადმინ UI-ში შეხვედა
ადმინ UI API სერვერს კონფიგურირებულ მისამართზე ემსახურება:
http://localhost:9527ნაგულისხმევი სერთიფიკატები: admin / admin
WARNING
ნაგულისხმევი პაროლი პირველი შესვლის შემდეგ დაუყოვნებლივ შეცვალე. წარმოებ-გარემოებისთვის TOTP ორ-ფაქტორიანი ავთენტიფიკაციის ჩართვა.
ავთენტიფიკაცია
ადმინ UI ავთენტიფიკაციის ორ მექანიზმს მხარს უჭერს:
| მეთოდი | აღწერა |
|---|---|
| JWT ტოკენი | /api/auth/login-ის გავლით მოპოვებული, ბრაუზერის localStorage-ში შენახული |
| TOTP (სურვილისამებრ) | ორ-ფაქტორიანი ავთენტიფიკაციისთვის დროზე-დაფუძნებული ერთ-ჯერადი პაროლი |
შესვლის API
curl -X POST http://localhost:9527/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username": "admin", "password": "admin"}'პასუხი:
{
"token": "eyJ...",
"refresh_token": "..."
}TOTP-ჩართული ანგარიშებისთვის totp_code ველის შეტანა:
{"username": "admin", "password": "admin", "totp_code": "123456"}Dashboard-ის სექციები
ჰოსტები
დაცული დომენებისა და მათი upstream backend-ების მართვა:
- ჰოსტების დამატება, რედაქტირება და წაშლა
- WAF-ის დაცვის ჰოსტ-მიხედვით ჩართვა-გამორთვა
- ჰოსტ-მიხედვით ტრაფიკ-სტატისტიკის ნახვა
წესები
ყველა წყაროდან გამოვლენის წესების მართვა:
- OWASP CRS, ModSecurity, CVE და მომხმარებლის წესების ნახვა
- ცალკეული წესების ჩართვა-გამორთვა
- კატეგორიის, სიმძიმის და წყაროს მიხედვით ძებნა-ფილტრაცია
- წესების იმპორტი და ექსპორტი
IP წესები
IP-ზე დაფუძნებული allow და block სიების მართვა:
- IP მისამართების ან CIDR დიაპაზონების დამატება
- allow/block ქმედებების დაყენება
- აქტიური IP წესების ნახვა
URL წესები
URL-ზე დაფუძნებული გამოვლენის წესების მართვა:
- URL შაბლონების regex-მხარდაჭერით დამატება
- block/log/allow ქმედებების დაყენება
უსაფრთხოების მოვლენები
გამოვლენილი შეტევების ნახვა და ანალიზი:
- რეალურ დროში მოვლენ-feed
- ჰოსტის, შეტევ-ტიპის, წყაროს IP-ისა და დროის დიაპაზონის მიხედვით ფილტრაცია
- მოვლენების JSON ან CSV-ად ექსპორტი
სტატისტიკა
ტრაფიკისა და უსაფრთხოების მეტრიკების ნახვა:
- მოთხოვნა წამში
- შეტევ-განაწილება ტიპის მიხედვით
- ყველაზე შეტევილი ჰოსტები
- ყველაზე წყარო IP-ები
- პასუხ-კოდ-განაწილება
SSL სერთიფიკატები
TLS სერთიფიკატების მართვა:
- აქტიური სერთიფიკატებისა და ვადის გასვლის თარიღების ნახვა
- ხელით სერთიფიკატების ატვირთვა
- Let's Encrypt-ის ავტო-განახლებ-სტატუსის მონიტორინგი
WASM Plugin-ები
WebAssembly plugin-ების მართვა:
- ახალი plugin-ების ატვირთვა
- ჩატვირთული plugin-ებისა და მათი სტატუსის ნახვა
- plugin-ების ჩართვა-გამორთვა
Tunnels
Reverse tunnels-ის მართვა:
- WebSocket-ზე დაფუძნებული tunnels-ის შექმნა და წაშლა
- Tunnel-სტატუსისა და ტრაფიკის მონიტორინგი
CrowdSec
CrowdSec ინტეგრაციის სტატუსის ნახვა:
- LAPI-ის აქტიური გადაწყვეტილებები
- AppSec ინსპექტირების შედეგები
- კავშირ-სტატუსი
შეტყობინებები
Alert-არხების კონფიგურაცია:
- Email (SMTP)
- Webhook
- Telegram
რეალურ დროში მონიტორინგი
ადმინ UI WebSocket endpoint-ს (/ws/events) live უსაფრთხოების მოვლენ-სტრიმინგისთვის უკავშირდება. მოვლენები რეალურ დროში გამოჩნდება შეტევების გამოვლენისა და ბლოკვის მიხედვით.
WebSocket-ს პროგრამულადაც შეიძლება დაკავშირება:
const ws = new WebSocket("ws://localhost:9527/ws/events");
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
console.log("Security event:", data);
};უსაფრთხოების გამაგრება
ადმინ-წვდომის IP-ით შეზღუდვა
ადმინ UI-სა და API-ის წვდომის სანდო ქსელებამდე შეზღუდვა:
[security]
admin_ip_allowlist = ["10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"]Rate Limiting-ის ჩართვა
ადმინ API-ის brute-force შეტევებიდან დასაცავად:
[security]
api_rate_limit_rps = 100CORS-ის კონფიგურაცია
ადმინ API-ზე წვდომ-origin-ების შეზღუდვა:
[security]
cors_origins = ["https://admin.example.com"]ტექნოლოგიური სტეკი
| კომპონენტი | ტექნოლოგია |
|---|---|
| Frontend | Vue 3 + Tailwind CSS |
| Build | Vite |
| State | Pinia |
| HTTP Client | Axios |
| Charts | Chart.js |
| Embedding | Axum-ის მიერ გაშვებული სტატიკური ფაილები |
ადმინ UI-ის საწყისი კოდი საცავში web/admin-ui/-ში მდებარეობს.
შემდეგი ნაბიჯები
- სწრაფი დაწყება -- პირველი დაცული ჰოსტის გამართვა
- კონფიგურაციის ცნობარი -- ადმინ-უსაფრთხოების პარამეტრები
- CLI ცნობარი -- ბრძანებ-ხაზ-მართვის ალტერნატივა