Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

20장. 보안 개선 사항

다음 섹션에서는 오버클라우드의 보안을 강화하기 위한 몇 가지 제안 사항을 제공합니다.

20.1. 오버클라우드 방화벽 관리

각 핵심 OpenStack Platform 서비스에는 구성 가능 서비스 템플릿에 방화벽 규칙이 포함되어 있습니다. 이렇게 하면 각 오버클라우드 노드에 대한 기본 방화벽 규칙 세트가 자동으로 생성됩니다.

오버클라우드 Heat 템플릿에는 추가 방화벽 관리에 도움이 되는 매개변수 세트가 포함되어 있습니다.

ManageFirewall
방화벽 규칙을 자동으로 관리할지 여부를 정의합니다. Puppet에서 각 노드에서 방화벽을 자동으로 구성할 수 있도록 하려면 true 로 설정합니다. 방화벽을 수동으로 관리하려면 false 로 설정합니다. 기본값은 true입니다.
PurgeFirewallRules
새 Linux 방화벽 규칙을 구성하기 전에 기본 Linux 방화벽 규칙을 제거할지 여부를 정의합니다. 기본값은 false입니다.

ManageFirewalltrue 로 설정하면 배포에 추가 방화벽 규칙을 생성할 수 있습니다. 오버클라우드의 환경 파일에서 구성 후크를 사용하여 tripleo::firewall::firewall_rules hieradata를 설정합니다( 4.5절. “Puppet: 역할에 맞는 Hieradata 사용자 정의”참조). 이 hieradata는 방화벽 규칙 이름과 해당 매개 변수를 키로 포함하는 해시이며, 모두 선택 사항입니다.

port
규칙에 연결된 포트입니다.
dport
규칙에 연결된 대상 포트입니다.
sport
규칙과 연결된 소스 포트입니다.
Proto
규칙과 연결된 프로토콜입니다. 기본값은 tcp 입니다.
작업
규칙과 연결된 작업 정책입니다. 기본값은 accept 입니다.
건너뛰기
로 이동할 체인입니다. 있는 경우 작업을 재정의합니다.
상태
규칙과 관련된 상태 배열입니다. 기본값은 ['NEW'] 입니다.
소스
규칙과 연결된 소스 IP 주소입니다.
iniface
규칙에 연결된 네트워크 인터페이스입니다.
체인
규칙과 연결된 체인입니다. 기본값은 INPUT 입니다.
대상
규칙에 연결된 대상 CIDR입니다.

다음 예제에서는 방화벽 규칙 형식의 구문을 보여줍니다.

ExtraConfig:
  tripleo::firewall::firewall_rules:
    '300 allow custom application 1':
      port: 999
      proto: udp
      action: accept
    '301 allow custom application 2':
      port: 8081
      proto: tcp
      action: accept

이는 ExtraConfig 를 통해 모든 노드에 2개의 추가 방화벽 규칙을 적용합니다.

참고

각 규칙 이름은 해당 iptables 규칙의 주석이 됩니다. 또한 각 규칙 이름은 3자리 접두사로 시작되어 Puppet이 최종 iptables 파일에서 정의된 모든 규칙을 정렬하는 데 도움이 됩니다. 기본 OpenStack Platform 규칙은 000~200 범위의 접두사를 사용합니다.