Linux Security
    Linux Security
    Linux Security

    OctopusWAF: A Customizable Open-Source WAF for High Performance Applications

    Date 24 Nov 2020
    8001
    Posted By Brittany Day
    OctopusWAF open-source web application firewall

    Mainstream web application firewalls (WAFs) can be very difficult to understand, with thousands of lines of code and obscure plugins. This complexity makes it challenging for developers to modify code to block specific anomalies and secure their applications. But OctopusWAF is different - the open-source WAF is customizable, user-friendly and optimized for a large number of parallel connections - making it ideal for high performance Asynchronous JavaScript and XML (AJAX) applications.

     

    What Is a WAF?

    A WAF is a piece of software or hardware intended to protect an HTTP application at the level of the application. WAFs apply a set of rules, which are designed to protect against common attacks such as Cross-site Scripting (XSS) and SQL Injection, to HTTP conversations. As proxies generally protect clients, WAFs protect servers and are deployed to protect one or many web applications. Because of this, a WAF is considered a reverse proxy.

    WAFs can be customized to specific applications; however, this customization often requires significant effort, and maintenance must be performed as the application is modified.

    There are two types of WAFs. The first type uses a HTTPd plugin to gather input or output data. There are multiple significant disadvantages associated with deploying this type of WAF - it is not fully portable, the developer needs to create various HTTPd plugins, and performance is often poor, to name a few.

    The second type, which is an independent reverse proxy server, brings all requests made by the client to the proxy. The proxy then analyzes the content and  sends all information that is not blocked to the external server.

    OctopusWAF Harnesses the Power of Open Source to Maximize Performance

    Cybersecurity engineer and ethical hacker Antonio Costa (known in the Hacker community as "CoolerVoid") has created OctopusWAF to maximize performance and minimize the complexity associated with deploying a WAF. OctopusWAF leverages resources from the vibrant, global open-source community, which has enabled the up-and-coming WAF to gain performance and provide lightweight, customizable web application protection. OctopusWAF is written in the C programming language and uses libevent to make multiple connections. Its event-driven architecture is optimized for a large number of parallel connections (keep-alive), making OctopusWAF ideal for high performance AJAX applications. OctopusWAF offers flexible deployment, and is the perfect WAF for endpoints that require custom protection.Octopus Bannerv04

    The current version of OctopusWAF, version 0.4, doesn't have the support required to load the OWASP ModSecurity CRS Project’s rules; however, developers can load custom rules in the directory "conf". 

    Costa encourages community involvement in the OctopusWAF project. He states, “Creating a WAF on my own has been very challenging. I am looking to grow the OctopusWAF project, and I need collaborators in order to be able to do so. Anyone that wants help is welcome to. Whether you have suggestions or code contributions - I urge you to get involved in this project. Great things are in store for the future!”

    Thank you to Antonio Costa for his contributions to this article.

    Additional Resources:

    Watch a test libinjection in OctopusWAF: https://www.youtube.com/watch?v=qbnis-i7EqU

    To compile and run OctopusWAF, follow the readme.md file on the project’s Github page: https://github.com/CoolerVoid/OctopusWAF

    Have another open-source project that you’d like us to cover? Please let us know - we love to hear your ideas!

    LinuxSecurity Poll

    'Tis the season of giving! How have you given back to the open-source community?

    No answer selected. Please try again.
    Please select either existing option or enter your own, however not both.
    Please select minimum 0 answer(s) and maximum 3 answer(s).
    /main-polls/49-tis-the-season-of-giving-how-have-you-given-back-to-the-open-source-community?task=poll.vote&format=json
    49
    radio
    [{"id":"171","title":"I've contributed to the development of an open-source project.","votes":"11","type":"x","order":"1","pct":34.38,"resources":[]},{"id":"172","title":"I've reviewed open-source code for security bugs.","votes":"6","type":"x","order":"2","pct":18.75,"resources":[]},{"id":"173","title":"I've made a donation to an open-source project.","votes":"15","type":"x","order":"3","pct":46.88,"resources":[]}] ["#ff5b00","#4ac0f2","#b80028","#eef66c","#60bb22","#b96a9a","#62c2cc"] ["rgba(255,91,0,0.7)","rgba(74,192,242,0.7)","rgba(184,0,40,0.7)","rgba(238,246,108,0.7)","rgba(96,187,34,0.7)","rgba(185,106,154,0.7)","rgba(98,194,204,0.7)"] 350

    Please vote first in order to view vote results.


    VIEW MORE POLLS

    bottom 200

    Please enable / Bitte aktiviere JavaScript!
    Veuillez activer / Por favor activa el Javascript![ ? ]

    We use cookies to provide and improve our services. By using our site, you consent to our Cookie Policy.