Automatizare reguli de firewall în Proxmox cu grupuri de securitate bazate pe ASN
Administrarea regulilor de firewall în Proxmox VE devine exponențial mai complexă pe măsură ce infrastructura ta crește. Când trebuie să blochezi sau să permiți trafic de la organizații întregi, provideri cloud sau actori cunoscuți pentru activități malițioase, te confrunți cu o problemă simplă fără o soluție simplă. Aceste organizații nu dețin blocuri IP clare și unitare. Ele controlează mii de prefixe de rețea fragmentate, împrăștiate în tabelul de rutare global. Adăugarea lor manuală creează firewall-uri umflate și lente, care devin obsolete în câteva săptămâni. Am construit o unealtă pentru a rezolva această problemă. Astăzi, lansăm ca open source PVE-SecGroup, un manager automat de obiecte firewall care transformă numerele de sistem autonom în grupuri de securitate dinamice și autoactulizabile pentru Proxmox VE.
Problema: administrarea manuală a IP-urilor nu scalează
Ia în considerare un scenariu real întâlnit în timp ce administram servere de producție pentru clienți. Un anumit furnizor de hosting a devenit o sursă persistentă de trafic de scanare și încercări de brute-force. Soluția părea simplă: blochează intervalele lor de IP în firewall-ul Proxmox. Realitatea a fost mult mai complexă. Acest provider opera sub AS216071 și controla sute de prefixe de rețea disjuncte. Adăugarea manuală a fiecărui prefix ca regulă de firewall a fost laborioasă. Mai rău, aceste intervale se schimbă constant pe măsură ce providerii achiziționează sau eliberează spațiu IP. În decurs de o lună, lista noastră de blocare construită cu atenție era deja incompletă și depășită.
Acest scenariu se repetă în fiecare mediu de producție. Trebuie să incluzi pe whitelist traficul de la furnizorul tău CDN. Trebuie să blochezi țări întregi pentru conformitate. Trebuie să restricționezi accesul API la rețelele partenere cunoscute. Fiecare cerință se traduce în sute sau mii de reguli individuale de firewall care trebuie menținute manual. Performanța scade pe măsură ce numărul de reguli crește. Eroarea umană devine inevitabilă. Deriva de securitate devine garantată.
Ce este PVE-SecGroup?
PVE-SecGroup este un script Bash care automatizează crearea și menținerea grupurilor IPSet din Proxmox pe baza numerelor de sistem autonom. Un ASN este un identificator unic atribuit organizațiilor care controlează blocuri de rutare internet, cum ar fi ISP-uri, provideri cloud, universități sau întreprinderi mari. În loc să urmărești prefixe IP individuale, definești grupuri de securitate după ASN. Scriptul interoghează tabelul de rutare BGP global, recuperează toate prefixele curente pentru acele ASN-uri, le agregă în superrețele optimizate și actualizează firewall-ul tău Proxmox automat.
Unealta rulează ca un job programat. În fiecare noapte, verifică modificările de rutare, recalculează regulile optime de firewall și aplică actualizările atomic. Regulile tale de firewall rămân actuale fără intervenție manuală. Numărul de reguli rămâne minim prin agregare inteligentă. Postura ta de securitate se adaptează automat la tabelul de rutare internet în continuă schimbare.
Cum funcționează PVE-SecGroup
Scriptul urmează un flux de lucru simplu și fiabil, conceput pentru stabilitate în producție. Mai întâi, încarcă fișierul tău de configurare unde ai definit grupurile țintă de securitate mapate la ASN-uri specifice. Pentru fiecare grup, interoghează tabelul de rutare folosind bgpq4, o unealtă specializată pentru căutări de prefixe BGP. Unealta returnează toate prefixele IP anunțate în prezent de acel ASN. PVE-SecGroup agregă apoi aceste prefixe matematic, unind rețelele adiacente în superrețele mai mari oriunde este posibil.
Aici devine critică abordarea de actualizare atomică. Scriptul nu modifică configurația live a firewall-ului direct. În schimb, construiește o configurație nouă completă într-un fișier de lucru. Doar după ce întreaga configurație nouă este generată și validată, înlocuiește configurația live cu o singură operație atomică de fișier. Acest lucru asigură că nu există niciodată un moment în care firewall-ul tău este într-o stare parțial actualizată sau defectă. Înainte ca orice modificare să fie aplicată, scriptul creează automat o copie de siguranță cu timestamp a configurației tale existente. Dacă ceva merge prost, ai o cale imediată de rollback.
de># Exemplu de flux de lucru când scriptul rulează: [2025-12-07 02:00:01] Starting Firewall Update Sequence... [2025-12-07 02:00:01] Loaded configuration from: /etc/pve-secgroup.conf [2025-12-07 02:00:01] Backup created at /etc/pve/firewall/backups/cluster.fw.1733540401.bak [2025-12-07 02:00:02] Processing Group: [servers-tech-fzco] | ASNs: AS216071 [2025-12-07 02:00:03] -> Fetched 42 aggregated prefixes. [2025-12-07 02:00:03] -> Group [servers-tech-fzco] updated in working config. [2025-12-07 02:00:03] All groups processed. Configuration applied to /etc/pve/firewall/cluster.fw [2025-12-07 02:00:04] Firewall service restarted successfully [2025-12-07 02:00:04] Update sequence completed.
Puterea agregării BGP
Avantajul de performanță al PVE-SecGroup provine din agregarea prefixelor. Când o organizație deține multe blocuri IP mici și adiacente, bgpq4 le poate combina matematic în superrețele mai mari. De exemplu, dacă un ISP deține 256 de rețele /24 consecutive, acele 256 de reguli individuale de firewall pot fi înlocuite cu o singură regulă /16 care acoperă exact același spațiu de adrese. Firewall-ul tău verifică acum o singură regulă în loc de 256. Overhead-ul de procesare scade dramatic. Filtrarea pachetelor devine mai rapidă. Consumul de memorie scade.
În mediile de producție pe care le administrăm, această agregare reduce de obicei numărul de reguli cu 85-95% comparativ cu listarea naivă a prefixelor individuale. Un grup de securitate care ar necesita 1.200 de reguli individuale devine 40-60 de superrețele agregate. Firewall-ul îndeplinește aceeași funcție de securitate cu o fracțiune din costul computațional.
Configurarea este simplă
Fișierul de configurare folosește sintaxă Bash directă. Definești grupurile țintă ca un array asociativ care mapează numele grupurilor la liste de ASN-uri separate prin spații. Poți configura dacă traficul blocat ar trebui respins cu un răspuns ICMP sau eliminat în tăcere.
de># /etc/pve-secgroup.conf # Rule Action: REJECT or DROP RULE_ACTION="REJECT" # Define Groups declare -A TARGET_GROUPS # Blochează un furnizor de hosting problematic specific TARGET_GROUPS["servers-tech-fzco"]="AS216071" # Whitelist pentru provideri CDN de încredere (Cloudflare și Google) TARGET_GROUPS["trusted-cdn"]="AS13335 AS15169" # Blochează un ISP întreg cunoscut pentru abuzuri TARGET_GROUPS["blocked-isp"]="AS12345"
Fiecare grup devine un IPSet în firewall-ul tău Proxmox. Apoi referențiezi aceste IPSet-uri în regulile tale de firewall exact ca orice altă adresă IP sau rețea. Diferența este că aceste IPSet-uri se actualizează singure automat în fiecare noapte pe baza datelor curente de rutare BGP.
Instalare și configurare
Instalarea PVE-SecGroup necesită doar câteva comenzi. Unealta depinde de bgpq4 pentru căutările BGP, care este disponibil în depozitele standard Debian.
de># Instalează dependențele apt-get update && apt-get install bgpq4 # Clonează repository-ul git clone https://github.com/ENGINYRING/PVE-SecGroup.git cd PVE-SecGroup # Instalează în directoarele de sistem cp pve-secgroup.sh /usr/local/bin/ cp pve-secgroup.conf /etc/ chmod +x /usr/local/bin/pve-secgroup.sh # Editează configurația pentru a-ți defini grupurile nano /etc/pve-secgroup.conf # Testează scriptul manual /usr/local/bin/pve-secgroup.sh
După verificarea că scriptul funcționează corect, adaugă-l în cron pentru actualizări automate zilnice.
de># Adaugă în crontab crontab -e # Actualizează grupurile de firewall zilnic la ora 2 dimineața 0 2 * * * /usr/local/bin/pve-secgroup.sh >/dev/null 2>&1
Cazuri de utilizare din lumea reală
Am implementat PVE-SecGroup în multiple medii pentru clienți pentru a rezolva provocări specifice de securitate și control al accesului. Iată scenarii în care administrarea firewall-ului bazată pe ASN oferă valoare imediată.
- Blocarea surselor persistente de atacuri: Când un anumit furnizor de hosting devine o sursă constantă de încercări de brute-force sau trafic de scanare, blocarea întregului lor ASN elimină problema la sursă. Firewall-ul urmărește automat spațiul lor IP pe măsură ce se schimbă, menținând protecția fără actualizări manuale.
- Geofencing pentru conformitate: Anumite cadre de reglementare necesită restricționarea accesului la țări specifice. Prin crearea de IPSet-uri pentru ISP-urile și furnizorii de hosting majori dintr-o țară, poți construi un firewall geografic eficient care se actualizează singur pe măsură ce providerii achiziționează spațiu de adrese nou.
- Whitelist pentru rețelele partenerilor: Când te integrezi cu API-uri sau servicii terțe, poți restricționa conexiunile de intrare doar la ASN-urile lor cunoscute. Acest lucru reduce suprafața ta de atac semnificativ comparativ cu permiterea conexiunilor de oriunde.
- Coordonare cu protecția CDN și DDoS: Pentru aplicații aflate în spatele CDN-urilor precum Cloudflare sau Fastly, poți crea un IPSet de tip allow-list pentru ASN-ul furnizorului CDN și apoi respinge tot celălalt trafic direct. Acest lucru forțează atacatorii să treacă prin nivelul de protecție al CDN-ului.
Siguranță mai întâi: înțelegerea riscurilor
Modificările automate ale firewall-ului sunt puternice, dar comportă riscuri. O configurare ASN incorectă te poate bloca de pe propriul tău server. Înainte de a implementa PVE-SecGroup în producție, asigură-te că ai acces out-of-band la host-ul tău Proxmox prin IPMI, KVM sau o consolă de datacenter. Testează-ți configurația temeinic într-un mediu non-producție mai întâi. Verifică întotdeauna că adresa ta IP de management este explicit pe whitelist înainte de a aplica reguli ample de blocare.
Scriptul creează backup-uri automate înainte de fiecare rulare, dar ar trebui să menții și propriile tale backup-uri de configurare în mod independent. Înțelege ce controlează fiecare ASN înainte de a-l adăuga într-un grup de securitate. Un whitelist configurat greșit poate bloca accidental servicii critice. O listă de blocare configurată greșit poate bloca accidental propria ta infrastructură dacă furnizorul tău de hosting partajează un ASN cu alți clienți.
De ce lansăm această unealtă ca open source
PVE-SecGroup s-a născut dintr-o nevoie operațională reală în practica noastră de hosting administrat la ENGINYRING. L-am construit pentru a rezolva o problemă cu care ne-am confruntat în mod repetat: menținerea regulilor de firewall precise și performante la scară. Unealta s-a dovedit fiabilă în mediile de producție pe parcursul mai multor implementări pentru clienți. Prin lansarea sa sub licență MIT, contribuim înapoi la comunitățile Proxmox și open-source care fac posibilă munca noastră.
Această unealtă reprezintă abordarea noastră în administrarea infrastructurii: automatizează sarcinile repetitive, elimină eroarea umană și construiește sisteme care rămân corecte în timp fără intervenție manuală constantă. În timp ce PVE-SecGroup este o adăugare puternică la trusa oricărui sysadmin, implementarea unei strategii complete de securitate implică mai mult decât automatizarea firewall-ului. Serviciile noastre VPS administrat încorporează acest nivel de automatizare ca parte a unei posturi mai ample de securitate care include monitorizare, patching, detecție de intruziuni și suport expert.
Începe acum
Codul sursă complet, documentația și configurațiile exemplu sunt disponibile pe GitHub la github.com/ENGINYRING/PVE-SecGroup. Unealta este lansată sub licență MIT, liberă de utilizat, modificat și distribuit. Bineveităm contribuții, raportări de bug-uri și cereri de funcționalități din partea comunității. Dacă întâmpini probleme sau ai întrebări despre implementare, deschide un issue pe repository.
Pentru organizațiile care preferă să se concentreze pe afacerea lor principală mai degrabă decât pe administrarea infrastructurii, ENGINYRING oferă medii Proxmox administrate unde unelte precum PVE-SecGroup sunt implementate și menținute ca parte a serviciului nostru. Explorează ofertele noastre de Servere Virtuale pentru a vedea cum putem aduce acest nivel de automatizare și expertiză infrastructurii tale.
Sursă și Atribuire
Aceast articol se bazează pe date originale ale ENGINYRING.COM. Pentru metodologia completă și pentru a asigura integritatea datelor, articolul original trebuie citat. Sursa canonică este disponibilă la: Automatizare reguli de firewall în Proxmox cu grupuri de securitate bazate pe ASN.