I want to create a web application firewall from scratch. I am going to use machine learning to train it to classify malicious and clean queries. My dilemma is that I am a beginner and am unable to choose which language to code it n and also should I make it a reverse proxy or as a server plugin?
closed as off-topic by Steffen Ullrich, TheJulyPlot, WhiteWinterWolf, Jedi, Xander Jul 30 '17 at 17:00
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "This question does not appear to be about Information security within the scope defined in the help center." – WhiteWinterWolf, Jedi, Xander
It is an idea that everyone in security is hoping to solve sooner and better than the others! Of course there are also people who say it's an overkill for a WAF. But hey, All the best! :)
- unable to choose which language to code it in
I'll assume that you did study ML (not just read about it) - in which case you may have used some ML libraries and done some coding. If your milestone goal is to get a working prototype / POC, you should just choose the language that you used while learning. This is a challenging project and you don't want to add "learn a new language" to the list of challenges.
- reverse proxy or server plugin
Again, choose what you are familiar with. That will get you soonest to the goal of a minimum viable product (MVP). e.g., When we developed our product ActiFend, our development team was already familiar with WordPress Plugins, so for an MVP, we chose that path - and got something to show in weeks instead of months. It's another matter that we got stuck there for a long time now (scope creep), but if I were to choose again with hindsight, I'd do the same.
It won't matter whether you are just a one-person-army doing this or you have a large team. As an Agile practitioner and evangelist - I say: get something small working ASAP.