방화벽 이해하기 2 (ACL) (교육 18일차)

SW·2022년 12월 15일
0

👉 출발지 Port는 랜덤포트이므로 지정하여 기입할 수 없다. (65535개 중 Random...)

실습> acl test

acl 등록 형식:
access-list <action(permit,deny)>

access-list: ac 로 줄여서 사용이 가능하다.

acl number: 1
wildcard mask: 0.0.0.255(24bit 255.255.255.0)
src:
1.1.1.1 permit : access-list 1 permit 1.1.1.1 <-- 방법1, 단일 호스트는 0.0.0.0을 생략할 수 있다.
1.1.1.2 permit : access-list 1 permit 1.1.1.2 0.0.0.0 <-- 방법2, 와일드카드 마스크를 사용한 경우
1.1.1.3 deny : access-list 1 deny 1.1.1.3 0.0.0.0
1.1.1.4 permit : access-list 1 permit 1.1.1.4
1.1.1.5 permit : access-list 1 permit host 1.1.1.5 <-- 방법3, 단일 호스트는 host 다음에 IP주소를 적는다.

📌 access-list 확인: 📌
sh access-lists or sh ac
do sh access-lists or do sh ac
do sh ip access-lists or do sh ip ac

단일 호스트: 1.1.1.1/32

R1(config)#do sh access-lists
Standard IP access list 1
10 permit host 1.1.1.1
20 permit host 1.1.1.2
30 deny host 1.1.1.3
40 permit host 1.1.1.4
50 permit host 1.1.1.5

💥👀 이미 등록된 룰에 대해서 변경이 안된다.
R1(config)#access-list 1 permit host 1.1.1.3
R1(config)#do sh access-lists
Standard IP access list 1
10 permit host 1.1.1.1
20 permit host 1.1.1.2
30 deny host 1.1.1.3 <-- 변경되는 것이 아니다.
40 permit host 1.1.1.4
50 permit host 1.1.1.5
60 permit host 1.1.1.3 <-- 추가가 되었으므로 변경되지 않는다는 것을 알 수 있다.

📌 iptables와 ACL의 차이 📌
ACL은 룰(정책) 변경 필요 시 추가해야 한다. (변경 불가)
iptables는 host별 변경 가능하다.

access-list 삭제: no access-list < acl-number >

1번 acl을 삭제한다.
end
no access-list 1

R1(config)#no access-list 1
R1(config)#do sh access-lists
<-- 모두 삭제가 되었으므로 화면에는 아무것도 출력되지 않는다.

실습> acl 1, 2 생성하기

acl number: 1
wildcard mask: 0.0.0.255(24bit 255.255.255.0)
src:
1.1.1.1 permit : access-list 1 permit 1.1.1.1 <-- 방법1, 단일 호스트는 0.0.0.0을 생략할 수 있다.
1.1.1.2 permit : access-list 1 permit 1.1.1.2 0.0.0.0 <-- 방법2, 와일드카드 마스크를 사용한 경우

acl number: 2
wildcard mask: 0.0.0.255(24bit 255.255.255.0)
src:
1.1.1.3 permit : access-list 2 permit 1.1.1.3 <-- 방법1, 단일 호스트는 0.0.0.0을 생략할 수 있다.
1.1.1.4 permit : access-list 2 permit 1.1.1.4 0.0.0.0 <-- 방법2, 와일드카드 마스크를 사용한 경우

R1(config)#do sh access-lists
Standard IP access list 1
10 permit host 1.1.1.1
20 permit host 1.1.1.2
Standard IP access list 2
10 permit host 1.1.1.3
20 permit host 1.1.1.4

R1(config)#no access-list 1
R1(config)#no access-list 2
R1(config)#do sh access-lists


실습> ACL 설정하기

패킷트레이서로 실습을 진행한다.

1. PC 설정
PC1:
IPv4 Address: 1.1.1.1
Subnet Mask: 255.255.255.0
Default Gateway: 1.1.1.254
DNS Server: X

PC2:
IPv4 Address: 1.1.1.2
Subnet Mask: 255.255.255.0
Default Gateway: 1.1.1.254
DNS Server: X

2. WEB Server 설정

WEB Server1:
IPv4 Address: 2.2.2.1
Subnet Mask: 255.255.255.0
Default Gateway: 2.2.2.254
DNS Server: X

Service: HTTP On, HTTPS On

3. R1 설정

!R1
en
conf t
hostname R1
no ip domain-lookup
enable secret cisco
username admin privilege 1 password cisco
!
int f0/0
ip add 1.1.1.254 255.255.255.0
no sh
int f0/1
ip add 2.2.2.254 255.255.255.0
no sh
!
line con 0
password cisco
login
logging synchronous
!
line vty 0 4
login local
exit
!

