로컬 및 클라우드 기반 솔루션 모두
보안 강화를 위한 포트 스캐너 활용 가이드
주택 보안의 기본이 문을 잠그는 것처럼, 컴퓨터 보안의 핵심은 네트워크 포트를 관리하는 데 있습니다. 네트워크 포트는 컴퓨터의 문과 같아서, 사용하지 않는 포트는 반드시 닫아두어야 합니다. 현대의 컴퓨터는 여러 프로세스를 동시에 처리하기 때문에, 특히 서버 환경에서는 모든 포트를 추적하기가 어려울 수 있습니다. 하지만 네트워크에 연결된 모든 장비는 잠재적인 공격 대상이 될 수 있으므로, 불필요한 포트가 열려 있지 않도록 주의해야 합니다. 이를 위해 포트 스캐너는 매우 유용한 도구이며, 이 글에서는 최고의 포트 스캐닝 도구들을 소개합니다.
본격적인 논의에 앞서, 포트 스캐닝의 개념과 필요성에 대한 배경지식을 먼저 다루겠습니다. 또한, 컴퓨터 공학 분야에서 "포트"라는 용어가 다양한 의미로 사용되기 때문에 혼동하지 않도록 여러 유형의 포트에 대해 설명할 것입니다. 이후에는 가장 뛰어난 로컬 포트 스캐너 5가지와 클라우드 기반 포트 스캐너 몇 가지를 소개하며, 효과적인 포트 관리에 대한 깊이 있는 정보를 제공할 것입니다.
포트 스캐닝이 왜 중요할까요?
내부 문이 없는 집을 상상해 보세요. 여러 개의 방이 있고, 각 방마다 외부로 통하는 문이 따로 있습니다. 부엌에 들어가려면 부엌 문을 통해야 하고, 거실에 들어가려면 거실 문을 이용해야 합니다. 일반적인 컴퓨터도 마찬가지입니다. 각 서비스는 고유한 '문', 즉 네트워크 또는 IP 포트를 통해 작동합니다. 컴퓨터에서 실행되는 각 서비스는 다른 포트를 사용하며, 그중 일부는 표준화되어 있습니다. 예를 들어, 포트 80은 HTTP 트래픽, 포트 20은 FTP, 포트 53은 DNS에 일반적으로 사용됩니다.
네트워크를 통해 전송되는 모든 데이터 패킷은 목적지 포트와 출발지 포트를 포함합니다. 목적지 포트는 데이터가 도착해야 하는 컴퓨터 내의 서비스를 식별합니다. 출발지 포트는 응답이 되돌아갈 위치를 알려주어, 데이터를 보낸 컴퓨터가 응답을 정확하게 수신할 수 있게 합니다.
일반적인 컴퓨터에는 수십 개 이상의 포트가 열려 있을 수 있습니다. 특히 서버의 경우, 사용하지 않거나 불필요한 서비스에도 포트가 열려 있는 경우가 많습니다. 이러한 열린 포트는 악의적인 사용자가 컴퓨터에 접근할 수 있는 진입로가 될 수 있으므로, 불필요한 포트를 닫아두는 것이 매우 중요합니다.
하지만 어떤 포트가 열려 있는지 정확히 파악하는 것은 쉽지 않습니다. 일부 포트는 기본적으로 열려 있으며, 바이러스나 악성 프로그램이 사용자 몰래 포트를 열어 무단 접근을 허용할 수도 있습니다. 따라서 포트 스캐너를 사용하여 서버 및 네트워크 연결 장비를 검사하고 필요한 포트만 열려 있는지 확인하는 것이 가장 좋습니다.
포트 스캐너는 다양한 포트로 컴퓨터에 연결을 시도하여 어떤 포트가 열려 있는지, 닫혀 있는지, 은폐되어 있는지를 보고하는 소프트웨어입니다. 닫힌 포트는 '닫힘' 응답을 보내지만, 은폐된 포트는 아무런 응답을 하지 않습니다.
혼동하기 쉬운 포트 용어 정리
컴퓨터 공학 분야에서는 "포트"라는 용어가 여러 가지 의미로 사용되어 혼란을 야기할 수 있습니다. 앞서 설명한 IP 또는 네트워크 포트 외에도, 스위치 포트와 컴퓨터 인터페이스 포트도 존재합니다.
스위치 포트는 네트워크 스위치의 물리적 인터페이스를 의미하며, 네트워크 스위치를 모니터링하는 별도의 도구가 존재합니다. 이는 본문에서 다루는 포트 스캐너와는 다른 종류의 도구입니다. 또한 컴퓨터에는 USB 포트, 직렬 포트, VGA 포트, HDMI 포트 등 다양한 종류의 인터페이스 포트가 있습니다. 과거에는 조이스틱 포트나 프린터 포트도 사용되었지만, 이들은 네트워크 또는 IP 포트와는 무관합니다.
주요 로컬 포트 스캐너 소개
로컬 포트 스캐너는 네트워크에 연결된 컴퓨터에 설치되어 하나 이상의 IP 주소를 스캔하고, 각 장치에서 열려 있는 네트워크 포트를 찾습니다. 스캔 후에는 보고서를 바탕으로 불필요한 포트를 닫고, 필요한 포트만 열어두는 것이 중요합니다.
1. SolarWinds 포트 스캐너 (무료 다운로드)
SolarWinds는 뛰어난 네트워크 및 시스템 관리 도구를 제공하며, 관리 작업을 돕는 다양한 무료 소프트웨어도 제작합니다. 이전 글에서 무료 SCP 서버와 TFTP 서버를 다룰 때도 SolarWinds 제품을 언급한 바 있습니다. 오늘 소개할 무료 도구는 바로 SolarWinds Port Scanner입니다.
SolarWinds 포트 스캐너를 사용하면 스캔한 각 IP 주소에 대해 열림, 닫힘, 스텔스 포트 목록을 얻을 수 있습니다. 모든 IP 주소 또는 특정 IP 주소만 선택하여 스캔할 수 있습니다. 예를 들어 서버 IP 주소만 스캔하도록 설정할 수 있습니다. 이 도구는 기본적으로 취약한 서비스가 사용하는 잘 알려진 포트만 검색하지만, 사용자 정의 범위 또는 모든 포트를 검색하도록 설정을 변경할 수 있습니다. 고급 설정에서는 TCP 또는 UDP 포트만 스캔할 수 있으며, ping 검사 실행, 역 DNS 확인, 실행 중인 OS 식별 등의 추가 기능을 사용할 수 있습니다.
많은 수의 장비와 포트를 스캔하는 데는 시간이 걸릴 수 있습니다. 특히 스텔스 포트의 경우, 도구가 스텔스로 결론짓기 전에 요청 시간 초과를 기다려야 하므로 각 포트마다 시간이 소요될 수 있습니다. 하지만 SolarWinds 포트 스캐너는 멀티스레딩 기능을 사용하여 여러 포트 또는 IP 주소를 병렬로 스캔하여 이 문제를 완화합니다.
스캔이 완료되면 테스트된 모든 장비의 상태를 목록으로 보여줍니다. 많은 IP 주소를 테스트했을 경우, 이 목록은 매우 길어질 수 있습니다. 하지만 소프트웨어에서 필터를 사용하여 열린 포트가 있는 장비만 표시할 수 있습니다. 목록에서 장비를 클릭하면 해당 장비의 포트 세부 정보가 나타나며, 이 정보도 열린 포트만 표시하도록 필터링할 수 있습니다.
2. Nmap/Zenmap
Nmap (Network Mapper의 약자)은 Gordon Lyon이 개발한 포트 스캐너로, 컴퓨터 네트워크에서 호스트와 서비스를 검색하는 데 사용됩니다. Nmap은 특수하게 제작된 패킷을 대상으로 보내고, 그 응답을 분석하여 작동합니다. 1997년 말에 처음 공개된 이래로 명령줄 포트 스캐너의 표준이 되었습니다. 원래는 Linux에서만 사용 가능했지만, 이후 Windows 및 macOS를 포함한 다양한 운영 체제로 이식되었습니다.
Nmap을 사용하면 네트워크에 연결된 장비를 감사하고, 네트워크 인벤토리, 매핑, 자산 관리에도 활용할 수 있습니다. 또한 네트워크 취약점을 찾아 악용할 수 있는 강력한 도구입니다.
Nmap은 명령줄 유틸리티이기 때문에 사용이 다소 복잡할 수 있습니다. 이를 보완하기 위해 다양한 GUI 프론트엔드가 개발되었으며, 그중 최고는 Zenmap입니다. Zenmap은 Nmap을 더욱 사용하기 쉽게 만들어 주며, 사용자 인터페이스가 세련되지는 않지만 Nmap의 유용성을 크게 향상시킵니다.
Zenmap은 네트워크의 모든 컴퓨터에서 모든 포트를 스캔하고, 발견된 포트에 대해 다양한 테스트를 수행할 수 있습니다. TCP 또는 UDP 포트만 스캔하도록 쉽게 제한할 수 있으며, "강렬한" 스캔 모드를 사용하여 은폐 기술을 사용하면 테스트 대상 장비에 테스트 기록을 남기지 않을 수도 있습니다.
3. PortScan & Stuff
PortScan & Stuff는 Windows용 무료 휴대용 네트워크 검색 도구입니다. 휴대용 도구는 설치가 필요 없이 컴퓨터에 복사하여 실행할 수 있습니다. 이 도구는 네트워크의 모든 활성 장치를 찾아 열려 있는 모든 포트를 표시하고, 호스트 이름, MAC 주소와 같은 추가 정보도 제공합니다. 또한 다중 스레드를 지원하여 대규모 네트워크 스캔 시 성능을 향상시키며, 최대 100개의 동시 스레드를 사용할 수 있습니다.
이 도구의 큰 장점 중 하나는 스캔 필터입니다. 특정 포트 번호와 같은 기준을 사용하여 검색 범위를 좁힐 수 있습니다. 예를 들어, 원격 데스크톱 연결에 사용되는 포트인 3389를 입력하면, 해당 포트만 테스트하여 원격 데스크톱 포트가 열린 컴퓨터만 결과로 보여줍니다. 이 포트는 악의적인 접근을 허용할 수 있으므로, 필요한 경우가 아니면 열어 두지 않아야 합니다.
PortScan & Stuff는 포트 스캔 외에도 고급 ping 및 traceroute 유틸리티도 내장하고 있습니다. 예를 들어, ping 테스트를 통해 특정 크기의 패킷을 여러 번 보내거나, 연속적으로 ping을 보내고 응답 시간 분포를 그래프로 확인할 수 있습니다. 또한 DNS 및 Whois 쿼리도 수행할 수 있습니다.
4. Angry IP Scanner
다음 소개할 도구는 Angry IP Scanner입니다. 이 도구는 간단하지만 강력하며, 멀티스레딩을 사용하여 빠른 속도를 자랑합니다. 여러 IP 주소에서 수많은 포트를 스캔하는 데 시간이 많이 소요될 수 있지만, Angry IP Scanner는 빠른 속도로 효율적인 스캔을 제공합니다.
Angry IP Scanner는 Windows, macOS 및 Linux에서 사용할 수 있는 다중 플랫폼 도구입니다. Java로 작성되었으므로 Java 런타임이 필요합니다. 사용하기 쉬운 GUI를 제공하며, 열림, 닫힘, 스텔스 포트를 감지합니다. 또한 호스트 이름과 MAC 주소를 벤더 이름으로 해석하는 기능을 제공하며, NetBIOS 및 기타 호스트 정보를 표시합니다.
이 소프트웨어는 전체 네트워크, 서브넷, IP 주소 범위 또는 텍스트 파일에서 IP 주소 목록을 스캔할 수 있습니다. GUI 기반이지만, 스크립팅을 위한 명령줄 버전도 제공합니다. 스캔 결과는 테이블 형식으로 표시되며, CSV 및 XML을 포함한 다양한 파일 형식으로 내보낼 수 있습니다.
Angry IP Scanner는 무료 오픈 소스 소프트웨어이며, 웹사이트에서 직접 다운로드할 수 있습니다. 소스 코드가 공개되어 있어 필요에 따라 개선할 수도 있습니다.
5. MiTeC 네트워크 스캐너
마지막으로 소개할 도구는 MiTeC 네트워크 스캐너입니다. 이 도구는 다양한 기능과 함께 제공됩니다. 포트 스캔뿐만 아니라 ICMP, NetBIOS, Active Directory 및 SNMP 스캔도 수행합니다. 고급 기능을 갖추고 있지만, 숙련된 관리자와 일반 사용자 모두를 고려하여 설계되었습니다. 보안에 관심 있는 사용자라면 MiTeC 네트워크 스캐너가 유용할 것입니다.
MiTeC 네트워크 스캐너는 핑 스윕을 수행하고, 열려 있는 TCP 및 UDP 포트를 검색하며, 리소스 공유 및 서비스를 검색합니다. 스캔된 장치가 SNMP 지원 네트워크 스위치인 경우, 올바른 커뮤니티 문자열을 제공하면 인터페이스와 기본 SNMP 속성을 감지하고 나열합니다. 스캔 결과는 도구의 GUI에 테이블 형식으로 표시되며, CSV 파일로 내보내 다른 도구로 분석할 수도 있습니다.
MiTeC 네트워크 스캐너는 Windows XP부터 Windows Server 2016까지 모든 Windows 버전에서 실행되며, 32비트 및 64비트 버전 모두에서 사용할 수 있습니다.
온라인 포트 스캐너
온라인 포트 스캐너는 로컬 스캐너와 동일한 기본 기능을 수행하지만, 인터넷에서 원격으로 실행되어 서버에서 열려 있는 포트를 테스트합니다. 일반적으로 서버의 정규화된 도메인 이름이나 공개 IP 주소를 입력하면, 열려 있는 포트 목록을 얻을 수 있습니다. 이 도구는 악의적인 인터넷 사용자로부터 서버를 보호하는 데 유용하며, 발견된 불필요한 열린 포트는 즉시 닫아야 합니다. 해커도 이와 같은 도구를 사용하여 시스템의 취약점을 찾아낼 수 있다는 점을 잊지 말아야 합니다.
온라인 포트 스캐너는 많이 있으며, 모두 기본적인 기능은 비슷합니다. 아래 목록은 몇 가지 좋은 예시일 뿐이며, 이 외에도 다양한 훌륭한 클라우드 기반 포트 스캐너가 존재합니다.
1. Pentest-Tools.com의 TCP 포트 스캔
Pentest-Tools.com은 다양한 보안 중심 테스트를 제공하는 웹사이트입니다. TCP 포트 스캔 도구를 사용하려면, IP 주소, 주소 범위 또는 호스트 이름을 입력하고 몇 가지 옵션을 선택해야 합니다. 가장 일반적인 100개의 포트, 포트 범위 또는 쉼표로 구분된 포트 목록을 스캔할 수 있습니다. 또한 스캔할 권한이 있음을 확인하는 상자를 선택해야 합니다. 도구는 열려 있는 모든 포트 번호 목록과 함께, 가능한 경우 서비스 이름, 서비스를 실행하는 소프트웨어, 소프트웨어 버전 번호를 반환합니다.
2. IPFingerPrints의 오픈 포트 검사기 및 스캐너
IPFingerPrints의 오픈 포트 검사기 및 스캐너는 기본적이면서도 완벽한 도구입니다. 일반 및 고급 모드를 제공하며, 일반 모드에서는 테스트할 IP 주소와 포트 범위만 지정하면 됩니다. 고급 모드에서는 7가지 스캔 유형 중 하나를 선택하고, ping 유형 및 기타 몇 가지 옵션을 설정할 수 있습니다. 도구는 지정된 IP 주소에서 열린 포트 목록을 반환하며, 열린 포트와 닫힌 포트만 결과 목록에 표시됩니다. 이 도구는 기본적이지만, 빠르고 효율적으로 작업을 수행합니다.
결론
네트워크 장비가 악의적인 사용자의 표적이 되지 않도록 주의해야 합니다. 이 글에서 소개한 도구를 사용하여 네트워크에서 열린 포트를 검색하고, 필요한 포트만 열려 있는지 확인해야 합니다. 스캔은 장비 보안의 첫 번째 단계일 뿐이며, 불필요한 포트는 닫고 필요할 때만 열어야 한다는 점을 기억하십시오.