02. 클라우드 보안 공부/실습로그

✅ [실습로그] Cisco ASA 방화벽 초보자 가이드: 기본 설정부터 원격 접속까지 🔒

taegi- 2025. 6. 5. 10:12

 

시작 전 준비사항

  • Cisco ASA 방화벽 장비 (실제 장비 or GNS3 가상 환경)
  • 기본 네트워크 지식 (IP 주소, 서브넷 마스크, 라우팅)

1. 인터페이스 기본 설정

ASA 방화벽은 인터페이스별 보안 레벨을 설정해 트래픽을 제어합니다.

인터페이스 구성 명령어

 
bash
ciscoasa# conf t ciscoasa(config)# int g0/0 ciscoasa(config-if)# nameif outside # 기본 보안 레벨 0 (외부) ciscoasa(config-if)# ip add 8.8.8.1 255.255.255.0 ciscoasa(config-if)# no shutdown ciscoasa(config-if)# int g0/1 ciscoasa(config-if)# nameif inside # 기본 보안 레벨 100 (내부) ciscoasa(config-if)# ip add 10.1.1.1 255.255.255.0 ciscoasa(config-if)# no shutdown

⚠️ 주의: 보안 레벨이 높은 쪽(inside) → 낮은 쪽(outside)으로는 트래픽이 자동 허용됩니다.


2. 정적 라우팅 설정

외부 네트워크와 통신하려면 기본 게이트웨이를 설정해야 합니다.

 
bash
# ASA 방화벽 ciscoasa(config)# route outside 0 0 8.8.8.8 # 라우터 R1 R1(config)# ip route 0.0.0.0 0.0.0.0 10.1.1.1 # 라우터 R2 R2(config)# ip route 0.0.0.0 0.0.0.0 8.8.8.1

🔍 확인 명령어: show route


3. ICMP 허용 정책

ASA는 기본적으로 모든 ICMP 트래픽을 차단합니다. 3가지 방법으로 허용할 수 있습니다.

방법 1: 글로벌 정책 추가

 
bash
ciscoasa(config)# policy-map global_policy ciscoasa(config-pmap)# class inspection_default ciscoasa(config-pmap-c)# inspect icmp

📢 설명:

  • inspect icmp: 내부 → 외부 ICMP 요청과 응답을 **상태 기반(Stateful)**으로 허용합니다.
  • 외부 → 내부 ICMP는 여전히 차단됩니다.

방법 2: 간편 설정 (Fixup Protocol)

 
bash
ciscoasa(config)# fixup protocol icmp

📢 설명: 방법1과 동일한 효과지만, 더 간단합니다.

방법 3: ACL로 완전 허용

 
bash
ciscoasa(config)# access-list ICMP extended permit icmp any any ciscoasa(config)# access-group ICMP in interface outside

📢 설명: 외부에서 시작된 ICMP도 허용합니다. (보안 취약성 주의!)


4. NAT 설정

내부 네트워크를 외부로 노출시킬 때 사용합니다.

동적 PAT (IP 마스커레이딩)

 
bash
ciscoasa(config)# object network in2out ciscoasa(config-network-object)# subnet 0.0.0.0 0.0.0.0 ciscoasa(config-network-object)# nat (inside,outside) dynamic interface

📢 설명: 모든 내부 IP를 외부 인터페이스 IP로 변환합니다.

정적 NAT (1:1 매핑)

 
bash
ciscoasa(config)# object network SERVER ciscoasa(config-network-object)# host 10.1.10.1 ciscoasa(config-network-object)# nat (inside,outside) static 8.8.8.1

📢 설명: 내부 서버(10.1.10.1)를 외부 IP(8.8.8.1)로 고정 매핑합니다.


5. 원격 접속 설정

Telnet (비권장)

 
bash
ciscoasa(config)# telnet 20.1.10.2 255.255.255.255 inside ciscoasa(config)# passwd cisco

⚠️ 주의: Telnet은 암호화되지 않아 보안에 취약합니다.

SSH (권장)

 
bash
ciscoasa(config)# ssh 20.1.10.2 255.255.255.255 inside ciscoasa(config)# username ccnp password cisco ciscoasa(config)# aaa authentication ssh console LOCAL ciscoasa(config)# crypto key generate rsa modulus 1024

🔍 접속 테스트:

 
bash
R4# ssh -l ccnp 20.1.10.1

6. HTTP/ASDM 관리 접속

 
bash
ciscoasa(config)# interface Management0/0 ciscoasa(config-if)# nameif mgmt ciscoasa(config-if)# security-level 50 ciscoasa(config-if)# ip address dhcp ciscoasa(config)# http server enable ciscoasa(config)# http 0 0 mgmt

📢 설명: 웹 브라우저로 https://<mgmt-ip> 접속 가능합니다.


🚨 문제 해결 팁

Q. ASA 인터페이스 간 Ping이 안 돼요!

원인: ASA는 기본적으로 인터페이스 간 직접 ICMP를 차단합니다.
해결: ACL로 명시적 허용이 필요합니다.

 
bash
ciscoasa(config)# access-list INTERNAL_ICMP permit icmp any any ciscoasa(config)# access-group INTERNAL_ICMP in interface inside

Q. NAT가 작동하지 않아요!

체크리스트:

  1. show nat로 NAT 규칙 확인
  2. 라우팅 테이블 확인 (show route)
  3. ACL 차단 여부 확인 (show access-list)

📚 핵심 개념 정리

  • Stateful 방화벽: 요청-응답 관계를 추적 (예: 웹 서핑 허용).
  • Stateless 방화벽: 단순 ACL 기반 필터링 (예: iptables).
  • 보안 레벨: 높은 레벨 → 낮은 레벨 트래픽은 자동 허용.

🔧 마무리하며

이 가이드로 ASA 방화벽의 기본 설정을 마스터했어요!
실무 적용 시 주의사항:

  • 불필요한 서비스(Telnet)는 비활성화
  • 정기적으로 보안 정책 점검
  • 복잡한 NAT는 문서화 필수

다음 단계:

  • 고급 ACL 설정
  • VPN 구성 (IPsec, SSL VPN)
  • 트래픽 모니터링 (Packet Tracer)