Cisco ASA 방화벽으로 테스트 망을 구성하면서 설정한 컨피그에 대해 정리해 보았습니다.
방화벽 모델
- ASA 5555
Sh run --------------------
: Hardware: ASA5555, 16384 MB RAM, CPU Lynnfield 2800 MHz, 1 CPU (8 cores)
:
ASA Version 9.14(4)14
!
hostname HQ-FW # 방화벽 호스트 이름
enable password ***** pbkdf2 # 활성화된 모드에 접근하기 위한 비밀번호 설정
service-module 0 keepalive-timeout 4 # 서비스 모듈의 유지 시간(초) 설정
service-module 0 keepalive-counter 6 # 서비스 모듈의 유지 카운터 설정
service-module ips keepalive-timeout 4 # IPS(침입 방지 시스템) 모듈의 유지 시간 설정
service-module ips keepalive-counter 6 # IPS 모듈의 유지 카운터 설정
service-module cxsc keepalive-timeout 4 # CXSC 모듈의 유지 시간 설정
service-module cxsc keepalive-counter 6 # CXSC 모듈의 유지 카운터 설정
service-module sfr keepalive-timeout 4 # SFR 모듈의 유지 시간 설정
service-module sfr keepalive-counter 6 # SFR 모듈의 유지 카운터 설정
xlate per-session deny tcp any4 any4 # IPv4 TCP 트래픽에 대한 세션 변환 거부
xlate per-session deny tcp any4 any6 # IPv4에서 IPv6로의 TCP 트래픽에 대한 세션 변환 거부
xlate per-session deny tcp any6 any4 # IPv6에서 IPv4로의 TCP 트래픽에 대한 세션 변환 거부
xlate per-session deny tcp any6 any6 # IPv6 TCP 트래픽에 대한 세션 변환 거부
xlate per-session deny udp any4 any4 eq domain # IPv4 UDP 트래픽(DNS 포트)에 대한 세션 변환 거부
xlate per-session deny udp any4 any6 eq domain # IPv4에서 IPv6로의 UDP 트래픽(DNS 포트)에 대한 세션 변환 거부
xlate per-session deny udp any6 any4 eq domain # IPv6에서 IPv4로의 UDP 트래픽(DNS 포트)에 대한 세션 변환 거부
xlate per-session deny udp any6 any6 eq domain # IPv6 UDP 트래픽(DNS 포트)에 대한 세션 변환 거부
passwd ***** encrypted # 암호화된 비밀번호 설정
names # 이름 지정 섹션 시작
no mac-address auto # 자동 MAC 주소 할당 비활성화
ip local pool VPN_IP_POOL 192.168.254.101-192.168.254.200 mask 255.255.255.0 # VPN 클라이언트에 할당할 로컬 IP 주소 풀 정의
!
interface GigabitEthernet0/0
nameif outside # 인터페이스에 "outside" 이름 할당
security-level 0 # 보안 수준을 0으로 설정
ip address 232.131.xxx.xxx 255.255.255.128 standby 232.131.xxx.xxx # 인터페이스 IP 주소 및 대기 주소 설정
!
interface GigabitEthernet0/1
shutdown # 인터페이스 비활성화
no nameif # 인터페이스 이름 없음
security-level 50 # 보안 수준을 50으로 설정
no ip address # IP 주소 없음
!
interface GigabitEthernet0/2
nameif inside # 인터페이스에 "inside" 이름 할당
security-level 100 # 보안 수준을 100으로 설정
ip address 10.12.240.1 255.255.255.0 standby 10.12.240.2 # 인터페이스 IP 주소 및 대기 주소 설정
!
interface GigabitEthernet0/3
description ## FW1<->FW2 fail-over link ## # 인터페이스 설명 추가
!
interface GigabitEthernet0/3.300
description LAN Failover Interface # 서브인터페이스 설명 추가
vlan 300 # VLAN ID 설정
!
interface GigabitEthernet0/3.400
description STATE Failover Interface # 서브인터페이스 설명 추가
vlan 400 # VLAN ID 설정
!
interface GigabitEthernet0/4
nameif DMZ # 인터페이스에 "DMZ" 이름 할당
security-level 50 # 보안 수준을 50으로 설정
ip address 10.12.242.1 255.255.255.0 standby 10.12.242.2 # 인터페이스 IP 주소 및 대기 주소 설정
!
interface GigabitEthernet0/5
shutdown # 인터페이스 비활성화
no nameif # 인터페이스 이름 없음
no security-level # 보안 수준 없음
no ip address # IP 주소 없음
!
interface GigabitEthernet0/6
shutdown # 인터페이스 비활성화
no nameif # 인터페이스 이름 없음
no security-level # 보안 수준 없음
no ip address # IP 주소 없음
!
interface GigabitEthernet0/7
shutdown # 인터페이스 비활성화
no nameif # 인터페이스 이름 없음
no security-level # 보안 수준 없음
no ip address # IP 주소 없음
!
interface Management0/0
management-only # 관리 전용 인터페이스로 설정
shutdown # 인터페이스 비활성화
no nameif # 인터페이스 이름 없음
no security-level # 보안 수준 없음
no ip address # IP 주소 없음
!
ftp mode passive # FTP 패시브 모드 설정
clock timezone KST 9 # 타임존을 한국 표준시(KST)로 설정
dns server-group DefaultDNS
name-server 168.126.63.1 # DNS 서버 1 설정
name-server 168.126.63.2 # DNS 서버 2 설정
same-security-traffic permit inter-interface # 동일 보안 수준 간의 트래픽 허용
same-security-traffic permit intra-interface # 동일 보안 수준 내의 트래픽 허용
object network HQ_10.11.20.0
subnet 10.11.20.0 255.255.255.0 # 네트워크 오브젝트 정의
object network HQ_10.11.2.0
subnet 10.11.2.0 255.255.255.0
object network HQ_10.11.1.0
subnet 10.11.1.0 255.255.255.0
object network HQ_10.11.10.0
subnet 10.11.10.0 255.255.254.0
object network HQ_10.11.30.0
subnet 10.11.30.0 255.255.255.0
object network HQ_10.11.0.0
subnet 10.11.0.0 255.255.255.0
object network DMZ_172.16.0.0_27
subnet 172.16.0.0 255.255.0.0
object network HQ_10.11.3.0
subnet 10.11.3.0 255.255.255.0
object network VPN_NET_192.168.254.0
subnet 192.168.254.0 255.255.255.0
object network TECH_172.16.0.11
host 172.16.0.11
object-group network HQ_NET_GROUP
network-object object HQ_10.11.2.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.2.0)
network-object object HQ_10.11.1.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.1.0)
network-object object HQ_10.11.20.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.20.0)
network-object object HQ_10.11.30.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.30.0)
network-object object HQ_10.11.0.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.0.0)
network-object object HQ_10.11.10.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.10.0)
network-object object HQ_10.11.3.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.3.0)
object-group network DMZ_NET_GROUP
network-object object DMZ_172.16.0.0_27 ! DMZ 네트워크 그룹에 포함된 네트워크 객체 (172.16.0.0/27)
object-group network HQ_OFFICE_GROUP
network-object object HQ_10.11.2.0 ! HQ 오피스 그룹에 포함된 네트워크 객체 (10.11.2.0)
network-object object HQ_10.11.10.0 ! HQ 오피스 그룹에 포함된 네트워크 객체 (10.11.10.0)
access-list OUT->DMZ extended permit ip any host 172.16.0.3 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.0.3)
access-list OUT->DMZ extended permit ip any host 172.16.0.11 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.0.11)
access-list OUT->DMZ extended permit ip any host 172.16.50.244 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.50.244)
access-list OUT->DMZ extended permit ip any host 172.16.200.250 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.200.250)
access-list OUT->DMZ extended permit ip any host 172.16.50.150 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.50.150)
access-list OUT->DMZ extended permit ip any host 172.16.50.152 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.50.152)
access-list OUT->DMZ extended permit ip any host 10.11.2.237 ! 외부에서 DMZ로 허용되는 IP 트래픽 (10.11.2.237)
access-list OUT->DMZ extended permit ip any host 172.16.0.15 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.0.15)
access-list IN->OUT extended permit ip any any ! 내부에서 외부로 허용되는 모든 IP 트래픽
access-list DMZ->IN extended permit ip any any ! DMZ에서 내부로 허용되는 모든 IP 트래픽
pager lines 24 ! 콘솔에 출력되는 페이지 수 제한 (24줄)
logging enable ! 로깅 활성화
logging timestamp ! 로깅 메시지에 타임스탬프 포함
logging buffer-size 1048576 ! 로깅 버퍼 크기 설정 (1048576 바이트)
logging buffered debugging ! 디버깅 수준의 로그를 버퍼에 저장
logging trap warnings ! 경고 수준 이상의 로그 메시지를 트랩으로 전송
logging asdm warnings ! ASDM에서 경고 수준 이상의 로그 메시지 표시
logging device-id hostname ! 로그 메시지에 호스트명 포함
logging host inside 10.100.13.111 ! 내부 호스트(10.100.13.111)로 로그 전송
no logging message 419002 ! 로그 메시지 ID 419002에 대한 로깅 비활성화
no logging message 305006 ! 로그 메시지 ID 305006에 대한 로깅 비활성화
mtu outside 1500 ! 외부 인터페이스의 MTU 설정 (1500 바이트)
mtu inside 1500 ! 내부 인터페이스의 MTU 설정 (1500 바이트)
mtu DMZ 1500 ! DMZ 인터페이스의 MTU 설정 (1500 바이트)
failover ! 장애 조치 설정 활성화
failover lan unit secondary ! LAN 장애 조치 장치의 역할을 Secondary로 설정
failover lan interface faillink GigabitEthernet0/3.300 ! 장애 조치 LAN 인터페이스 설정 (GigabitEthernet0/3.300)
failover polltime unit 1 holdtime 3 ! 장애 조치 Polling 주기와 Hold 시간 설정
failover polltime interface 3 holdtime 15 ! 장애 조치 인터페이스 Polling 주기와 Hold 시간 설정
failover replication http ! HTTP를 통한 장애 조치 상태 복제 설정
failover link statelink GigabitEthernet0/3.400 ! 장애 조치 링크 인터페이스 설정 (GigabitEthernet0/3.400)
failover interface ip faillink 172.30.1.1 255.255.255.252 standby 172.30.1.2 ! 장애 조치 인터페이스 IP 설정 (faillink)
failover interface ip statelink 172.31.1.1 255.255.255.252 standby 172.31.1.2 ! 장애 조치 인터페이스 IP 설정 (statelink)
no failover wait-disable ! 장애 조치 상태에서 기다리는 시간 비활성화
icmp unreachable rate-limit 1 burst-size 1 ! ICMP 대상 접근 불가 메시지의 전송 제한 설정
asdm image disk0:/asdm-7181-152.bin ! ASDM 이미지 파일 위치 및 버전 설정
no asdm history enable ! ASDM 히스토리 기능 비활성화
arp timeout 14400 ! ARP 캐시 타임아웃 설정 (14400 초)
no arp permit-nonconnected ! 비연결 ARP 허용 비활성화
arp rate-limit 32768 ! ARP 패킷 전송 제한 설정 (32768 패킷/초)
nat (outside,inside) source static VPN_NET_192.168.254.0 VPN_NET_192.168.254.0 ! 내부에서 외부로 VPN 네트워크 NAT 설정
nat (inside,DMZ) source static HQ_OFFICE_GROUP HQ_OFFICE_GROUP destination static TECH_232.131.xxx.xxx TECH_172.16.0.11 ! 내부 HQ 오피스 그룹에서 DMZ로 NAT 설정
nat (inside,DMZ) source static HQ_OFFICE_GROUP HQ_OFFICE_GROUP destination static TECH_172.16.0.11 TECH_172.16.0.11 ! 내부 HQ 오피스 그룹에서 DMZ로 NAT 설정
object network TECH_172.16.0.11
nat (DMZ,outside) static 232.131.xxx.xxx dns ! DMZ에서 외부로 TECH 서버 NAT 설정
object network VPN_NET_192.168.254.0
nat (outside,outside) dynamic interface ! 외부에서 외부로 VPN 네트워크 NAT 설정
nat (inside,outside) after-auto source dynamic HQ_NET_GROUP interface ! 내부에서 외부로 HQ 네트워크 그룹의 NAT 설정 (동적, 인터페이스 기반)
nat (DMZ,outside) after-auto source dynamic DMZ_NET_GROUP interface ! DMZ에서 외부로 DMZ 네트워크 그룹의 NAT 설정 (동적, 인터페이스 기반)
access-group OUT->DMZ in interface outside ! 외부 인터페이스에 적용된 OUT->DMZ 액세스 그룹
access-group IN->OUT in interface inside ! 내부 인터페이스에 적용된 IN->OUT 액세스 그룹
access-group DMZ->IN in interface DMZ ! DMZ 인터페이스에 적용된 DMZ->IN 액세스 그룹
route outside 0.0.0.0 0.0.0.0 232.131.xxx.xxx 1 ! 외부 인터넷 경로 설정 (기본 경로)
route inside 10.11.0.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.0.0/24)
route inside 10.11.1.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.1.0/24)
route inside 10.11.2.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.2.0/24)
route inside 10.11.3.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.3.0/24)
route inside 10.11.10.0 255.255.254.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.10.0/23)
route inside 10.11.20.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.20.0/24)
route inside 10.11.30.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.30.0/24)
route inside 10.30.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (10.30.0.0/16)
route inside 10.50.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (10.50.0.0/16)
route inside 10.100.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (10.100.0.0/16)
route inside 10.150.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (10.150.0.0/16)
route inside 10.200.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (10.200.0.0/16)
route DMZ 172.16.0.0 255.255.0.0 10.12.242.254 1 ! DMZ 경로 설정 (172.16.0.0/16)
route inside 172.17.0.0 255.255.0.0 10.12.240.254 1 ! 내부 경로 설정 (172.17.0.0/16)
timeout xlate 3:00:00 ! 연결 번역 (xlates) 타임아웃 설정 (3시간)
timeout pat-xlate 0:00:30 ! PAT 연결 번역 타임아웃 설정 (30초)
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 sctp 0:02:00 icmp 0:00:02 ! 연결 타임아웃 설정
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 ! SunRPC, H323, MGCP 등의 타임아웃 설정
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00 ! SIP 관련 타임아웃 설정
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute ! SIP provisional media 및 사용자 인증 (uauth) 타임아웃 설정
timeout tcp-proxy-reassembly 0:01:00 ! TCP 프록시 재조립 타임아웃 설정
timeout floating-conn 0:00:00 ! Floating 연결 타임아웃 설정
timeout conn-holddown 0:00:15 ! 연결 유지 타임아웃 설정
timeout igp stale-route 0:01:10 ! IGP stale route 타임아웃 설정
user-identity default-domain LOCAL ! 기본 도메인 설정 (로컬)
aaa authentication ssh console LOCAL ! SSH 콘솔 인증 설정 (로컬 인증 사용)
aaa authentication login-history ! 로그인 히스토리 설정
# HTTP 서버 활성화 및 세션 타임아웃 설정
http server enable 4443
http server idle-timeout 5
http server session-timeout 5
http 0.0.0.0 0.0.0.0 inside # 내부 인터페이스에서 HTTP 접근 허용
http 0.0.0.0 0.0.0.0 outside # 외부 인터페이스에서 HTTP 접근 허용
http 0.0.0.0 0.0.0.0 DMZ # DMZ 인터페이스에서 HTTP 접근 허용
# SNMP 서버 설정 비활성화
no snmp-server location
no snmp-server contact
# IPsec IKEv1 변환 집합 및 보안 연계 설정
crypto ipsec ikev1 transform-set ESP-AES-128-SHA-TRANS esp-aes esp-sha-hmac
crypto ipsec ikev1 transform-set ESP-AES-128-SHA-TRANS mode transport
crypto ipsec security-association pmtu-aging infinite
crypto dynamic-map SYSTEM_DEFAULT_CRYPTO_MAP 65535 set ikev1 transform-set ESP-AES-128-SHA-TRANS
crypto map outside_map 65535 ipsec-isakmp dynamic SYSTEM_DEFAULT_CRYPTO_MAP
crypto map outside_map interface outside
crypto ca trustpool policy
crypto ikev1 enable outside
crypto ikev1 policy 1 # IKEv1 정책 1 설정
authentication pre-share
encryption 3des
hash sha
group 5
lifetime none
crypto ikev1 policy 3 # IKEv1 정책 3 설정
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
# Telnet, SSH 세션 타임아웃 및 버전 설정
telnet timeout 5
ssh stricthostkeycheck
ssh timeout 2
ssh version 2
ssh key-exchange group dh-group1-sha1
ssh 0.0.0.0 0.0.0.0 outside # 외부 인터페이스에서 SSH 접근 허용
ssh 0.0.0.0 0.0.0.0 inside # 내부 인터페이스에서 SSH 접근 허용
ssh 0.0.0.0 0.0.0.0 DMZ # DMZ 인터페이스에서 SSH 접근 허용
console timeout 0
# TLS 프록시 최대 세션 수 설정
tls-proxy maximum-session 1000
# 기본 위협 탐지 및 통계 설정
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
# NTP 서버 설정
ntp server 10.11.0.254
# WebVPN 설정
webvpn
enable outside
http-headers
hsts-server
enable
max-age 31536000
include-sub-domains
no preload
hsts-client
enable
x-content-type-options
x-xss-protection
content-security-policy
cache
disable
error-recovery disable
# 그룹 정책 및 터널 그룹 설정
group-policy DefaultRAGroup internal
group-policy DefaultRAGroup attributes
dns-server value 168.126.63.1 168.126.63.2
vpn-tunnel-protocol ikev1 l2tp-ipsec
default-domain value HQ-GIT.com
split-tunnel-all-dns disable
group-policy DfltGrpPolicy attributes
vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-client ssl-clientless
dynamic-access-policy-record DfltAccessPolicy
# 사용자 계정 설정
username vdiptadmin password ***** nt-encrypted
username vdiptadmin attributes
vpn-group-policy DefaultRAGroup
# 터널 그룹 설정
tunnel-group DefaultRAGroup general-attributes
address-pool VPN_IP_POOL
default-group-policy DefaultRAGroup
tunnel-group DefaultRAGroup ipsec-attributes
ikev1 pre-shared-key *****
isakmp keepalive threshold infinite
tunnel-group DefaultRAGroup ppp-attributes
authentication ms-chap-v2
# 검사 정책 맵 설정
class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512
no tcp-inspection
policy-map global_policy
class inspection_default
inspect ftp
inspect h323 h225
inspect h323 ras
inspect ip-options
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
inspect icmp
inspect icmp error
inspect dns preset_dns_map
policy-map type inspect dns migrated_dns_map_2
parameters
message-length maximum client auto
message-length maximum 512
no tcp-inspection
policy-map type inspect dns migrated_dns_map_1
parameters
message-length maximum client auto
message-length maximum 512
no tcp-inspection
# 글로벌 정책 적용
service-policy global_policy global
# 기타 설정
prompt hostname state
no call-home reporting anonymous
call-home
profile CiscoTAC-1
no active
destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
destination address email callhome@cisco.com
destination transport-method http
subscribe-to-alert-group diagnostic
subscribe-to-alert-group environment
subscribe-to-alert-group inventory periodic monthly
subscribe-to-alert-group configuration periodic monthly
subscribe-to-alert-group telemetry periodic daily
------------------------------------------------------
위의 내용은 설정한 컨피그에 간단한 주석을 넣었습니다.
구성도
주요 컨피그에 대해 하나씩 살펴보겠습니다.
interface GigabitEthernet0/0
nameif outside # 인터페이스에 "outside" 이름 할당
security-level 0 # 보안 수준을 0으로 설정
ip address 232.131.xxx.xxx 255.255.255.128 standby 232.131.xxx.xxx # 인터페이스 IP 주소 및 대기 주소 설정
# 인터페이스에 nameif와 Security-level, IP를 입력합니다.
ASA 방화벽은 인터페이스 별로 nameif라는 Zone을 만들어서 통신합니다.
기본적으로 outside라는 이름을 지정하면 security-level 은 0, Inside로 지정하면 security-level이 100으로 자동 설정 됩니다.
방화벽은 초기 설정 시 모든 통신이 Deny되어있는 화이트리스트 형식입니다.
하지만 Security-level이 높은 곳에서 낮은 곳으로는 ACL이 Permit이 되어있어 별도 지정하지 않아도 Inside에서 Outside로는 통신이 가능합니다.
interface GigabitEthernet0/3
description ## FW1<->FW2 fail-over link ## # 인터페이스 설명 추가
!
interface GigabitEthernet0/3.300
description LAN Failover Interface # 서브인터페이스 설명 추가
vlan 300 # VLAN ID 설정
!
interface GigabitEthernet0/3.400
description STATE Failover Interface # 서브인터페이스 설명 추가
vlan 400 # VLAN ID 설정
!
failover ! 장애 조치 설정 활성화
failover lan unit secondary ! LAN 장애 조치 장치의 역할을 Secondary로 설정
failover lan interface faillink GigabitEthernet0/3.300 ! 장애 조치 LAN 인터페이스 설정 (GigabitEthernet0/3.300)
failover polltime unit 1 holdtime 3 ! 장애 조치 Polling 주기와 Hold 시간 설정
failover polltime interface 3 holdtime 15 ! 장애 조치 인터페이스 Polling 주기와 Hold 시간 설정
failover replication http ! HTTP를 통한 장애 조치 상태 복제 설정
failover link statelink GigabitEthernet0/3.400 ! 장애 조치 링크 인터페이스 설정 (GigabitEthernet0/3.400)
failover interface ip faillink 172.30.1.1 255.255.255.252 standby 172.30.1.2 ! 장애 조치 인터페이스 IP 설정 (faillink)
failover interface ip statelink 172.31.1.1 255.255.255.252 standby 172.31.1.2 ! 장애 조치 인터페이스 IP 설정 (statelink)
no failover wait-disable ! 장애 조치 상태에서 기다리는 시간 비활성화
위의 컨피그는 방화벽을 2대 사용할 시 Failover 기능을 설정하는 컨피그입니다.
Lan failover interface는 두 방화벽간의 데이터 트래픽 및 상태 동기화를 모두 진행합니다.
State failover interface는 두 방화벽간의 상태 정보만 동기화 합니다.
두 인터페이스를 분리함으로서 Lan failover Interface의 과부화를 줄이고 트래픽을 분리하여 모니터링에 용이하다는 장점이 있습니다. State failove interface는 필수 조건은 아니지만 구성하는 것을 권장합니다.
object network HQ_10.11.3.0
subnet 10.11.3.0 255.255.255.0
object network TECH_172.16.0.11
host 172.16.0.11
다음은 오브젝트입니다.
ASA 방화벽은 사용하고 싶은 IP 대역이나 host를 object로 지정하여 사용하여야 합니다.
subnet 명령어를 이용해 범위를 지정하거나 host 명령어를 사용해 하나의 IP만 지정할 수 있습니다.
object-group network HQ_NET_GROUP
network-object object HQ_10.11.2.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.2.0)
network-object object HQ_10.11.1.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.1.0)
network-object object HQ_10.11.20.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.20.0)
network-object object HQ_10.11.30.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.30.0)
network-object object HQ_10.11.0.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.0.0)
network-object object HQ_10.11.10.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.10.0)
network-object object HQ_10.11.3.0 ! HQ 네트워크 그룹에 포함된 네트워크 객체 (10.11.3.0)
Object-group 입니다.
여러개의 object를 묶어서 한번에 정책을 지정할 수 있게 합니다.
access-list OUT->DMZ extended permit ip any host 172.16.0.15 ! 외부에서 DMZ로 허용되는 IP 트래픽 (172.16.0.15)
access-list IN->OUT extended permit ip any any ! 내부에서 외부로 허용되는 모든 IP 트래픽
access-list DMZ->IN extended permit ip any any ! DMZ에서 내부로 허용되는 모든 IP 트래픽
access-group OUT->DMZ in interface outside ! 외부 인터페이스에 적용된 OUT->DMZ 액세스 그룹
access-group IN->OUT in interface inside ! 내부 인터페이스에 적용된 IN->OUT 액세스 그룹
access-group DMZ->IN in interface DMZ ! DMZ 인터페이스에 적용된 DMZ->IN 액세스 그룹
ACL입니다.
access-list로 네임을 생성하여 ACL를 지정하고
access-group을 통해 해당 access-list를 어떤 interface에 적용할지 선택합니다.
object network TECH_172.16.0.11
nat (DMZ,outside) static 232.131.xxx.xxx dns ! DMZ에서 외부로 TECH 서버 NAT 설정
NAT입니다.
TECH_172.16.0.11 라는 object를 232.131.xxx.xxx라는 공인IP에 NAT시켜 외부에서 접속할 수 있게 합니다.
nat (inside,DMZ) source static HQ_OFFICE_GROUP HQ_OFFICE_GROUP destination static TECH_232.131.xxx.xxx TECH_172.16.0.11 ! 내부 HQ 오피스 그룹에서 DMZ로 NAT 설정
nat (inside,DMZ) source static HQ_OFFICE_GROUP HQ_OFFICE_GROUP destination static TECH_172.16.0.11 TECH_172.16.0.11 ! 내부 HQ 오피스 그룹에서 DMZ로 NAT 설정
위의 내용은 172.16.0.11이라는 object가 232.131.xxx.xxx라는 공인IP에 NAT되어 있을 때 내부 사설 IP에서도 232.131.xxx.xxx로 접속했을 때 172.16.0.11로 자동으로 변환되어 접속 할 수 있게 하는 명령어입니다.
첫 줄만 명령어를 넣었을 시 172.16.0.11로 접근하면 Deny를 하기 때문에 두번째 줄도 같이 넣어줍니다.
nat (inside,outside) after-auto source dynamic HQ_NET_GROUP interface ! 내부에서 외부로 HQ 네트워크 그룹의 NAT 설정 (동적, 인터페이스 기반)
HQ_NET_GROUP라는 내부 object-group에 속한 사설 IP에서 외부 통신을 하고 싶을 때 해당 컨피그를 통해 통신을 가능하게 할 수 있습니다.
route outside 0.0.0.0 0.0.0.0 232.131.xxx.xxx 1 ! 외부 인터넷 경로 설정 (기본 경로)
route inside 10.11.0.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.0.0/24)
route inside 10.11.1.0 255.255.255.0 10.12.240.254 1 ! 내부 경로 설정 (10.11.1.0/24)
Routing입니다.
특정 대역에 대해 어느방향으로 갈지 정해줄 수 있으며
0.0.0.0 0.0.0.0 을 통해 라우팅테이블에 없는 IP가 있을 시 232.131.xxx.xxx로 가도록 Default Routing을 설정할 수 있습니다.