ASA 방화벽의 역할
- Access-Control, NAT, VPN, Authentication, Logging 등을 수행한다.
- ASA의 경우 Security Level이 낮은 쪽에서 높은 쪽으로 전송되는 트래픽의 경우 기본적으로 차단된다.
- 특정 서비스에 대한 접근을 허용하기 위해서는 관리자가 Access-list를 사용하여 접근을 허용해야 한다.
- 기본적인 L3 / L4 정보 기반의 Access-Control은 Access-list를 사용하여 구현한다.
- SPI / DPI와 같은 기능은 MPF(Modular Policy Framework)로 구현이 가능하다.
ASA Access List
- Access-list 방식은 라우터와 설정이 거의 비슷하다.
- 필터링 방식의 ACL은 Named 방식의 Extended ACL만 지원되고, Standard 방식은 필터링이 아닌 다른 목적으로 사용된다.
- Wildcard mask를 지원하지 않고 Netmask를 사용한다.
네트워크 구성
Outside에서 DMZ로 허용되는 패킷
- DNS_Server (100.1.1.250)로 향하는 DNS 요청
- Web_Server (100.1.1.251)로 향하는 HTTP 요청
- DMZ Network(100.1.1.0/24)로 향하는 ICMP (Ping 테스트 용도)
ASA 방화벽 설정
access-list Outside->In extended permit udp any host 100.1.1.250 eq 53
Outside->In이름의 extended ACL 생성후 DNS 서버로가는 DNS 프로토콜을 허용한다.
<ASA> conf t access-list Outside->DMZ extended permit udp any host 100.1.1.250 eq 53 access-list Outside->DMZ extended permit tcp any host 100.1.1.250 eq 80 access-list Outside->DMZ extended permit icmp any 100.1.1.0 255.255.255.0 access-list Outside->DMZ extended deny ip any any ! access-group Outside->DMZ in interface Outside |
설정 확인
1. show run access-list
- access-list가 정상적으로 등록 되었다.
2. show run access-group
- access-group이 정상적으로 등록 되었다.
3. show access-list
- 적용된 access list 정보들을 확인할 수 있다.
4. Kali Linux(Outside PC) 테스트
- DMZ안에있는 DNS서버로 정상적으로 ICMP 패킷이 이동한다.
- FTP는 설정을 하지 않았기 때문에 접근이 되지 않는다.
- nslookup을 통해 DNS서버와 WEB서버에 정상적으로 접근이 가능하다.
추가 작업 수행
- DMZ Network(100.1.1.0/24) ICMP 차단
- FTP Server(100.1.1.252)로 향하는 FTP 서비스 허용
access-list Outside->DMZ line 3 permit tcp any host 100.1.1.252 eq 21
icmp 삭제 후 line 3번에 deny any any가 있으므로 해당 번호에 넣으면 deny ACL이 4번으로 밀려난다.
<ASA> conf t no access-list Outside->DMZ line 3 extended permit icmp any 100.1.1.0 255.255.255.0 access-list Outside->DMZ line 3 permit tcp any host 100.1.1.252 eq 21 |
설정 확인
1. show access-list
2. Kali Linux 테스트
- 이전에 나갔던 ICMP 패킷이 차단된걸 확인할 수 있다.
- 이전에 접속되지 않았던 FTP에 접근이 가능하다.
ASA Access List Log
- ASA Access-list를 구성할 경우 기본적으로 Log 메시지가 발생되지 않는다.
- 라우터에서 ACL 관련 로그를 발생시키기 위해서는 ACL 문장 마지막에 log, log-input옵션을 추가로 설정해야 한다.
(access-list deny ip any any log-input)
- ASA의 경우 라우터와 다르게 log, log-input 옵션을 사용하지 않아도 logging enable명령어를 사용하여 ACL에 의해서 차단되는 패킷들의 로그 메시지를 확인하는 것이 가능하다.
ASA 방화벽 설정
<ASA> conf t logging console 4 logging enable |
- Kali Linux에서 DMZ로 ICMP 패킷을 보내면 로그가 발생한다.
- ACL에 의해 차단되는 패킷마다 각각 하나씩 로그 메시지가 발생한다.
- DoS 공격같은 대량의 패킷들이 Flooding 되는 경우 방화벽 장비가 로그 메시지를 발생시키는것 자체가 큰 부하의 원인이 될 수 있다.
- 일정시간 간격마다 ACL에 의한 차단 패킷의 통계치를 로그로 출력하면 더 효율적으로 ASA를 관리할 수 있다.
- ASA ACL에서 log옵션은 log를 발생시키는 옵션이 아니라 log 메시지의 발생 주기를 설정할 수 있는 옵션이다.
access-list Outside->In deny ip any any log 4 interval 60
deny ip any any에 의해 차단되는 Level 4 이하의 메시지를 60초간격으로 출력한다.
<ASA> conf t access-list Outside->In deny ip any any log 4 interval 60 |
- show access-list로 확인하면 log 발생주기가 추가되었다.
- kali Linux에서 DMZ로 ICMP 패킷을 보내면 60초에 한번씩 출력되는것을 확인할 수 있다.
- 60초에 61개의 패킷이 차단된 것을 알 수 있다.
Time-Range 옵션
- 특정 시간을 정의하여 해당 시간에만 ACL을 활성화시키는 것이 가능하다.
<ASA> conf t time-range Work_Time periodic weekdays 09:00 to 18:00 exit
|
ACL 옵션 뒤에 time-range Work_Time을 입력하면 설정된다.
'Network > Cisco ASA' 카테고리의 다른 글
[Firewall] ASA Twice NAT(Manual NAT) (0) | 2019.11.29 |
---|---|
[Firewall] ASA Packet-tracer Test (0) | 2019.11.27 |
[Firewall] ASA Object / Object Group 설정 (0) | 2019.11.26 |
[Firewall] ASA 접속 방식 (0) | 2019.11.26 |
[Firewall] Cisco ASA(Adaptive Security Appliance) 개념, Static Routing 연결 (1) | 2019.11.25 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