OffshoreVps
보안2026년 9월 25일읽는 시간 9분작성: OffshoreVps 팀

15분 만에 새 Linux VPS 보안 설정하기

새로 만든 Ubuntu 또는 Debian VPS를 위한 복사해서 붙여넣는 체크리스트입니다. SSH 키, 비루트 사용자, 방화벽, fail2ban, 자동 업데이트, 기본 모니터링을 다룹니다.

공인 IP 주소가 있는 새 VPS는 몇 분 안에 자동화된 로그인 시도를 받기 시작합니다. 개인적인 것은 전혀 없으며, 봇이 모든 주소를 스캔할 뿐입니다. 몇 가지 기본 단계로 거의 전부를 막을 수 있습니다. 이 체크리스트는 새로 설치한 Ubuntu 24.04 또는 Debian 12/13 서버를 가정하며 약 15분이 걸립니다.

새 VPS의 보안을 설정하는 데 사용하는 명령어를 보여 주는 VPS의 터미널 창으로, “apt update && apt full-upgrade -y”로 시작함
이 가이드에서 서버에서 실행하게 될 명령어의 종류입니다.

1. 먼저 모두 업데이트

apt update && apt full-upgrade -y
reboot

재부팅 후 다시 로그인하세요. 항상 완전히 패치된 시스템에서 시작하세요.

2. root가 아닌 사용자 만들기

항상 root로 작업하면 사소한 오타도 위험해집니다. sudo 권한이 있는 일반 사용자를 만드세요.

adduser deploy
usermod -aG sudo deploy

3. SSH 키 설정

본인 컴퓨터에서 키 쌍이 없다면 만들고, 공개 키를 서버에 복사하세요.

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

두 번째 터미널을 열어 계속 진행하기 전에 키로 deploy 계정에 로그인할 수 있는지 확인하세요. 확인이 끝나기 전에는 원래 세션을 닫지 마세요.

4. 비밀번호 및 root 로그인 끄기

SSH 데몬 설정을 편집하세요.

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

파일에 다음 줄을 넣으세요.

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

구문을 확인하고 다시 로드하세요.

sudo sshd -t && sudo systemctl reload ssh

5. 방화벽 활성화

UFW가 가장 간단한 선택입니다. 먼저 SSH를 허용한 다음 방화벽을 켜세요.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

실제로 실행하는 서비스의 포트만 여세요. 나머지는 기본적으로 모두 닫힌 상태로 둡니다.

이 가이드의 단계를 순서대로 나열하면 다음과 같습니다. 1. 1. 먼저 모든 것을 업데이트; 2. 3. SSH 키 설정; 3. 5. 방화벽 켜기; 4. 6. fail2ban 추가; 5. 8. 수신 대기 중인 항목 확인; 6. 다음에 할 일
이 가이드의 단계를 순서대로 나열한 것입니다.

6. fail2ban 추가

Fail2ban은 로그를 감시하고 로그인에 계속 실패하는 주소를 일시적으로 차단합니다.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

SSH에는 기본 설정이 적절합니다. 이미 비밀번호를 비활성화했으므로, 주로 로그 노이즈와 낭비되는 CPU를 줄여 줍니다.

7. 자동 보안 업데이트 켜기

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

보안 패치가 자동으로 설치됩니다. 커널 업데이트를 위해 가끔 재부팅하거나, 도구가 한적한 시간에 하도록 하세요.

8. 수신 대기 중인 항목 확인

sudo ss -tulpn

예상하지 못한 0.0.0.0에서 수신 대기하는 항목은 조사해 볼 가치가 있습니다. 로컬 전용 서비스(데이터베이스, 캐시, 관리자 패널)는 127.0.0.1에서 수신 대기해야 합니다.

9. 기본 모니터링과 백업

  • 로그를 확인하려면 가끔 journalctl -u ssh --since today를 실행하세요.
  • 리소스를 점검하려면 htop과 df -h를 사용하여 디스크가 가득 차거나 폭주하는 프로세스에 놀라지 않도록 하세요.
  • 백업을 하세요. 큰 변경 전에는 서버 스냅샷을 만들고, 다시 만들 수 없는 것은 서버 밖에 사본을 보관하세요.

다음 단계

이제 기본 상태보다 훨씬 뚫기 어려운 서버가 되었습니다. 앞으로는 소프트웨어를 최신 상태로 유지하고, 각 서비스를 별도의 권한 없는 사용자로 실행하고, 필요한 것만 노출하세요. 서버에 비공개 터널을 원한다면 WireGuard 설정 가이드가 좋은 다음 단계입니다.

자주 묻는 질문

새 VPS에서 가장 먼저 해야 할 일은 무엇인가요?

패키지를 업데이트하고, 비루트 사용자를 만들고, SSH 키로 전환하고, 비밀번호 로그인을 비활성화하고, 방화벽을 켜세요.

SSH 포트를 바꿔야 하나요?

로그의 잡음은 줄어들지만 진짜 보안은 아닙니다. 키와 방화벽이 훨씬 더 중요합니다.