Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 17464|Válasz: 2

[Web] ngx_lua_waf egy webalkalmazási tűzfal, amely a lua-nginx-modulon (openresty) alapul.

[Linket másol]
Közzétéve 2016. 12. 21. 16:51:51 | | | |

ngx_lua_waf

ngx_lua_waf egy ngx_lua-alapú webalkalmazás-tűzfal, amit akkor fejlesztettek ki, amikor először csatlakoztam a Fun Travelhez.

A kód egyszerű, és a fejlesztés eredeti célja az egyszerűség, a nagy teljesítmény és a könnyű teljesítmény használata.

Jelenleg nyílt forráskódú, és megfelel az MIT licencének. Tartalmazza a szűrési szabályainkat. Ha van bármilyen javaslatod vagy szeretne fa-t csinálni, nyugodtan javíts velem.

Felhasználás:
            
      
Megakadályozzuk a webes támadásokat, mint az SQL beinjekció, helyi befogadás, részleges túlcsordulás, fuzzing tesztelés, xss, SSRF stb
        A fájlszivárgás, például az SVN/biztonsági mentés megelőzése
        Megelőzés a stressztesztelő eszközök, például az ApacheBench támadásai
        Blokkold a gyakori szkennelő hackelési eszközöket, szkennereket
        Szokatlan hálózati kérések blokkolása
        Blokkolja a képcsatolmány könyvtár PHP végrehajtási engedélyét
        Webshell feltöltések megakadályozása


Ajánlott telepítés:

Ajánlott a lujit2.1 használata lua támogatásra

ngx_lua ha 0.9.2 vagy újabb verzióról van szó, ajánlott a normál szűrő függvényt ngx.re.find formátumra cserélni, így a párosítás hatékonysága körülbelül háromszor nő.


Használati utasítások:

Az nginx telepítési útvonal feltételezése: /usr/local/nginx/conf/

Töltsd le a ngx_lua_waf a konferencia könyvtárba, nyitd ki, és nevezd el WAF-nak

Add hozzá a nginx.conf http szekciójához

            

Konfiguráld a WAF szabálykönyvtárat a config.lua (általában a waf/conf/ könyvtárban)

        RulePath = "/usr/local/nginx/conf/waf/wafconf/"

Ha az abszolút út megváltozik, ennek megfelelően kell módosítani

Aztán indítsd újra, nginxet


Profil részletek:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --szabálytároló könyvtár
        attacklog = "kikapcsolva"
        --A támadási információs naplózás engedélyezéséhez be kell állítani a logdirt
        logdir = "/usr/local/nginx/logs/hack/"
        --log tároló könyvtár, amelyet a felhasználónak kell létrehoznia, és amely az nginx felhasználó írási engedélyét igényli
        UrlDeny="on"
        --hogy blokkoljuk-e az URL-hozzáférést
        Átirányítás="on"
        --hogy átirányítsák-e az interception után
        CookieMatch = "bekapcsolva"
        --Hogy blokkoljuk-e a süti támadásokat
        postMatch = "on"
        --hogy blokkoljanak-e egy támadás utáni támadást
        whiteModule = "bekapcsolva"
        --hogy bekapcsoljuk-e az URL fehérlistát
        black_fileExt={"php","jsp"}
        --Töltse ki azt a fájl utótagtípust, amely nem feltölthető
        ipWhitelist={"127.0.0.1"}
        --IP fehérlistája, több IP-t vesszővel választanak el
        ipBlocklist={"1.0.0.1"}
        --IP feketelista, több IP-t vesszővel választanak el
        CCDeny="on"
        --Engedélyezni-e a cc támadások elfogását (megköveteli, hogy a nginx.conf HTTP szegmensét növelni lua_shared_dict 10 méteres korlátozást; )
        CCrate = "100/60"
        --Állítsd be a CC támadás frekvenciáját másodpercek alatt.
        --Alapértelmezés szerint ugyanaz az IP-cím csak 100 alkalommal kérheti ugyanazt a címet percenként
        html=[[Kérlek, menj el~~]]
        --Figyelmeztető tartalom, testreszabható zárójelben
        Megjegyzés: Ne használj dupla idézőjelet a kis- és nagybetűérzékeny karakter érdekében

        
Ellenőrizd, hogy a szabályok érvényesek-e

Telepítés után kipróbálhatod a következő parancsot:        
  
      

Megjegyzés: Alapértelmezés szerint a gép nem szűri a fehérlistát, és a config.lua konfigurációt magad is állíthatod be


A képek a következők


Szabályfrissítések:

Figyelembe véve a rendszeres gyorsítótára-problémát, a dinamikus szabályok befolyásolják a teljesítményt, ezért nem használok olyan dolgokat, mint a közös memória szótárakat és a redis rendszereket dinamikus menedzsmenthez.

A szabályfrissítéseket más szerverekre is telepíthetjük, és a szabályokat rendszeresen letöltöd a crontab feladaton keresztül, így az nginx újratöltés is érvényesül. Az NGX LUA WAF magas teljesítményének biztosítása érdekében.

Csak a szűrőnaplót rögzítsd, ne kapcsold be a szűrést, csak írj hozzá egy hozzászólást a kód ellenőrzése előtt, ha szűrni kell, fordítva

Néhány megjegyzés:

        A szűrési szabályokat a wafconf igényeid szerint lehet módosítani, és minden szabályt be kell csomagolni vagy szétválasztani a |
        
                ARGS szabályok paramétert szűrőznek
                Az URL-ek olyan szabályok, amelyek csak a GET-ben szűrt URL-eket kérnek               
                A bejegyzés csak a bejegyzéskérésekben szűrési szabály               
                A fehérlista fehérlista, és az URL-ek megegyeznek, így nem szűrik               
                user-agent egy szűrőszabály a user-agent számára
        

        A Get és a poszt szűrés alapértelmezetten engedélyezve, ha engedélyezni kell a cookie szűrést, szerkessd a waf.lua cancel részt - komment
        
        A naplófájl név formátuma a következő: Web Host Név _sec.log






Előző:A PowerShell nem tölti be fájlokat közvetlenül szkriptelés közben, mert a szkript tiltott
Következő:cmd /c és cmd /k részletesen el vannak magyarázva
Közzétéve 2017. 11. 08. 15:23:22 |
Igen, megtanultam
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com