NetBlade
Windows 단계 5 / 12 ~15 분 중급

SSH로 Linux 서버와 어플라이언스 인벤토리 만들기

일반 계정을 사용해 SSH로 Linux 서버를 NetBlade로 읽으세요. 시스템, 커널, CPU, 메모리, 설치된 패키지를 호스트 키 확인과 함께 다룹니다.

Linux 서버, 하이퍼바이저 호스트, 많은 어플라이언스는 Windows 관리를 쓰지 않지만 SSH는 씁니다. 일반 계정 하나로 NetBlade는 로그인해서 머신이 무엇인지와 어떤 패키지를 실행하는지 읽고, 서버의 신원을 기억해서 바뀐 머신이 조용히 사용자의 비밀번호를 수집하지 못하게 합니다. 이 글은 무엇을 읽는지, 만들 계정, 그리고 이해해야 할 하나의 안전장치를 다룹니다.

시작하기 전에

  • 스캔 후 포트 22가 열린 채로 기기에 있는 Linux 머신(포트 스캐너나 식별이 이를 보여 줍니다).
  • 계정을 만들기 위한 각 서버에 대한 관리 접근.
  • 서버의 SSH 데몬이 포트 22에서 수신 대기 중일 것. 그것이 NetBlade가 연결하는 포트입니다.

1. NetBlade가 SSH로 무엇을 읽는지 알기

Linux 서버나 어플라이언스에서 NetBlade는 다음을 읽습니다.

  • 호스트 이름;
  • 운영 체제, /etc/os-release에서, 또는 그 파일이 없으면 커널 이름;
  • 커널 버전;
  • 프로세서 모델과 코어 수;
  • 총 메모리;
  • 설치된 패키지, dpkg(Debian, Ubuntu와 그 파생)나 rpm(Red Hat, Rocky, AlmaLinux, SUSE와 그 파생)에서;
  • 기억해 두는 서버의 호스트 키.

SSH로는 디스크, 사용자, 방어에 관해 아무것도 돌아오지 않습니다. 이는 기기의 한계가 아니라 NetBlade가 이 프로토콜로 묻는 것의 한계이며, 카드가 그렇게 밝힙니다: «SSH로 읽음. Linux나 어플라이언스 호스트는 이름, 커널, 패키지로 응답하며, 디스크·사용자·방어에 관해서는 아무것도 응답하지 않습니다.»

2. sudo 없는 일반 계정 만들기

NetBlade가 실행하는 모든 명령은 어떤 사용자든 읽을 수 있는 파일과 도구를 읽습니다: hostname, /etc/os-release, uname, /proc/cpuinfo, nproc, /proc/meminfo, 그리고 dpkg-query나 rpm -qa로 패키지 목록. sudo를 절대 쓰지 않으며 루트가 절대 필요 없습니다. 그 이상을 할 수 없는 계정을 주세요.

일반적인 Linux 서버에서 root로 또는 sudo로(일반적인 Linux 관리, 배포판에 맞게 조정하세요):

sudo useradd -m -s /bin/bash netblade
sudo passwd netblade

이 사용자를 sudo, wheel, 또는 어떤 관리 그룹에도 추가하지 마세요.

참고: NetBlade는 SSH로 비밀번호로 인증합니다. 키 기반 로그인은 지원되지 않습니다. 서버가 키만 받아들인다면, SSH 데몬 구성에서 이 한 계정에 대해 비밀번호 로그인을 허용해야 합니다. 정책과 비교해 저울질하고, 길고 고유한 비밀번호를 쓰고, 기준이 요구하는 대로 계정을 제한하세요.

3. SSH 자격 증명 저장하기

  1. 자격 증명을 열고 **추가…**를 누릅니다.
  2. 프로토콜을 Linux / SSH로 설정합니다.
  3. 사용자와 비밀번호를 입력합니다.
  4. 적용 범위에서 한 사이트를, 또는 서버가 이 범위 유지로 저장한 범위에 있으면 이 스캔 범위들을 고릅니다.
  5. 레이블을 붙이고, 예를 들어 “A 사무실 - Linux 읽기 전용”, 저장을 누릅니다.
  6. 시도할 머신에 서버 주소를 입력하고 테스트를 누릅니다. 마지막 테스트가 «동작함»이라고 해야 합니다.

SSH 자격 증명은 포트 22가 열린 것이 확인된 곳(또는 아직 포트가 알려지지 않은 곳)에서, 적용되는 Windows와 SNMP 자격 증명 다음에 시도됩니다.

