第 18 章 日志记录安全组操作
本发行版本中以 技术预览 的形式记录安全组操作,因此不受红帽完全支持。它应该只用于测试,不应在生产环境中部署。有关技术预览功能的更多信息,请参阅覆盖范围详细信息。
请参阅以下安全组日志记录已知问题和临时解决方案: https://bugzilla.redhat.com/show_bug.cgi?id=2241184 和 https://bugzilla.redhat.com/show_bug.cgi?id=2192918。
要监控虚拟机(VM)实例的流量流,您可以为安全组创建数据包日志。每个日志生成有关数据包流事件的数据流,并将其附加到启动虚拟机实例的 Compute 主机上的通用日志文件。
您可以将任何实例端口与一个或多个安全组关联,并为每个安全组定义一个或多个规则。例如,您可以创建一个规则来允许到安全组中任何虚拟机的入站 SSH 流量。您可以在同一安全组中创建另一条规则,以允许该组中的虚拟机启动和响应 ICMP (ping)消息。
然后,您可以创建日志来记录数据包流事件的组合。例如,以下命令会创建一个日志来捕获安全组 security-group1 中的所有 ACCEPT 事件。
openstack network log create my-log1 \ --resource-type security_group \ --resource security-group1 \ --event ACCEPT
$ openstack network log create my-log1 \
--resource-type security_group \
--resource security-group1 \
--event ACCEPT
您可以创建多个日志来捕获有关安全组和数据包流事件的特定组合的数据。
您可以配置以下参数:
resource-type-
您必须将此必需参数设置为
security_group。 资源(安全组名称)-
您可以选择使用 target 参数将日志限制到特定的安全组。例如
:--resource security-group1。如果没有指定资源,日志将从项目中指定端口的所有安全组捕获事件。 event(日志的事件类型)您可以选择记录以下数据包流事件:
DROP:为每个丢弃的传入或传出会话记录一个DROP日志条目。注意如果您在一个或多个安全组上日志丢弃流量,网络服务将丢弃所有安全组上的流量。
-
ACCEPT:为安全组允许的每个新会话记录一个ACCEPT日志条目。 -
ALL(拖放和接受):记录所有DROP和ACCEPT事件。如果没有设置 -eventACCEPT或 -eventDROP,则网络服务默认为ALL。
网络服务将所有日志数据写入每个 Compute 节点上的同一文件中: /var/log/containers/openvswitch/ovn-controller.log。
18.1. 验证是否启用了安全组日志记录 复制链接链接已复制到粘贴板!
要为网络数据包日志记录准备部署,请确保配置了日志记录服务插件和日志记录扩展。
流程
- 提供可让您使用 RHOSP admin 角色访问 overcloud 的凭据文件。
输入以下命令。
openstack extension list --max-width 80 | grep logging
$ openstack extension list --max-width 80 | grep loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果正确配置了日志记录服务插件和扩展,输出包括:
| Logging API Extension | logging | Provides a logging API |
| Logging API Extension | logging | Provides a logging API |Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 openstack extension list 输出不包括 Logging API 扩展:
在环境文件中添加
日志到NeutronPluginExtensions参数。示例
parameter_defaults: NeutronPluginExtensions: "qos,port_security,log"parameter_defaults: NeutronPluginExtensions: "qos,port_security,log"Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
运行
openstack overcloud deploy命令,并包含核心编配模板、环境文件和此环境文件。