본문 바로가기
Security

[Securiy] ASA FW 컨피그 구성 및 설명

by 치즈잼 2024. 7. 15.
728x90
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을 설정할 수 있습니다.

 

728x90