VPS 보안: 처음 10분 체크리스트

ApexVPS 팀 작성 • 최종 업데이트: 2026년 7월 • 읽는 데 9분

새로운 Linux VPS는 온라인 상태가 되면 몇 분 안에 자동화된 봇의 스캔을 받습니다. 따라서 가장 현명한 첫 단계는 다른 것을 설치하기 전에 짧고 반복 가능한 VPS 보안 체크리스트를 실행하는 것입니다. 이 가이드가 바로 그 체크리스트입니다. 새 Ubuntu 또는 Debian 서버에서 루트가 아닌 사용자를 만들고, SSH를 잠그고, 방화벽을 켜고, 무차별 대입 로그인을 차단하는 실용적인 처음 10분 루틴입니다. 아래의 모든 명령은 표준적이고 복사해도 안전하며 특별한 도구가 필요하지 않습니다. 터미널과 몇 분의 시간만 있으면 됩니다.

단계를 순서대로 진행하세요. 각 단계는 이전 단계를 기반으로 하며, 끝나면 기본 이미지보다 훨씬 뚫기 어려운 서버를 갖게 될 것입니다.

왜 서두르나요? 공용 IPv4 공간은 지속적으로 스캔됩니다. 인터넷 연결 장치용 검색 엔진과 수많은 봇넷은 새 호스트를 분류하고 기본 자격 증명을 24시간 내내 시도합니다. "서버가 활성화됨"과 "서버가 공격받고 있음" 사이의 간격은 일이 아니라 분 단위로 측정됩니다. 이 기본 사항에 집중 10분을 투자하면 자동화된 도구가 쉽게 공격하는 대상에서 제외되며, 주의를 기울이는 것 외에는 비용이 들지 않습니다.

시작하기 전에

새 서버에 SSH로 접속하려면 제공업체가 이메일로 보낸 IP 주소가 필요합니다. ApexVPS의 모든 요금제는 전체 루트 액세스 권한을 제공하므로 이 보안 강화 과정을 직접 완료할 수 있습니다. 터미널을 열고 루트(또는 이미지가 만든 기본 사용자)로 연결하세요:

ssh root@your_server_ip

어떤 규칙보다 중요한 것이 하나 있습니다: 교체가 작동하는지 확인하기 전에는 로그인 방법을 비활성화하지 마십시오. 두 번째 SSH 세션을 테스트하는 동안 첫 번째 SSH 세션을 계속 열어 두세요. 문제가 발생하면 그 열린 세션이 안전망이 됩니다.

1단계 — 시스템 업데이트

패치된 소프트웨어는 모든 VPS 보안 체크리스트의 기초입니다. 먼저 패키지 인덱스를 새로 고치고 최신 보안 수정 사항을 설치하세요:

sudo apt update && sudo apt upgrade -y

새 이미지에서는 종종 커널 및 OpenSSH 패치를 포함한 수십 개의 업데이트가 설치됩니다. 커널이 업그레이드된 경우, 나머지 체크리스트를 완료한 후 sudo reboot로 재부팅을 계획하세요.

2단계 — sudo 권한이 있는 비루트 사용자 생성

루트로 직접 로그인하는 것은 위험합니다: 실수로 입력한 단일 명령이 무제한 권한으로 실행되며, 루트는 모든 공격자가 가장 먼저 시도하는 계정입니다. 전용 사용자를 만들고 sudo를 통해 관리 권한을 부여하세요:

adduser deploy
usermod -aG sudo deploy

첫 번째 명령은 계정을 만들고 비밀번호를 요청합니다. 두 번째 명령은 sudo 그룹에 추가합니다. deploy를 원하는 이름으로 바꾸세요. 이제부터 이 사용자로 로그인하고 특정 명령이 필요할 때만 루트로 권한을 상승하세요.

3단계 — SSH 키 인증 설정

비밀번호는 추측할 수 있지만 SSH 키는 사실상 불가능합니다. 로컬 머신(서버가 아님)에서 최신 Ed25519 키 쌍을 생성하세요:

ssh-keygen -t ed25519 -C "[email protected]"

기본 위치를 수락하고 이상적으로는 암호를 설정하세요. 그런 다음 공개 키를 서버의 새 사용자에게 복사하세요:

ssh-copy-id deploy@your_server_ip

ssh-copy-id을 사용할 수 없는 경우 서버에서 디렉터리와 파일을 수동으로 만들고 공개 키를 ~/.ssh/authorized_keys에 붙여넣은 다음 권한을 수정하세요:

mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

이제 새 터미널을 열고 비밀번호 없이 로그인할 수 있는지 확인하세요: ssh deploy@your_server_ip. 이 작업이 완료될 때까지 진행하지 마십시오. 다음 단계가 이에 의존합니다.

4단계 — SSH 잠금: 루트 로그인 및 비밀번호 비활성화

