ACL이란?
ACL이란 Access control list로 주소를 기반으로 하는 출입 통제 명부입니다. ACL의 목적은 크게 두가지인데 패킷을 차단하는 보안상의 이유 가장큰 주목적이 외부 네트워크에서 내부 네트워크로 들어오는 트레픽이 너무 많아져 네트워크에 부하가 발생할때 차단하여 네트워크 부하를 막는 역할도 있습니다.
ACL 종류
ACL 종류 | 설명 | 사용 번호 |
표준 ACL | 출발지 IP 주소만 참조하여 패킷 필터링 | 1~99, 1300~1999 |
확장 ACL | 출발지 및 목적지 주소와 TCP,UDP, 포트 번호를 참조하여 패킷을 필터링 합니다. | 100~199, 2000~2699 |
Named 표준 ACL | 표준 ACL과 같으면서 ACL 선언 시 번호가 사용자 설정값을 이용 | 빈칸은 사용될 수 없으며 반드시 영문자로 시작해야함 |
Named 확장 ACL | 확장 ACL과 같으며, 위와 동일 | 위와동일 |
ACL의 설정위치
ACL의 설정위치를 고르는 것도 매우 중요합니다. ACL은 들어오는 모든 패킷을 하나하나 검사하면서 진행되기 때문에 라우터의 리소스를 많이 잡아먹습니다. 즉 잘못된 위치에 설정하면 한 네트워크의 과부화의 원인이 될 수 있습니다.
같은 회사에서 라우터들이 동작한다면 생성되는 가장 가까운 위치에 설정해주는 것이 좋고 다른 회사에서 통신을 위해 동작한다면 목적지에 가장 가까운 곳에 설정해주는 것이 좋습니다.
또한 ACL 정책은 무조건 위에서 아래로 읽어 내려가기 때문에 설정하실때 주의 해주셔야 합니다.
표준 ACL 설정
access-list [n] permit [adderess] [wildmask]
access-list [n] permit host [address]
access-list [n] deny any
int [인터페이스 번호]
acess-group [n] in
생각보다 설정값이 어렵지 않습니다. host를 이용해서 특정 주소만 차단하거나 허용할 수 있습니다. 또한 네트워크 대역을 허용하거나 차단할땐 와일드마스크를 이용해줘야 하는데 이 부분은 다음에 한번 다시 정리하겠습니다. 특정 호스트를 처리할땐 0.0.0.0 전체 네트워크는 0.0.0.255 로 짝수번의 ip를 설정해줄땐 n.n.n.0 0.0.0.254 와 같이 와일드마스크를 써주시면 됩니다.
1.1.1.2 만 허용해줬는데 시뮬레이션에서도 보이다 싶이 1.1.1.2 가 아닌 나머지는 도달하지 못한다.
show access-list
위의 명령어를 입력하면 설정한 acl 의 값이 나온다.
access-list [n] remark ~
를 이용해서 설정해논 ACL이 어디에 사용되는 ACL인지 확인할 수 있다고 한다. 여러개의 ACL이 생성됐을때 구분하기 위해 사용된다.
remark 값은 show run을 이용하여 확인할 수 있다.
확장 ACL
확장 ACL은 말 그대로 표준 ACL에서 더 나아가 세부적인 차단과 허용을 할 수 있게 해준다. 예를 들어 PC1 이 PC2의 FTP에는 접속하게 하고 싶지만 Ping을 보내지 못하게 하고싶다. 이럴때 확장 ACL을 사용해서 설정이 가능하다.
access-list [n] [deny/permit] [protocol] [source network] [wildcardmask] [destination network] [wild cardmask] [option]
access-list [n] [deny/permit] ip any any
의 형식으로 선언해주면 됩니다.
이렇게 설정해줘봤는데 이상하게 잘 안되네요
패킷 차단은 확실히 잘 되는데 위에대로 설정해줬을 경우 telnet 접속이 되야 하는데 안되는 이유를 잘 모르겠습니다.
엄이네요 ,,, 옵션값을 잘못줬나봐요
그리고 모든 것을 허용하거나 차단할때는 ip any any 를 사용하시면 됩니다. 여기서 ip 는 모든 프로토콜을 의미하고 뒤에 any any는 모든 주소를 의미합니다.
뒤에 옵션 간단한것 몇개만 알아보자면 옵션에는 특정 시스템을 써주는데 앞에 eq telnet 이런식으로 써줍니다. 여기서 eq는 같다라는 의미를 가집니다. 따라서 eq 80 처럼 포트를 막을 수도 있습니다.
Named ACL
ip access-list [standard/extended] [ACL name]
//이하 모두 같음
// ex)
int g0/0
ip access-group [ACL name] in
standard 로 해줄 경우 표준 ACL 이란 뜻이며 extended 는 확장 ACL 이란 뜻입니다. 이하의 모든 설정은 같습니다.
Named ACL의 특징으로는 ACL 중간 삽입이 있는데 미리 두 명령어를 적어놓고 중간에 삽이해줘야 할 경우 표준ACL의 경우 삭제하고 다시 만들어줘야하지만 Named 는 명령어를 통해 삽입 해줄 수 있습니다.
[중간 삽이해야할 명령 사잇수] [permit/deny] ~
이외에도 Lock and key 인증, RACL 같은 다양한 ACL 설정 방법이 있는데 그건 다음에 알아보겠다
'네트워크 > 네트워크 일반' 카테고리의 다른 글
데이터 메세지 분할, 순서화, 캡슐화 (0) | 2022.07.17 |
---|---|
모의 사내망 구축 및 보안 설정 프로젝트(프로젝트 기록) (0) | 2022.07.15 |
Port-security (0) | 2022.02.09 |
VLAN (0) | 2022.02.03 |
DDoS, 공격 유형과 대응방안 (0) | 2022.01.27 |