4. PC1에서 통신 확인
PC1에서 ping 통신이 잘 되는지 확인한다.
C:>ping 1.1.1.254
C:>ping 2.2.2.254
C:>ping 2.2.2.1

PC1에서 웹브라우저를 열어서 웹서버에 접속이 잘 되는지 확인한다.
http://2.2.2.1/

PC1에서 원격접속이 잘 되는지 확인한다.
C:>telnet 1.1.1.254
Trying 1.1.1.254 ...Open

User Access Verification

Username: admin
Password:
R1>en
Password:
R1#exit

5. PC2에서 통신 확인
PC2에서 ping 통신이 잘 되는지 확인한다.
C:>ping 1.1.1.254
C:>ping 2.2.2.254
C:>ping 2.2.2.1

PC2에서 웹브라우저를 열어서 웹서버에 접속이 잘 되는지 확인한다.
http://2.2.2.1/

PC2에서 원격접속이 잘 되는지 확인한다.
C:>telnet 1.1.1.254
Trying 1.1.1.254 ...Open

User Access Verification

Username: admin
Password:
R1>en
Password:
R1#exit

(참고)

실습> 조건에 맞는 ACL을 R1에서 설정하시오.

  1. Numbered형 Extended ACL
  • ACL 번호: 100
  1. 웹 접속 허용/거부
  1. ACL 적용 인터페이스
  • Fa0/1 에 ACL을 적용한다.

1. 기존 설정 삭제
en
conf t
int fa0/0
no ip acc 100
no acc 100

!

2. ACL 설정
access-list 100 deny tcp host 1.1.1.1 host 2.2.2.1 eq 80
access-list 100 permit tcp host 1.1.1.2 host 2.2.2.1 eq 80
access-list 100 permit ip any any
int f0/1
ip access-group 100 out

!

R1(config)#do sh acc
Extended IP access list 100
10 deny tcp host 1.1.1.1 host 2.2.2.1 eq www
20 permit tcp host 1.1.1.2 host 2.2.2.1 eq www
30 permit ip any any

3. 접속
PC1에서 웹페이지에 접속하면 접속이 거부된다.

PC2에서 웹페이지에 접속하면 접속이 허용된다.

실습> 조건에 맞는 ACL을 R1에서 설정하시오.

파일명: acl3.pkt

  1. Numbered형 Extended ACL
  • ACL 번호: 100
  1. 웹 접속 허용/거부
  1. ACL 적용 인터페이스
  • Fa0/1 in
    1. 기존 설정 삭제
    en
    conf t
    int fa0/1
    no ip acc 100 out

    exit
    no acc 100
    !
    access-list 100 deny tcp host 2.2.2.1 eq 80 host 1.1.1.1
    access-list 100 permit tcp host 2.2.2.1 eq 80 host 1.1.1.2
    access-list 100 permit ip any any

    int fa0/1
    ip access-group 100 in

    !

R1(config)#do sh acc
Extended IP access list 100
10 deny tcp host 2.2.2.1 eq www host 1.1.1.1
20 permit tcp host 2.2.2.1 eq www host 1.1.1.2
30 permit ip any any

R1(config)#do sh run
:
:(생략)
!
interface FastEthernet0/1
ip address 2.2.2.254 255.255.255.0
ip access-group 100 in <-- inbound에 적용됨을 확인.
duplex auto
speed auto
!

실습> 조건에 맞는 ACL을 R1에서 설정하시오.

파일명: acl4.pkt

  1. Numbered형 Extended ACL
  • ACL 번호: 100
  1. 웹 접속 허용/거부
  • 1.1.1.0/24 네트워크의 PC1, PC2에서는 모두 거부

  • PC1에서는 웹서버 접근 거부: http://2.2.2.1 (접속 X)

  • PC2에서는 웹서버 접근 허용: http://2.2.2.1 (접속 X)

  • 3.3.3.0/24 네트워크의 PC3에서는 모두 허용

  • PC3에서는 웹서버 접근 허용: http://2.2.2.1 (접속 O)

  • 나머지 프로토콜 모두 허용

  1. ACL 적용 인터페이스
  • Fa0/1 out

    ACL 적용 방법
  • ACL의 목록을 생성한다.
  • ACL의 목록을 인터페이스에 적용(in/out) 한다.

📌 ACL의 4가지 규칙 📌
- 룰을 검사할 때 위에서 부터 아래로 순차적으로 수행된다.
- 룰의 마지막에는 deny all 이 적용된다.
- 룰을 삭제하면 모든 룰이 지워진다.
- 인터페이스에 access-list 명령어가 없으면 permit all이 적용된다.

profile
정보보안 전문가

0개의 댓글