Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend FirewallCallBack To support 3 states #123

Open
Hesham-Elbadawi opened this issue Sep 19, 2017 · 7 comments
Open

Extend FirewallCallBack To support 3 states #123

Hesham-Elbadawi opened this issue Sep 19, 2017 · 7 comments

Comments

@Hesham-Elbadawi
Copy link

Hesham-Elbadawi commented Sep 19, 2017

I have one suggestion regarding the FirewallCallBack which will add an extra feature to the Filtering Engine.
Currently the behavior is return true for applications you would like the engine to filter (this makes the application packet undergo diversion of packets and therefore gets redirected to the listener port) while return false and the filter will completely ignore it and it's packet will not reach the filter but rather get re-injected to the stack.
My suggestion is have FirewallCallBack return ALLOW, INSPECT or DROP, then the behavior would be if allowed then just treat is as false in the current behavior, if INSPECT then treat is as ALLOW, otherwise if DROP then do not re-inject the packet into the network stack and just continue;

Also the callback will have to return an ordinal instead of the current bool and some changes are required.

I believe this can present application level blocking for HTTP(s) access as well which currently is not available.

Kind Regards,
Hesham

@TechnikEmpire
Copy link
Owner

@Hesham-Elbadawi Thanks for the suggestion. I suppose that acting as a protocol specific firewall would sort of fall under the banner of "filtering". My concern though is that we're venturing into a new territory and sort of beginning to act as a firewall on the machine when we really are not. The idea behind the callback was to enable users to ensure that the engine wasn't usurping the role of whatever firewall is already installed, and by changing this behavior we're leaning hard in the other direction instead.

I'll have to think about this. Either way thanks for the ticket/suggestion.

@Hesham-Elbadawi
Copy link
Author

Hesham-Elbadawi commented Sep 19, 2017 via email

@Hesham-Elbadawi
Copy link
Author

Hesham-Elbadawi commented Sep 19, 2017 via email

@TechnikEmpire
Copy link
Owner

I'll consider it. I have planned additions that will make it act as a firewall and IPS/IDS but these changes are still a long ways away. At that time I'd have to rebrand this to be more than a HTTP filtering engine, but there's dozens of other things that have my attention for some time. Plus there's other considerations that are legal in nature (I'd be in effect making this a security product which brings export control questions up) and if I'm going to venture into security land I'd want an expert at least consulting on it.

@Hesham-Elbadawi
Copy link
Author

Hesham-Elbadawi commented Sep 19, 2017 via email

@TechnikEmpire
Copy link
Owner

@TechnikEmpire
Copy link
Owner

TechnikEmpire commented Sep 19, 2017

I'm in Canada and there are some really stupid laws around exporting software. Fortunately and conveniently, exporting the USA typically lifts all of these restrictions (github = USA as far as I'm concerned). I need to read over the export control list again because there's a stupid remark in there about "security software" so if I start venturing into security land I need to make sure I don't get entangled in some bureaucratic web of nonsense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants