[CISCO 보안 아카데미 1기] 29일차 정리 (Rocky Linux, Access Control List)

Jin_Hahha·2024년 8월 2일
0


Rocky linux

설치

  • Kirby 설치 매뉴얼에 따라서 Rocky 구축
  • 이후 http, telnet, ssh 기능 설정

  • 본인 PC에서 Server로의 접속 성공

  • 본인 PC에서 외부 네트워크 Server로의 접속 성공

ACL(Access Control List)

개념

  • 출발지 주소와 목적지 주소 및 라우팅 테이블에 저장된 주소들을 기반으로 만든 패킷 출입 통제 문장
  • ACL을 이용하면 IP 주소를 기반으로 패킷의 전달 여부 통제 가능
  • 특정 프로토콜을 사용하는 패킷을 전달하지 않을 수 있음
    • 패킷 필터링(Packet Filtering)
  • 특정 프로토콜을 사용하는 패킷의 전달 여부는 포트 번호를 기반으로 함
    • 반드시 포트 번호를 반영하는 것은 아님
  • 라우터 보안 목적으로 ACL을 사용하기도 하지만, 네트워크 패킷의 구분을 위해 사용하기도 함
  • 패킷이 나가거나 들어오는 방향에 관리자가 선택한 라우터 인터페이스에 설정

Inbound Traffic

  • 패킷에 라우터 내부로 들어올 때 Filtering 여부 결정
  • 라우터 인터페이스로 패킷이 들어올 경우
    • 패킷을 수신하는 인터페이스로 설정되어 있는가 확인
    • 설정이 되어 있지 않으면 그냥 통과
  • ACL이 설정되어 있다면, 들어온 패킷의 정보와 ACL의 설정 내용을 확인하고 패킷의 통과 여부 결정

Outbound Traffic

  • 패킷이 라우터 외부로 나갈 때 Filtering 여부 결정
  • 라우터 인터페이스에서 패킷이 나갈 경우, 패킷이 나가는 인터페이스에 ACL이 설정되어 있는지 확인하고 설정되어 있지 않으면 그냥 통과
  • Permit은 허용을 의미, Deny는 거절을 의미

    permit any => 모든 것을 허용한다
    deny 203.230.7.0 0.0.0.255 => 203.230.7.0/24 네트워크는 거절한다

  • ACL은 윗줄부터 순서대로 수행
    • 문장의 순서가 중요
    • 반드시 좁은 범위부터 작성해야 함

Standard ACL

  • ACL 선언 후, ACL에 번호 부여 (사용 가능 번호 1~99)
  • 출발지 서브넷과 호스트만 정의 (필수 요소: 출발지 IP)
  • 간단한 필터링 or 라우팅 환경에서 특정 서브넷과 호스트 정의할 때 주로 사용

  • 단순 src IP만을 판단해 Traffic을 제어하고자 할 때 사용
  • ACL 번호로 1~99qjs tkdyd
  • 특정 프로토콜을 사용하는 패킷을 제어할 수 없음
    • 단순 src IP 주소만을 판단하여 Traffic을 제어하기 때문
  • Permit이면 패킷을 전송, Deny이면 패킷을 드롭하여 흐름 제어

Standard ACL 설정 명령어

Router(config)#access-list {list-num}{permit/deny}source{mask}

  • list-num, 1-99 사이의 숫자
  • permit|deny, 패킷 전달, 드롭 결정
  • source, 출발지 주소
  • mask, 출발지 주소의 와일드카드 마스크

Standard ACL 라우터 인터페이스 명령어

Router(config)#int se0/2/0
Router(config)#ip access-group {access-list-number} {in/out}

  • access-list-number는 앞서 설정한 list-num의 번호과 같아야 함
  • in은 패킷이 들어오는 것, out은 패킷이 나가는 것을 의미

Standard ACL 설정 기본

  • standard ACL은 항상 목적지 라우터 쪽에 설정되어야 함
  • 만약 중간 라우터에서 설정된다면, 다른 라우터까지 ACL의 영향을 받아 정상적인 전송이 이루어지지 않을 수 있음
  • ACL은 순서대로 입력되기 때문에 중간 삽입/삭제가 불가능
  • ACL 작성이 잘못되었으면 기존의 ACL을 삭제하고 다시 입력

Extended ACL

  • ACL 사용 가능 번호 (100~199)
  • 출발지 서브넷, 호스트와 목적지 서브넷과 호스트, 패킷의 상위 프로토콜 타입과 응용 계층 포트 번호 정의 가능 (필수 요소: 출발지 IP, 도착지 IP, 목적지의 MAC 주소)
  • 다양한 옵션을 통해 시간별 필터링, CISCO IOS 방화벽, QoS 정책을 위한 패킷 분류 작업 가능

Extended ACL 설정 명령어

  • 출발지와 목적지의 IP 주소 모두를 조건으로 보고 제어
  • IP, TCP, UDP, ICMP등의 상세 프로토콜을 선택하여 제어할 수 있음

Router(config)# access-list {list-number} {permit/deny} {protocol} source {mask} destination {mask} {operator port}

  • list-number, 100-199 사용
  • permit/deny, 조건에 맞는 Traffic을 permit할지 deny할지 결정
  • protocol, Filtering 할 프로토콜 정의
  • source, source address 지정
  • destination, destination address 지정
  • operator port, 목적지 TCP,UDP 포트 이름 및 번호 지정

Extended ACL 라우터 인터페이스 명령어

Router(config)#int se0/0
Router(config)#ip access-group {access-list-number} {in/out}

  • access-list-number는 앞서 설정한 list-num의 번호과 같아야 함
  • in은 패킷이 들어오는 것, out은 패킷이 나가는 것을 의미

Named Access Contorl List

  • 번호를 사용하지 않고 관리자가 정한 이름을 사용하여 Access-list를 정의함
  • Named standard Access-list와 Named Entended Access-list 두 종류가 있으며 Standard와 Extended의 특성과 같음

Named Access Contorl List 설정 명령어

  • 다른 ACL과 다르게 access-list 명령어 앞에 ip가 붙음
  • 맨 끝의 cisco는 ACL의 이름(임의 설정 가능, 대소문자 구별)

  • named ACL 출력 화면
  • 앞에 적힌 번호 순서에 따라 ACL이 동작

  • 만약 번호를 추가하고 싶다면?

{순서 번호} {permit/deny} host {ip}


  • 만약 번호를 삭제하고 싶다면?

no {순서 번호}


ACL 설정 주의사항

  • 패킷이 ACL로 인해서 통신이 되지 않는 건지, configure가 잘못되어 통신이 되지 않는 건지 확인
  • ACL 설정 확인 명령어

    show access-list

  • Client에서 ping을 전송하면 access-list의 match count가 증가
  • 만약, count가 증가하지 않는다면 routing이 잘못되었을 가능성이 큼

wild card mask 범위 지정

  • 서브넷 마스크의 반대 개념으로 표현
  • 서브넷은 0 또는 1이 반드시 연속적으로 표현되어야 하지만, wild card mask는 0 또는 1이 반드시 연속일 필요는 없음

ACL 실습

토폴로지

조건

  • VLAN과 ACL 적절하게 사용해서 반드시 완성할 것

중간 보고

  • 이제 막 풀 라우팅이 됨
  • ACL은 추가할 예정

0개의 댓글