네트워크 실습 정리

ACL 개념 및 실습 (standard, extended)

Weeding 2022. 9. 4. 00:54
반응형
SMALL

ACL

1. 쉽게 이야기해서 라우터의 문지기 역할

 

2. 특정 IP 혹은 포트를 지정하여 차단하거나 허용하는 기술

 

3. Telnet, SSH등을 통해서도 제어 가능 

 

3. Wildcard-mask를 이용함.

(= 특정 bit 검사 유무를 나타내는 값

 - 검사를 하라고 하는 값은 0

 - 검사하지말고 무시하라는 값이 1)

** 서브넷마스크 = 네트워크 식별자

와일드카드마스크 = 네트워크 '검사유무' 식별자 **

 

4. Access-list만으로 필터링이 작동하지는 않는다.

 

5. 일반적으로 라우터의 인터페이스 보안 수립과 라우팅 프로토콜의 경로를 조정하기 위한 용도로 사용됨.

 

6. 포트 정책 적용 시 인바운드와 아웃바운드 방향은 '라우터의 관점'에서 !

 

7. ACL 생성시 기본적으로 마지막줄에 모든 대상에 대한 차단 정책이 수립됨.

 

8. 필터링시 ACL 정책의 위에서 부터 비교를 하게 됨.

 

9. Standard / Extended 두가지 종류

 

10. Standard는 무조건 '출발지 주소'만 보고 결정

      Extended는 모든 조건을 다 따짐

 

11. White list = 기본적으로 모든 주소를 거부하고 허용할것들을 지정하여 적용하는 방법

      Black list = 기본적으로 모든 주소를 허용하고 거부할것들을 지정하여 적용하는 방법

 

Access list는 설정을 하고나서 잘못된 한줄 오류를 고치기 위해 따로 그 한줄만 다시 no로 지우고 다시 설정하면 전체 설정은 다 사라지고 수정한 한줄만 남게 된다! 매우 중요한 부분이므로 유의해서 따로 메모장에 작업을 하고 옮기거나, 재설정할 때 모든 정책 설정을 다시 해줘야한다!!! 

 

 

 

 

8번 필터링에 대한 부분에 추가로

"Congestion (=네트워크 혼잡)" 에 관한 정리

 

1. 네트워크 전체 Bandwidth보다 그 네트워크를 지나는 데이터가 많이 몰리게 되면 발생 

 

2. 네트워크 상에서 필연적으로 발생할 수 밖에 없다.

--> Bursty Traffic ... 상습적인 Congestion을 유발함.

 

3.  돈을 많이 들여서 Bandwidth를 늘리는 방법이 있지만 .... 관리를 통해서 어느 정도 방지가 가능.

 

** 혼잡을 제어하기 위한 방법

  • 사용자와 어플리케이션에 대한 Filtering
    --> 불필요한 네트워크를 걸러내는 방법
    ----> Access List가 여기서 사용되는 대표적인 방법!!

  • 브로드캐스트를 막아줌.
    --> 브로드캐스트는 꼭 필요하지만 네트워크 트래픽을 너무 많이 가중시키기 때문에
          불필요한 부분에서는 막아주는게 매우 중요하다!

  • 타이머를 활용
    --> 일정 시간마다 한 번씩 일어나는 일들을 제대로 조정해줌으로써 트래픽을 줄임
          이 때, 일정 시간마다 일어나는 일들의 대부분은 '브로드캐스트'

  • 라우팅 테이블 관리
    --> 라우팅 정보 교환은 트래픽을 발생시킴
    ---> 따라서 일부로 Static으로 조정해주면 트래픽이 줄어듬.

  • 트래픽의 우선 순위를 매김
    --> 중요한 트래픽은 우선 처리해주고 느려도 되는 트래픽은 뒤로 빼줌.

 

 

 

Standard Access

  • 1 ~ 99
  • Source IP만을 고려함. (= 출발지 주소만 제어)
  • TCP/IP만 제어
  • 위에서부터 비교 / 마지막줄에 모든 대상에 대한 차단 정책 수립

  • 정책 설정
    access-list [1~99] [permit or deny] [Source-IP] [wildcard-mask]
    ex) access-list 10 permit 1.1.1.1 0.0.0.0
          access-list 10 deny 1.1.1.0 0.0.0.255
          access-list 10 permit any 

  • 적용
    ip access-group [ACL-Number] [In or Out]
    ex) int s1/0
          ip access-group 10 in

 

 

Extended Access

  • 100 ~ 199
  • Sourece Address, destination address 모두 제어 가능.
  • TCP/IP, udp, icmp 등 특정 프로토콜을 지정해서 제어 가능.

  • 정책 설정
    access-list [100~199] [permit or any] [Protocol] [Source-IP] [soutce-wildcard] [destination-IP] [destination-wildcard] 
    ex) access-list 100 permit tcp 0.0.0.0 255.255.255.255 192.168.2.1 0.0.0.0 eq ftp
          access-list 100 deny tcp host 192.168.2.1
          access-list 150 permit ip any any 

  • 적용
    ip access-group [100~199] [IN or Out]
    ex) int s1/0
          ip access-group 100 in
  • established
    -> TCP 데이터그램이 ACK나 RST bit이 set되어 들어오는 경우에만 match가 발생.
    ex) access-list 100 permit tcp any 128.88.0.0 0.0.255.255 established
    -> 어느 source address에서든지 ACK나 RST bit이 set되어 있는 경우 
        128.88.0.0쪽에서 먼저 connection을 시도해야 set되므로, 128.88.0.0 이외에
        외부에서 먼저 connection을 맺을 수 없고, 다만 128.88.0.0쪽에서 먼저 connection을
        설정하려고 할 때 reply가 가능하도록 하는 것.

    ---> 즉, 이 명령은 128.88.0.0 네트워크에 있는 호스트들은 밖으로 나갈 수 있고,
           밖에서는 128.88.0.0 네트워크로 들어올 수 없게 하는 기능을 제공함!
     

 