키 로그인이 입증되었으면 약한 옵션을 끄십시오. SSH 데몬 구성을 편집하세요:

sudo nano /etc/ssh/sshd_config

이 세 가지 지시문을 설정(또는 주석 해제 및 변경)하세요:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

적용하기 전에 파일의 유효성을 검사한 다음 서비스를 다시 시작하세요:

sudo sshd -t
sudo systemctl restart ssh

sshd -t 검사는 잠길 수 있는 오타를 잡아냅니다. 다시 시작한 후 별도의 터미널에서 새 연결을 테스트하세요. SSH를 통한 루트 로그인과 비밀번호 추측은 이제 모두 불가능합니다.

SSH 포트 변경(선택 사항)

SSH를 22번 포트에서 옮기는 것은 결심한 공격자를 막지 못하지만 기본 포트만 스캔하는 봇의 지속적인 배경 소음에서는 숨겨줍니다. 원한다면 /etc/ssh/sshd_configPort 2222 같은 줄을 추가하세요. 무엇보다도 SSH를 다시 시작하기 전에 방화벽(다음 단계)에서 새 포트를 열어야 합니다. 그렇지 않으면 잠길 수 있습니다.

5단계 — UFW로 방화벽 활성화

방화벽은 의도한 포트만 노출되도록 보장합니다. Ubuntu와 Debian에는 UFW(Uncomplicated Firewall)가 포함되어 있으며, 이름에서 약속한 대로 정확히 동작합니다. 기본값을 안전하게 설정하고 SSH를 허용한 다음 활성화하세요:

sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose

OpenSSH 프로필은 22번 포트를 엽니다. 이전 단계에서 SSH를 이동했다면 sudo ufw allow 2222/tcp로 새 포트를 허용하세요. 웹사이트를 운영하고 있나요? HTTP 및 HTTPS를 추가하세요:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

다른 모든 것은 기본적으로 닫혀 있으며, 이는 공용 서버에서 원하는 바로 그 상태입니다.

6단계 — 무차별 대입 공격을 막기 위해 fail2ban 설치

키를 적용해도 공격자는 계속 SSH 포트를 공격할 것입니다. fail2ban은 로그를 감시하고 여러 번 실패한 IP를 일시적으로 차단합니다. 설치하고 활성화하세요:

sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban

규칙을 사용자 지정하려면 기본 구성을 로컬 재정의 파일에 복사하여 업그레이드가 변경 사항을 덮어쓰지 않도록 한 다음 편집하십시오.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

[sshd] 섹션에서 maxretrybantime와 같은 값을 조정할 수 있습니다. sudo systemctl restart fail2ban로 다시 로드하고 sudo fail2ban-client status sshd를 사용하여 현재 차단된 사용자를 확인하십시오.

7단계 — 자동 보안 업데이트 켜기

보안 취약점은 끊임없이 발견되며, 가장 큰 피해는 설치하지 않은 패치에서 발생합니다. unattended-upgrades 패키지는 중요한 업데이트를 예약에 따라 자동으로 설치합니다.

sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades

메시지가 표시되면 "예"를 선택하십시오. 그러면 Ubuntu 또는 Debian이 백그라운드에서 조용히 보안 업데이트를 적용합니다. 이 한 단계로 취약점 공개와 서버 보호 사이의 간격을 메울 수 있습니다.

8단계 — 사용하지 않는 서비스 비활성화 및 기본 보안 강화

네트워크에서 수신 대기하는 모든 서비스는 잠재적인 침입 경로이므로 필요하지 않은 것은 제거하십시오. 실제로 실행 중인 서비스와 포트에 바인딩된 서비스를 나열하십시오.

sudo systemctl list-units --type=service --state=running
sudo ss -tulpn

사용하지 않는 서비스를 발견하면 비활성화하고 중지하십시오:

sudo systemctl disable --now <service-name>

몇 가지 빠른 추가 조치로 체크리스트를 완성하십시오:

더 깊은 수준의 보안 구성 프레임워크를 보려면 OWASP 재단에서 신뢰할 수 있는 보안 강화 및 보안 지침을 게시하므로 설정이 성장함에 따라 북마크해 두는 것이 좋습니다.

10분 체크리스트 요약

이 요약을 눈에 잘 띄는 곳에 보관하십시오. 새 서버를 구축할 때 몇 분 안에 반복할 수 있는 VPS 보안 강화의 전체 절차를 체크리스트 형식으로 제공합니다:

  1. 모든 패키지를 업데이트하고 커널이 변경되었다면 재부팅하십시오.
  2. 비루트 사용자를 만들고 sudo 그룹에 추가하십시오.
  3. Ed25519 SSH 키를 생성하고 공개 키를 서버에 복사하십시오.
  4. 두 번째 터미널에서 키 기반 로그인이 작동하는지 확인하십시오.
  5. sshd_config에서 루트 로그인과 암호 인증을 비활성화하십시오.
  6. 선택적으로 SSH를 비표준 포트로 이동하십시오.
  7. UFW를 활성화하고 기본적으로 수신을 거부하며 사용하는 포트만 허용하십시오.
  8. 무차별 대입 시도를 자동으로 차단하도록 fail2ban을 설치하십시오.
  9. 무인 보안 업그레이드를 켜십시오.
  10. 사용하지 않는 서비스를 비활성화하고 수신 중인 서비스를 검토하십시오.

