GithubHelp home page GithubHelp logo

scollazo / docker-naxsi-waf-with-ui Goto Github PK

View Code? Open in Web Editor NEW
31.0 5.0 32.0 46 KB

Ubuntu based naxsi web application firewall

License: GNU General Public License v3.0

Shell 27.97% JavaScript 37.42% Nginx 34.62%

docker-naxsi-waf-with-ui's Introduction

docker-naxsi-waf-with-ui

About cutting-edge branch

Run the latest version of the naxsi WAF, with the ability to analyze the data set by using the searching/aggregation capabilities of Elasticseach and the visualization power of Kibana

This docker image is intented to test and understand nxapi/nxtool, the new lerning tool for naxsi logs that attempts to perform the following :

  • Events import : Importing naxsi events into an elasticsearch database
  • Whitelist generation : Generate whitelists, from templates rather than from purely statistical aspects
  • Events management : Allow tagging of events into database to exclude them from wl gen process
  • Reporting : Display information about current DB content

The image is built from source, using nginx 1.9.10 and naxsi master branch.

Requirements

Setup

  1. Install Docker.
  2. Install Docker-compose.
  3. Clone this repository
  4. Edit the docker-compose.yml and set the BACKEND_IP to the server that will be protected by naxsi, and (optionally) KIBANA_PASSWORD if you want to protect access to dashboards. User is kibana

Usage

Start the stack using docker-compose:

$ docker-compose up

You can also choose to run it in background (detached mode):

$ docker-compose up -d

By default, the stack exposes the following ports:

  • 80: Nginx with Naxsi, forwarding requests to BACKEND_IP
  • 8080: Kibana web UI

Naxsi in launched in learning mode, and logs are feed to elasticsearch every five seconds in a non ideal way, due to issues found while using the methods provided to get live logs from nginx to nxtool/nxapi.

Use your web (browse http://your_host_ip) to populate the stack, and then go to http://your_host_ip:8080 to see the reports using kibana.

The data stored in elasticsearch is persisted in ./elasticsearch-data directory, and this can be changed in docker-compose.yml

If you find problems, or want to run the nxtool utility to query the database you can get a shell by running:

docker ps # Identify naxsi container id
docker exec -i -t <CONTAINER_ID> /bin/bash

docker-naxsi-waf-with-ui's People

Contributors

mandhor avatar scollazo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-naxsi-waf-with-ui's Issues

Error with elasticsearch container

Hello,
I made: docker-compose up and an error occurred:

Starting waf_elasticsearch_1
waf_kibana_1 is up-to-date
Recreating waf_naxsi_1

ERROR: for naxsi  Cannot start service naxsi: driver failed programming external connectivity on endpoint waf_naxsi_1 (453060062fd7050d92ac48b70b0f4ad399e1118f6dcdc254da1e945fc41fb343): Error starting userland proxy: listen tcp 0.0.0.0:8080: bind: address already in use
ERROR: Encountered errors while bringing up the project.

penetration testing

if i want to testing WAF naxsi with exploit, that does web which are suitable to penetration testing with nginx ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.