반응형
AWS에서 제공되는 Palo Alto VM-Series는 기본적으로 유료(구독 필요)이며 Free-Trial을 통해 일정 기간동안 무료로 사용할 수 있습니다. 팔로알토 방화벽 OS는 일정 기간에 한해 무료이지만 EC2에 대한 비용은 별도 청구입니다.
- Palo Alto Firewall(이하 팔로알토 방화벽)의 AWS EC2 설치 및 Gateway Load Balancer(이하 GWLB) 연동 과정에 대한 설명
- AWS Console 접속, EC2 > 인스턴스 > 인스턴스 시작 클릭
- 애플리케이션 및 OS 이미지 검색란에 "Palo Alto" 혹은 아래와 같이 제품 이미지 입력
- 아래 이미지와 같이 Free Trial로 표기된 OS를 사용해야 Palo Alto 방화벽 자체에 대한 구독료를 내지 않고 일정기간 무료로 사용 가능
- "VM-Series Next-Gen Virtual Firewall w/Advanced Threat Prevention (PAYG) 선택
- 팔로알토 방화벽의 VM-Series OS 이미지는 여러개가 존재하지만 가장 최신 OS를 제공하는 아래 이미지 사용
- 인스턴스 생성화면으로 되돌아가기 위한 구독 시작 버튼 클릭
- Public IP 비활성화 버튼 클릭
- EC2 인스턴스 생성과 함께 생성될 ENI(Elastic Network Interface)는 Data Port(이하 데이터 포트)로 사용되는데, GWLB 특성상 데이터 포트는 Public IP가 필요 없기에 비활성화 실시
- 보안 그룹 생성
- Health Check에 사용될 HTTP(80), GUI 접근에 사용될 HTTPS(443), CLI 접근에 사용될 SSH(22) 허용
- Keypair(이하 키페어) 생성 및 저장
- 팔로알토 방화벽 SSH 접근시 사용할 키페어 저장
- User data(사용자 데이터)란에 아래 명령어 입력 후 EC2 인스턴스 시작
mgmt-interface-swap= enable
- Interface Swap을 활성화해야 하는 이유는 아래와 같음
- GWLB는 자신의 Target Group(이하 대상 그룹)에 설정되는 인스턴스는 대상 목록에 Primary Interface로 자동 지정
- 다시 말해 첫 번째 인터페이스를 자동으로 대상그룹과 통신할 IP로 지정하게 된다는 것과 동일
- 팔로알토 방화벽의 첫 번째 인터페이스는 eth0, MGMT 포트(관리 목적)
- GWLB의 대상 그룹에 팔로알토 방화벽 EC2 인스턴스를 등록하면 MGMT 포트와 IP가 대상그룹의 대상으로 지정, GWLB와 통신한다는 뜻
- Interface Swap 기능을 활성화하여 eth0 포트를 데이터 포트로 사용하고 eth1(Ethernet1/1)를 관리 포트로 사용하도록 설정
- 인스턴스와 함께 생성된 ENI(팔로알토 방화벽의 eth0, 아래 그림의 PA-DATA)는 데이터 포트로 사용될 예정이므로 MGMT 포트(팔로알토 방화벽의 eth1, 아래 그림의 PA-MGMT)를 사용할 인터페이스를 한 개 더 생성해줌
- Elastic IP를 생성하여 PA-MGMT ENI에 연결
- Elastic IP가 연결된 PA-MGMT ENI를 EC2 인스턴스에 연결
- MGMT 포트의 보안 그룹은 가급적 데이터 포트의 보안 그룹과는 별개로 나누어 따로 가져가는 것이 좋음
- 데이터 포트는 HTTP(80)와 GENEVE(6081)을 필요로 하지만, MGMT 포트는 HTTPS(443)와 SSH(22)를 필요로 하기 때문
- 데이터 포트는 HTTP(80)와 GENEVE(6081)을 필요로 하지만, MGMT 포트는 HTTPS(443)와 SSH(22)를 필요로 하기 때문
- EC2 인스턴스 생성시 같이 생성한 키페어를 활용하여 팔로알토 방화벽에 SSH 접근 실시
- EC2 인스턴스가 올라온 상태에서도 꽤 오랜시간이 걸린 후에야 키페어를 활용한 접근이 가능
- 최초 접근시 ID는 Admin
- "Server refused our key"가 뜬다면 좀 더 기다려야 함
- 접근 성공시 아래와 같은 화면 출력
- EC2 인스턴스가 올라온 상태에서도 꽤 오랜시간이 걸린 후에야 키페어를 활용한 접근이 가능
- admin 계정에 대한 비밀번호를 재설정하여 GUI 접근을 가능하도록 설정
admin@PA-VM> configure
admin@PA-VM> set mgt-config users admin password
Enter password :
Confirm password :
admin@PA-VM> commit
- 인터넷 브라우저에 "https://Elastic IP"를 입력하여 GUI에 접근
- 이 때, 접속이 되지 않는다면 MGMT 포트가 보유한 보안 그룹의 허용 포트 중 HTTPS(443)가 있는지 확인
- GUI 화면이 뜨면 계정(admin 동일)과 위에서 입력한 패스워드를 입력하여 진입
- 방화벽 GUI 진입시 아래와 같은 대시보드 화면을 볼 수 있음
- Network(상단 메뉴) > Interface > Ethernet > ethernet1/1 클릭
- ethernet1/1 포트는 MGMT 포트로 사용
- 위에서 추가로 생성한 ENI(PA-VM, 192.168.0.8)가 ethernet1/1에 연결되어 IP를 사용하게 됨
- ethernet1/1 > Ethernet Interface > Interface Type "Layer3"로 변경
- ethernet1/1 > Ethernet Interface > Config > Assign Interface To > Virtual Router "Default" 설정
- 팔로알토 방화벽의 Interface들이 사용하는 공동의 라우터(라우팅 테이블 소유)
- ethernet1/1 > Ethernet Interface > Config > Assign Interface To > Security Zone 설정
- 인터페이스의 ACL 및 Log 설정 기능
- Log, ACL 설정은 하지 않고 생성 및 연결
- ethernet1/1 > Ethernet Interface > Config > IPv4 > Type > DHCP Client
- AWS VPC의 DHCP 서버로부터 IP를 받아 사용할 수 있도록 설정
- Virtual Router가 설정되어 있지 않다면 DHCP Client 설정 불가
- MGMT 포트(ethernet1/1)의 Management Profile 설정
- 접근 가능한 프로토콜 및 IP(ACL) 설정 가능
- 인터페이스 설정 완료 후, Commit 실시
- 팔로알토 방화벽은 Commit을 해야 설정이 적용됨
- Commit이 완료되면 아래와 같이 LINK STATE가 활성화된 것을 볼 수 있음
- Ethernet > "Add Subinterface" 클릭 > Layer3 Subinterface > Config
- Tag 1(아무 숫자 가능), Virtual Router(Default), Security Zone(HealthCheck) 설정
- Layer3 Subinterface > IPv4 > Type > DHCP Client 설정
- Subinterface 설정은 VPC Endpoint(Gateway Load Balancer)별로 진입 가능한 인터페이스를 나누기 위해 사용되므로 방화벽에 접근하는 Endpoint가 1개라면 필요없을 것으로 보임
- 테스트 및 실전에서 사용중인 팔로 알토 방화벽은 모두 Subinterface를 최소 1개는 만들어둔 상태
- 아래 명령어를 통해 Subinterface 별 접근 가능한 Endpoint를 지정할 수 있음
admin@PA-VM> request plugins vm_series aws gwlb associate vpc-endpoint <Endpoint ID> interface <Subinterface Num>
admin@PA-VM > commit
- Subinterface 설정 후, Commit 실시
- 팔로알토 방화벽의 GWLB 연동 기능 활성화
admin@PA-VM > request plugins vm_series aws gwlb inspect enable yes
admin@PA-VM > show plugins vm_series aws gwlb (확인 기능, 하단 그림 참조)
- GWLB의 Health Check(이하 헬스 체크) 및 데이터 진입을 허용하기 위한 허용 정책 생성
- 허용 정책 정보
- 출발지 : GWLB ENI IP
- 목적지 : 팔로알토 방화벽의 데이터 포트(eth0) IP
- 포트 : TCP / 80, UDP / 6081
- GWLB 및 대상그룹 생성
- 대상그룹의 헬스 체크 정책을 통해 방화벽 헬스 체크 성공 확인
'Network Know-how 기록하기' 카테고리의 다른 글
[Azure]Azure Firewall (0) | 2024.10.03 |
---|---|
[AWS]Gateway Load Balancer #4(Idle Timeout & Failover) (4) | 2024.02.04 |
[AWS]Gateway Load Balancer #3(GENEVE Protocol) (0) | 2023.12.04 |
[AWS]Gateway Load Balancer #2(라우팅) (2) | 2023.08.06 |
[AWS]Gateway Load Balancer #1(개요) (8) | 2023.07.23 |
댓글