이 단계 중 어느 것도 단독으로 어렵지 않지만, 하나라도 건너뛰면 분명한 허점이 남습니다. 함께 수행하면 기회주의적 공격의 대부분을 차단하는 견고한 기준선이 형성됩니다. 여기에서 TLS가 있는 리버스 프록시, 침입 탐지 도구, 컨테이너를 통한 서비스별 격리, 제공업체 스냅샷 위의 오프서버 백업 등 필요에 따라 추가 기능을 계층화할 수 있습니다.

ApexVPS가 보안 강화를 보완하는 방법

위의 체크리스트는 운영 체제를 강화하지만 일부 위협은 그 아래에 있습니다. 대규모 트래픽 공격과 하드웨어 장애는 인프라 계층에서 처리되며, 이것이 제공업체가 중요한 이유입니다. 모든 ApexVPS 플랜에는 상시 가동 DDoS 보호가 포함되어 트래픽 홍수가 방화벽에 도달하기 전에 흡수되고, 자동 백업(Starter Pro는 매일, Business 및 Enterprise는 시간별 스냅샷)으로 실수나 침해로 인해 처음부터 시작할 필요가 없습니다. 연중무휴 모니터링과 진정한 전용 CPU 및 RAM은 시끄러운 이웃이 속도를 늦추거나 문제를 일으키지 못하게 합니다.

전체 보호 기능은 ApexVPS 기능 개요에서 확인할 수 있으며, 각 등급에 포함된 내용은 VPS 요금제 및 가격 페이지에서 비교할 수 있습니다. 자체 앱 실행용으로 서버를 강화하려는 경우 셀프 호스팅 VPS 가이드가 이 체크리스트와 잘 어울립니다. 가입은 이메일만 있으면 되고, 결제는 OxaPay를 통한 암호화폐 전용으로 진행됩니다 — 비트코인, 이더리움, USDT 및 30개 이상의 코인을 지원하며, 신용카드, 은행 계좌, KYC가 필요 없습니다.

자주 묻는 질문

새 VPS를 보호하기 위해 가장 먼저 해야 할 일은 무엇인가요?

sudo apt update && sudo apt upgrade -y를 사용하여 모든 패키지를 업데이트한 후, sudo 권한이 있는 비루트 사용자를 만들어 루트로 로그인하지 않도록 하세요. 이 두 단계만으로도 가장 흔하고 파괴적인 공격 경로를 차단할 수 있습니다.

기본 SSH 포트를 변경해야 하나요?

선택 사항입니다. SSH를 포트 22에서 옮기면 자동 스캔 로그의 양은 줄어들지만, 그 자체로 실제 보안이 되는 것은 아닙니다 — 키 기반 인증, 방화벽, fail2ban이 핵심 역할을 합니다. 포트를 변경할 경우에는 SSH를 재시작하기 전에 UFW에서 새 포트를 열어 잠금 현상을 방지하세요.

SSH 키를 사용해도 방화벽이 필요한가요?

네. SSH 키는 SSH 서비스만 보호하며, UFW와 같은 방화벽은 시스템의 다른 모든 포트를 제어합니다. 기본적으로 모든 수신 트래픽을 거부하고 실제로 사용하는 포트만 허용하는 것은 키 사용 여부와 관계없이 모든 VPS 보안 체크리스트의 핵심입니다.

VPS에서 fail2ban이 필수인가요?

적극 권장합니다. 비밀번호 로그인을 비활성화하더라도 봇은 계속해서 SSH 포트를 탐색하고 로그를 어지럽힙니다. fail2ban은 반복적인 공격자를 자동으로 차단하여 로그 노이즈를 줄이고 서비스에 대한 무차별 대입 공격 성공 가능성을 차단합니다.

ApexVPS에는 DDoS 보호와 백업이 포함되어 있나요?

네. 모든 요금제에는 상시 DDoS 보호와 자동 백업 — Starter Pro는 매일, Business 및 Enterprise는 시간별 스냅샷 — 이 포함되어 있으며 24/7 모니터링도 제공됩니다. 이는 서버 내부에서 보호할 수 없는 인프라 계층을 보완하여 OS 강화를 돕습니다.

보안 강화를 더 쉽게 하고 싶으신가요? 모든 ApexVPS 요금제의 DDoS 보호, 백업 및 전용 리소스 확인하기 →