*** Flag란?

  • 무엇인가 기억해야 하거나 다른 프로그램에게 약속된 신호를 남기기 위한 용도로
    프로그램에서 사용되는 미리 정의된 bit를 의미한다.

 

*** RST(Reset)

-- TCP Flag의 비정상적인 세션을 끊기 위한 연결을 재설정하는 과정

-- TCP는 3-Way handshake 방식을 통해 두 지점간 세션 연결 및 통신

    4-Way handshake 방식을 통해 세션을 종료하여 통신을 종료함.

-- 이러한 세션연결과 해제 이외에도 데이터를 전송하거나 거부, 세션 종료 같은 기능이
    패킷의 FLAG 값에 따라 달라지게 되는데, TCP Flag는 기본적으로 6가지로 구성됨.

출처 : ktworld.co.kr

 

  • SYN (Synchronization) : 통신 시작 시 세션을 연결하기 위한 플래그
  • ACK (Acknowledgement) : 응답 플래그 
  • FIN (Finish) : 연결 종료 플래그 
  • RST (Reset) : 비정상적인 세션을 끊기위해 연결 재설정
  • PSH (Push) : 버퍼가 채워지기를 기다리지 않고 받는 즉시 전달.
  • URG (Urgent) : 긴급한 데이터의 우선순위를 다른 데이터의 우선순위를 높여 전달하는 플래그

 

 

*** 주요 TCP / UDP port number

  • TCP 
    - telnet : 23
    - www(http) : 80
    - ftp : 21
    - smtp : 25

  • UDP
    - tftp : 69
    - domain(dns) : 53
    - snmp : 161

  • ICMP 
    - echo : 7 
    - ICMP는 포트번호 생략해도 적용됨.

  • IP 
    - igrp : 9 

 

 

 

 

 

실습 Topology

- PC0 사용자만 PC2와 통신을 하지 못하게 하라

- PC1 사용자는 서울라우터를 벗어나지 못하게 하라

- Standard ACL만 사용

 

 

 

 

IP들 넣어주고 라우팅 설정

 

 

 

 

 

 

PC0 사용자만 PC2와 통신하지 못하게 ACL 설정 완료.

 

 

 

 

PC1 사용자는 서울 라우터를 벗어나지 못하게 설정 완료

 

 

 

 


 

 

실습 2 

- PC방에서 Naver server, 업무server의 웹접속은 막고 ping통신은 되게 하라

- 카페에서 ping 통신은 막고 웹접속은 되게 하라

- 회사백본라우터의 config파일을 업무서버로 백업 하라

  (단, Naver로의 전송은 불가)

 

 

 

 

 

ip 설정 및 라우팅 설정

- pc방 : 192.168.1.2

- 카페 : 192.168.1.3

- Naver sever : 192.168.3.2

- 업무서버 : 192.168.4.2

 

 

 

 

 

 

정책설정

 Access list는 설정을 하고나서 잘못된 한줄 오류를 고치기 위해 따로 그 한줄만 다시 no로 지우고 다시 설정하면 전체 설정은 다 사라지고 수정한 한줄만 남게 된다! 매우 중요한 부분이므로 유의해서 따로 메모장에 작업을 하고 옮기거나, 재설정할 때 모든 정책 설정을 다시 해줘야한다!!! 

 

이 부분과 acl은 동일한 방향으로 하나의 정책만이 정해지기 때문에 처음 정책 설정할 때 두가지를 고려해 한꺼번에 해줘야함!

 

★ 실무적인 관점에서 굳이 내부에 불필요한 속도저하를 가져갈 필요가 없기에 백본에서 아웃바운드로 정책 설정 완료!

     ISP는 외부 업체이기 때문에 내부 규정에 따라서 설정하는게 좋음!

 

- 웹접속 : tcp (80)

- ping통신 : ICMP (port번호 안줘도 됨!)

 

 

 

PC방 -> 서버

 통신 ok

 웹접속 X

 

 

 

 

 

 

카페 -> 서버

 ping 통신 X

 웹접속 ok

 

 

 

 

 

 

 

 

 

 

 

회사백본라우터의 config파일을 업무서버로 백업.

naver로는 전송 불가하게 설정!

정책 구분을 위해 102번으로 추가로 만들어줌.

 

처음에 백본라우터에서 access를 설정을 해봤지만

naver로 전송이 가능..... 하다. 

(why? 안될줄 알았는데 왜 되는지 모르겠다 해결 해야한다....

혹시 보시는 분 중에 이 부분에 대한 이유를 알고계시면 댓글 남겨주시면 감사하겠습니다^^)

 

 

 

 

 

 

도착지쪽 라우터에서 설정을 해서 그런게 아닌가 싶어서 백본에 access 102를 지우고

ISP에 access 102를 설정 해봤다. 그러니 naver로의 백업 전송이 불가해졌다..!!

 

 

반응형
LIST