4. 서버 읽기

  1. 기기를 열고 심층 인벤토리를 누르거나, 서버 한 대의 카드를 열고 심층 스캔을 누릅니다.
  2. 읽기 상태가 «… 를 통해 … 읽음»이라고 합니다.
  3. 소프트웨어 탭이 설치된 패키지를 버전과 함께 나열합니다.
  4. 인벤토리, 그다음 소프트웨어에 이제 그 패키지가 Windows 프로그램과 나란히 포함되어, “누가 아직 이 버전을 실행하는가?”가 둘 모두에서 동작합니다.

팁: 패키지는 NetBlade의 사전이 이름을 붙일 수 있을 때에만 취약점 점검에 셉니다. 소프트웨어 페이지에서 사전이 이름을 붙일 수 있는 것만이 어느 것인지 보여 줍니다. 사전이 이름을 붙일 수 없는 프로그램은 앱 어디에서도 취약점 판정을 받지 않습니다. 침묵은 안전이 아닙니다.

5. 호스트 키 확인 이해하기

NetBlade가 서버에 처음 연결할 때, 서버 호스트 키의 SHA-256 지문을 기억합니다. 이후 모든 연결에서, 키가 다르면 NetBlade는 비밀번호를 보내기 전에 멈추고 이렇게 표시합니다.

«호스트 키가 이 기기가 지난번에 보여 준 것이 아닙니다. 아무것도 전송되지 않았습니다: 이 머신이 재설치되었거나, 그 주소에서 다른 무언가가 응답하고 있습니다.»

이는 서버의 주소를 차지한 기기로부터, 실수로 네트워크에 연결되었든 일부러 놓였든, 사용자의 자격 증명을 보호합니다.

이를 볼 때:

  1. 이유를 알아내세요. 서버가 재설치되었나요, 교체되었나요, 아니면 그 주소가 다른 머신에 부여되었나요?
  2. 설명할 수 없으면, 결함이 아니라 보안 사고로 다루세요.
  3. 변화가 정당하면, 새 키가 수락될 수 있도록 오래된 읽기를 지우세요. 이 버전에서 그 방법은 기기를 삭제하는 것입니다: 기기에서 선택을 누르고 체크한 뒤 삭제를 누릅니다. 카탈로그에서 그것으로부터 읽은 모든 것과 그 기록과 함께 떠나고, 다음 스캔에서 새로운 것으로 돌아옵니다. 그런 다음 다시 읽으세요.

6. 자체 셸을 가진 어플라이언스

많은 어플라이언스(방화벽, 일부 스위치, NAS 메뉴)는 SSH 로그인을 받아들이지만 Linux 셸이 아니라 자체 명령줄 인터페이스로 응답합니다. NetBlade는 모든 명령을 시간 초과로 묶어서 읽기가 멈추지 않게 하지만, 거의 또는 전혀 돌아오지 않습니다. 그런 기기에는 SNMP가 더 나은 프로토콜입니다: SNMP를 참고하세요.

제대로 되었는지 확인하기

  • 서버의 카드가 «… 를 통해 … 읽음»이라고 하고 시스템, 커널, 프로세서, 코어, 메모리를 보여 줍니다.
  • 소프트웨어 탭이 패키지를 나열합니다.
  • 대시보드에서 읽은 머신에 서버가 포함됩니다.

문제가 생기면

  • «SSH가 연결이나 자격 증명을 거부했습니다». 사용자나 비밀번호가 틀렸거나, 계정이 잠겼거나, 서버가 그것에 대해 비밀번호 로그인을 받아들이지 않습니다. 어느 것인지 보려면 같은 로그인을 터미널에서 시도하세요.
  • 나열된 패키지가 없습니다. NetBlade는 dpkg와 rpm만 읽습니다. 다른 패키지 관리자를 쓰는 배포판은 시스템 정보는 얻지만 패키지 목록은 얻지 못합니다.
  • 서버가 22가 아닌 포트에서 수신 대기합니다. NetBlade는 포트 22로만 연결합니다.
  • 계획된 재설치 후 호스트 키 메시지가 나타납니다. 예상된 것입니다. 5단계를 따르세요.
  • 디스크나 사용자에 관한 것이 없습니다. 설계상 SSH로 읽지 않습니다.

다음 단계

PC, 네트워크 장비, 서버를 읽었으니 어떻게 연결되어 있는지 그리세요: 네트워크 지도 만들기.

← 모든 사용법 가이드 기능 가이드 → 제품: NetBlade Windows →