<div dir="ltr">Hi John,<div><br></div><div>Sorry for the delayed response as i was on vacation with no internet connection (you don't know how much</div><div>you miss it until you don't have it).</div><div><br></div><div>The work in terms of coding is pretty much done for the reference implementation.</div><div>We initially tried to push it as a security group extension but there is a strong objection </div><div>to change the security group API, so FWaaS can be next best candidate if we can find support</div><div>or other uses of this (like your use case)</div><div>(Of course that work will need to be added for supporting the connection limit, we tried</div><div>to  tackle brute force prevention which i personally see as a more concerning attack vector internally)</div><div><br></div><div>Out of curiosity can you describe scenarios of DDoS attacking from an internal VM ?</div><div>I would assume most DDoS will happen from external traffic or a combine attack from various internal</div><div>VM's (and then this might no longer fit as a QoS)</div><div><br></div><div>But if you feel this belongs in QoS this can certainly be added on top of the framework as Miguel suggested.</div><div><br></div><div>Thanks</div><div>Gal.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jun 19, 2015 at 12:39 AM, John Joyce (joycej) <span dir="ltr"><<a href="mailto:joycej@cisco.com" target="_blank">joycej@cisco.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Gal:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      I had seen the brute force blueprint and noticed how close the use case was.  Can you tell me the current status of the work?  Do you feel confident it
 can get into Liberty?  Ideally, we think this fits better with QoS.  Also I don’t think of it as providing FWaaS as we see that all VMs would be protected by this when enabled, but maybe that is just terminology.   We think these protections are critical so
 we are more concerned with having the ability to protect against these cases than the specific API or service it falls under.  Yes we would be interested in working together to get this pushed through.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">                                                                                                                                John<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Gal Sagie [mailto:<a href="mailto:gal.sagie@gmail.com" target="_blank">gal.sagie@gmail.com</a>]
<br>
<b>Sent:</b> Wednesday, June 17, 2015 12:45 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions)<br>
<b>Cc:</b> <a href="mailto:lionel.zerbib@huawei.com" target="_blank">lionel.zerbib@huawei.com</a>; Derek Chamorro (dechamor); Eran Gampel<br>
<b>Subject:</b> Re: [openstack-dev] [Neutron] [QOS] Request for Additional QoS capabilities<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Hi John,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">We were trying to push a very similar spec to enhance the security group API, we covered both DDoS case<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">and another use case for brute force prevention (We did a research to identify common protocols login behaviour<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">in order to identify brute force attacks using iptables) and even some UI work<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">You can view the specs and implementations here:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">1) <a href="https://review.openstack.org/#/c/184243/" target="_blank">https://review.openstack.org/#/c/184243/</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">2) <a href="https://review.openstack.org/#/c/154535/" target="_blank">https://review.openstack.org/#/c/154535/</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">3) <a href="https://review.openstack.org/#/c/151247/" target="_blank">https://review.openstack.org/#/c/151247/</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">4) <a href="https://review.openstack.org/#/c/161207/" target="_blank">https://review.openstack.org/#/c/161207/</a><u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">The spec didn't got approved as there is a strong opinion to keep the security group API compatible with Amazon.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I think this and your request fits much more into the FWaaS and if this is something you would like to work together on and push<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">i can help and align the above code to use FWaaS.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Feel free to contact me if you have any question<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Gal.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div><div>
<p class="MsoNormal"><u></u> <u></u></p>
<div><div><div class="h5">
<p class="MsoNormal">On Wed, Jun 17, 2015 at 6:58 PM, John Joyce (joycej) <<a href="mailto:joycej@cisco.com" target="_blank">joycej@cisco.com</a>> wrote:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Hello everyone:    
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">      I would like to test the waters on some new functionality we think is needed to protect OpenStack deployments from some overload situations due to
 an excessive user or DDOS scenario.   We wrote this up in the style of an RFE.   Please let us know your thoughts and we can proceed with a formal RFE with more detail if there are no concerns raised.  
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">*What is being requested*</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">This request is to extend the QOS APIs to include the ability to provide connection rate limiting
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">*Why is it being requested*</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">There are many scenarios where a VM may be intentionally malicious or become harmful to the network due to its rate of initializing TCP connections.  
 The reverse direction of a VM being attacked with an excessive amount of TCP connection requests either intentionally or due to overload is also problematic.
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">*Implementation Choices</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">   There might be a number of ways to implement this,  but one of the easiest would appear to be to extend the APIs being developed under: 
<a href="https://review.openstack.org/#/c/187513/" target="_blank">https://review.openstack.org/#/c/187513/</a></span><span style="color:#1f497d">.
</span><span style="color:black">An additional rule type “connections per-second” could be added.   
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">The dataplane implementation itself may be realized with netfilter and conntrack.  
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">*Alternatives</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">It would be possible to extend the security groups in a similar fashion,  but due to the addition of rate limiting, QoS seems a more nature fit.   
</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">*Who needs it*</span><u></u><u></u></p>
<p class="MsoNormal"><span style="color:black">Cloud operators have experienced this issue in real deployments in a number of cases.  </span><u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
</div></div><p class="MsoNormal" style="margin-bottom:12.0pt"><br><span class="">
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></p>
</div><span class="">
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<p class="MsoNormal">Best Regards ,<br>
<br>
The G. <u></u><u></u></p>
</div>
</span></div>
</div>
</div>

<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best Regards ,<br><br>The G. </div>
</div>