Openstack客户端的自定义WAF错误消息

时间:2019-03-27 13:20:48

标签: openstack web-application-firewall

我正在尝试使用Naxsi WAF保护OpenStack API。 WAF阻止它认为恶意的请求。我希望API调用者(用户)知道他何时被WAF阻止。

这是一个示例调用,将被WAF阻止:

$ openstack server list --name 'x.*>'
'NoneType' object is not subscriptable

我想要一条更翔实的错误消息,例如:

$ openstack server list --name 'x.*>'
Your request was blocked by WAF

我可以从WAF返回自定义HTTP状态代码和JSON字符串。例如。对于阻塞的请求,我可以返回200{"floatingips": [{"id": "Blocked by WAF"}]}到Neutron。从客户端来看,会像这样:

$ openstack floating ip list --network 'test-network1>'
+----------------+---------------------+------------------+------+------------------+---------+
| ID             | Floating IP Address | Fixed IP Address | Port | Floating Network | Project |
+----------------+---------------------+------------------+------+------------------+---------+
| Blocked by WAF | None                | None             | None | None             | None    |
+----------------+---------------------+------------------+------+------------------+---------+

这种方法的主要问题是它不是通用的。在这种情况下,它仅适用于Neutron(并且可能仅适用于Neutron命令的子集)。输出看起来也不太好:-)。还有更好的主意吗?

0 个答案:

没有答案