Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 17464|Vastaus: 2

[Web] ngx_lua_waf on web-sovelluksen palomuuri, joka perustuu lua-nginx-moduuliin (openresty).

[Kopioi linkki]
Julkaistu 21.12.2016 16.51.51 | | | |

ngx_lua_waf

ngx_lua_waf on ngx_lua-pohjainen web-sovelluspalomuuri, joka kehitettiin kun liityin Fun Traveliin.

Koodi on yksinkertaista, ja kehityksen alkuperäinen tarkoitus on käyttää yksinkertaisuutta, suorituskykyä ja kevyttä.

Se on nyt avoimen lähdekoodin ja noudattaa MIT-lisenssiä. Se sisältää suodatussääntömme. Jos sinulla on ehdotuksia tai haluat tehdä niin, voit vapaasti parantaa sitä kanssani.

Käyttötarkoitukset:
            
      
Estää verkkohyökkäykset kuten SQL-injektio, paikallinen sisällyttäminen, osittainen ylivuoto, fuzzing-testaus, xss, SSRF jne
        Estä tiedostovuoto, kuten SVN/varmuuskopiointi
        Estä hyökkäykset stressitestaustyökaluilta, kuten ApacheBenchiltä,
        Estä yleisiä skannaushakkerointityökaluja, skannereita
        Estä epätavalliset verkkopyynnöt
        Estä kuvaliitehakemiston PHP-suoritusoikeus
        Estä webshell-lataukset


Suositeltu asennus:

Suositellaan lujit2.1:n käyttöä lua-tuen saamiseksi

ngx_lua jos versio on 0.9.2 tai uudempi, suositellaan vaihtamaan tavallinen suodatinfunktio ngx.re.findiksi, jolloin sovitustehokkuus kasvaa noin kolminkertaiseksi.


Käyttöohjeet:

Nginx-asennuspolun oletetaan olevan: /usr/local/nginx/conf/

Lataa ngx_lua_waf conf-hakemistoon, avaa se ja nimeä se waf

Lisää se nginx.conf:n http-osioon

            

Määritä WAF-sääntöhakemisto config.lua:ssa (yleensä waf/conf/-hakemistossa)

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

Jos absoluuttinen polku muuttuu, sitä täytyy muokata sen mukaisesti

Sitten käynnistä nginx uudelleen


Profiilin tiedot:

           
RulePath = "/usr/local/nginx/conf/waf/wafconf/"
        --sääntötallennushakemisto
        attacklog = "pois päältä"
        --Hyökkäystietojen lokituksen mahdollistamiseksi sinun täytyy konfiguroida logdir
        logdir = "/usr/local/nginx/logs/hack/"
        --log storage directory, joka käyttäjän täytyy itse luoda ja vaatii nginx-käyttäjän kirjoitusluvan
        UrlDeny="on"
        --estääkö URL-käyttö
        Uudelleenohjaus="päällä"
        --ohjataanko ohjaukseen interception jälkeen
        CookieMatch = "päällä"
        --Estääkö evästehyökkäykset
        postMatch = "päällä"
        --estääkö hyökkäyksen jälkeinen hyökkäys
        whiteModule = "päällä"
        --pitäisikö URL-valkoisen listan ottaa käyttöön
        black_fileExt={"php","jsp"}
        --Täytä tiedostopäätetyyppi, jota ei saa ladata
        ipWhitelist={"127.0.0.1"}
        --IP whitelist, useat IP-osoitteet on erotettu pilkuilla
        ipBlocklist={"1.0.0.1"}
        --IP-mustalla listalla, useat IP-osoitteet on erotettu pilkuilla
        CCDeny="on"
        --Sallitaanko cc-hyökkäysten sieppaus (vaatii, että nginx.conf:n HTTP-segmenttiä pitää kasvattaa lua_shared_dict rajoitus 10 m; )
        CCrate = "100/60"
        --Aseta CC-hyökkäysten taajuus sekunneissa.
        --Oletuksena sama IP-osoite voi pyytää samaa osoitetta vain 100 kertaa minuutissa
        html=[[Ole hyvä ja mene pois~~]]
        --Varoitussisältö, muokattavissa sulkeissa
        Huomautus: Älä käytä lainausmerkkejä kirjainkoon herkän merkinnän vuoksi

        
Tarkista, ovatko säännöt voimassa.

Käyttöönoton jälkeen voit kokeilla seuraavaa komentoa:        
  
      

Huomautus: Oletuksena kone ei suodata valkoista listaa, ja voit säätää config.lua-asetusta itse


Renderöinnit ovat seuraavat


Sääntöpäivitykset:

Ottaen huomioon säännöllisten välimuistiongelman, dynaamiset säännöt vaikuttavat suorituskykyyn, joten en käytä esimerkiksi jaettuja muistisanakirjoja ja redis-tiedostoja dynaamiseen hallintaan.

Sääntöpäivityksiä voi asentaa muille palvelimille, ja sääntöjä voi päivittää lataamalla niitä säännöllisesti crontab-tehtävän kautta, jolloin nginx-lataus astuu voimaan. Varmistaaksemme NGX LUA WAF:n korkean suorituskyvyn.

Tallenna vain suodatinloki, älä ota suodatusta päälle, lisää vain -- kommentti ennen kooditarkistusta, jos tarvitset suodatusta, päinvastoin

Muutamia huomioita:

        Suodatussääntöjä voi säätää tarpeidesi mukaan wafconfissa, ja jokainen sääntö täytyy paketoida tai jakaa |
        
                args-säännöt saavat parametrin suodattamaan
                URL-osoitteet ovat sääntöjä, jotka pyytävät vain GET:llä suodatettuja URL-linkkejä               
                POST on suodatussääntö vain post-pyynnöissä               
                Valkoinen lista on valkoinen lista, ja sen URL-osoitteet vastaavat niin, ettei sitä suodateta               
                user-agent on suodatussääntö user-agentille
        

        Haku- ja viestisuodatus on oletuksena päällä, jos sinun täytyy ottaa evästesuodatus käyttöön, muokkaa waf.lua:n peruutusosaa – kommentti
        
        Lokitiedoston nimimuoto on seuraava: Web Host Name _sec.log






Edellinen:Powershell ei lataa tiedostoja suoraan skriptattaessa, koska skripti on kielletty
Seuraava:cmd /c ja cmd /k selitetään yksityiskohtaisesti
Julkaistu 8.11.2017 15.23.22 |
Kyllä, opin
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com