13.12. 방화벽 규칙 관리
방화벽 규칙은 배포 중에 오버클라우드 노드에 자동으로 적용되며, OpenStack 작동에 필요한 포트만 노출하기 위한 것입니다. 필요에 따라 추가 방화벽 규칙을 지정할 수 있습니다. 예를 들어 Zabbix 모니터링 시스템에 대한 규칙을 추가하려면 다음을 수행합니다.
parameter_defaults:
ControllerExtraConfig:
ExtraFirewallRules:
'301 allow zabbix':
dport: 10050
proto: tcp
source: 10.0.0.8
action 매개변수를 설정하지 않으면 결과가 허용됩니다 . 삭제,삽입 또는 추가 하도록 action 매개변수만 설정할 수 있습니다.
액세스를 제한하는 규칙을 추가할 수 있습니다. 규칙 정의에 사용되는 숫자는 이 규칙의 우선 순위를 결정합니다. 액세스를 제한하는 규칙을 적용하려면 더 낮은 값을 지정해야 합니다. 예를 들어 RabbitMQ의 규칙 번호는 기본적으로 109입니다. restrain에 추가하는 모든 규칙에는 더 낮은 값이 있어야 합니다. 이 예에서 098 및 099는 임의로 선택된 더 낮은 수입니다.
parameter_defaults:
ControllerParameters
ExtraFirewallRules:
'098 allow rabbit from internalapi network':
dport: [4369,5672,25672]
proto: tcp
source: 10.0.0.0/24
'099 drop other rabbit access:
dport: [4369,5672,25672]
proto: tcp
action: drop
규칙 수를 확인하기 위해 적절한 노드에서 iptables 규칙을 검사할 수 있습니다. 예를 들어 RabbitMQ 규칙은 다음과 같습니다.
iptables-save
[...]
-A INPUT -p tcp -m multiport --dports 4369,5672,25672 -m comment --comment "109 rabbitmq" -m state --state NEW -j ACCEPT
또는 puppet 정의에서 규칙 번호를 가져올 수 있습니다. 예를 들어 RabbitMQ 규칙은 puppet/services/rabbitmq.yaml 에 저장됩니다.
ExtraFirewallRules:
'109 rabbitmq':
dport:
- 4369
- 5672
- 25672
규칙에 대해 다음 매개변수를 설정할 수 있습니다.
-
dport: 규칙의 대상 포트입니다. -
규칙소스 포트입니다.The source port of the rule. -
proto: 규칙의 프로토콜이며 기본값은tcp입니다. -
action: 규칙의 작업 정책으로, 기본값은 Cryostat이고 점프를ACCEPTS로 설정합니다. -
state: 규칙의 상태 배열, 기본값은[NEW]. -
Source: 규칙의 소스 IP 주소입니다. -
interface: 규칙의 네트워크 인터페이스입니다. -
chain: 기본적으로INPUT인 규칙의 체인입니다. -
destination: 규칙의 대상cidr입니다.