보안을 강화하기 위해 로컬 네트워크의 특정 IP 주소 한 곳에서만 Cisco SG300-10 스위치에 접속할 수 있도록 접근을 제한하고 싶었습니다. 몇 주 전에 새 스위치를 처음 설정한 후, LAN이나 WLAN에 연결된 누구나 장비의 IP 주소만 알면 로그인 페이지에 접근할 수 있다는 사실이 마음에 걸렸습니다.
결국 500페이지가 넘는 매뉴얼을 뒤져가며 관리 접근을 허용할 IP 주소 외에는 모두 차단하는 방법을 찾아야 했습니다. 여러 차례 테스트와 Cisco 포럼에 문의한 끝에 해결 방법을 찾아냈습니다! 이 글에서는 Cisco 스위치에서 액세스 프로파일(Access Profile)과 프로파일 규칙(Profile Rule)을 설정하는 단계를 하나씩 안내해 드리겠습니다.
참고: 아래에서 설명할 방법은 스위치에서 활성화된 서비스 전체에 대한 접근 제한에도 활용할 수 있습니다. 예를 들어 SSH, HTTP, HTTPS, Telnet 중 일부 또는 전체 서비스에 대해 IP 주소 기반으로 접근을 통제할 수 있습니다.
관리 액세스 프로파일 및 규칙 생성하기
먼저 스위치의 웹 인터페이스에 로그인한 후, Security(보안) 메뉴를 펼치고 Mgmt Access Method(관리 접근 방식)를 확장합니다. 그다음 Access Profiles(액세스 프로파일)를 클릭합니다.

가장 먼저 할 일은 새로운 액세스 프로파일을 만드는 것입니다. 기본 상태에서는 Console Only 프로파일만 보일 것이고, 화면 상단의 Active Access Profile(활성 액세스 프로파일) 항목 옆에는 None이 선택되어 있는 것을 확인할 수 있습니다. 프로파일과 규칙 생성을 마친 후에는 이곳에서 해당 프로파일 이름을 선택해야 활성화됩니다.
이제 Add(추가) 버튼을 클릭하면 대화상자가 열리고, 여기서 새 프로파일의 이름을 지정하고 첫 번째 규칙을 추가할 수 있습니다.

상단에서 새 프로파일의 이름을 입력합니다. 나머지 필드는 모두 이 새 프로파일에 추가될 첫 번째 규칙과 관련된 항목입니다. Rule Priority(규칙 우선순위)는 1부터 65535 사이의 값을 선택해야 하며, Cisco의 동작 방식상 우선순위 숫자가 가장 낮은 규칙부터 먼저 적용됩니다. 조건이 일치하지 않으면 다음으로 우선순위가 낮은 규칙이 순차적으로 적용됩니다.
이 예제에서는 이 규칙이 가장 먼저 처리되기를 원했기 때문에 우선순위를 1로 지정했습니다. 이 규칙은 스위치 접근을 허용할 IP 주소를 정의하는 역할을 합니다. Management Method(관리 방식)에서는 특정 서비스를 선택하거나 'All'을 선택해 모든 서비스를 제한할 수 있습니다. 저는 어차피 SSH와 HTTPS만 활성화되어 있고 두 서비스를 모두 한 대의 컴퓨터에서 관리하기 때문에 'All'을 선택했습니다.
SSH와 HTTPS만 따로 보호하고 싶다면 별도의 규칙 두 개를 만들어야 한다는 점에 유의하세요. Action(동작)은 Deny(거부) 또는 Permit(허용) 중 하나만 선택할 수 있습니다. 이 예제에서는 허용할 IP를 위한 규칙이므로 Permit을 선택했습니다. 다음으로 특정 인터페이스에 규칙을 적용하거나, All로 두어 모든 포트에 적용되도록 할 수 있습니다.
Applies to Source IP Address(적용 대상 소스 IP 주소) 항목에서는 User Defined(사용자 정의)를 선택한 후 IPv4 환경이라면 Version 4를 고릅니다(IPv6 환경이라면 Version 6을 선택). 이제 접근을 허용할 IP 주소를 입력하고, 검사할 비트 범위에 맞는 네트워크 마스크를 함께 입력합니다.
예를 들어 제 IP 주소가 192.168.1.233이라면 IP 주소 전체를 검사해야 하므로 네트워크 마스크는 255.255.255.255가 필요합니다. 반대로 서브넷 전체에 규칙을 적용하고 싶다면 255.255.255.0을 사용하면 되는데, 이 경우 192.168.1.x 대역의 모든 장비가 허용됩니다. 물론 제가 원하는 방식은 아니지만, 네트워크 마스크의 사용법을 이해하는 데 도움이 될 겁니다. 참고로 이 네트워크 마스크는 여러분 네트워크의 서브넷 마스크와는 다른 개념입니다. 네트워크 마스크는 규칙을 적용할 때 Cisco가 어떤 비트까지 검사할지를 지정하는 값일 뿐입니다.
Apply(적용)를 클릭하면 새로운 액세스 프로파일과 규칙이 완성됩니다! 왼쪽 메뉴에서 Profile Rules(프로파일 규칙)를 클릭하면 목록 상단에 새 규칙이 표시됩니다.

이제 두 번째 규칙을 추가해야 합니다. Profile Rule Table 아래의 Add 버튼을 클릭하세요.

두 번째 규칙은 매우 간단합니다. 먼저 Access Profile Name이 방금 만든 프로파일과 동일한지 확인합니다. 그다음 규칙의 우선순위를 2로 지정하고, Action은 Deny로 선택합니다. 나머지 항목은 모두 All로 설정합니다. 이렇게 하면 모든 IP 주소가 차단되지만, 첫 번째 규칙이 먼저 처리되기 때문에 허용된 IP 주소는 정상적으로 접근할 수 있습니다. 한 번 규칙이 일치하면 나머지 규칙은 무시됩니다. 즉, 첫 번째 규칙에 해당하지 않는 IP 주소는 두 번째 규칙에 걸려 차단되는 구조입니다.
마지막으로 새로 만든 액세스 프로파일을 활성화해야 합니다. Access Profiles 화면으로 돌아가 상단 드롭다운 목록(Active Access Profile)에서 새 프로파일을 선택한 후, 반드시 Apply를 클릭하면 설정이 완료됩니다.

주의할 점은 현재 설정이 아직 실행 중인 설정(running config)에만 저장되어 있다는 것입니다. Administration – File Management – Copy/Save Configuration으로 이동해 running config를 startup config에 복사하여 저장하는 것을 잊지 마세요.
여러 개의 IP 주소에 접근을 허용하고 싶다면 첫 번째 규칙과 같은 방식으로 규칙을 추가하되, 더 높은 우선순위 값을 부여하면 됩니다. 이때 Deny 규칙의 우선순위가 모든 Permit 규칙보다 높은 숫자(즉, 나중에 적용)가 되도록 조정해야 하는 것도 잊지 마세요. 설정 과정에서 문제가 발생하거나 작동하지 않는 경우 댓글로 남겨주시면 최대한 도움을 드리겠습니다.