VPS 해킹 완벽 방어 2026: ufw 방화벽 + SSH 보안 강화 실전 가이드

VPS를 방치하면 24시간 안에 봇이 들어온다

VPS 한 대를 개통하고 아무 설정도 하지 않으면, 인터넷 자동화 봇들이 22번 포트(SSH)를 무차별 대입(brute force) 공격하기 시작합니다. 로그를 확인해 보면 분 단위로 수많은 로그인 시도가 기록되어 있을 것입니다. 방화벽과 SSH 보안 강화는 VPS 셋업의 가장 첫 단계입니다.

이 튜토리얼에서는 ufw(Uncomplicated Firewall)로 기본 방화벽을 설정하고, SSH 보안을 강화하여 자동화 공격을 차단하는 전체 과정을 다룹니다. Vultr, DigitalOcean, Hetzner VPS에서 그대로 적용됩니다.

1. ufw 설치 및 기본 룰셋

Ubuntu/Debian에는 기본 설치되어 있습니다. 없다면:

sudo apt update && sudo apt install -y ufw

기본 정책을 설정합니다 — 들어오는 건 전부 거부, 나가는 건 전부 허용:

sudo ufw default deny incoming
sudo ufw default allow outgoing

2. SSH 허용 후 방화벽 활성화

주의: SSH를 허용하기 전에 방화벽을 켜면 접속이 끊깁니다. 반드시 SSH 먼저 허용:

sudo ufw allow 22/tcp comment 'SSH'
sudo ufw enable

상태 확인:

sudo ufw status verbose

3. 웹 서비스 포트 개방

Nginx/Apache 웹서버를 운영한다면:

sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

4. SSH 포트 변경 (보안 강화 1단계)

기본 22번 포트를 다른 포트(예: 2222)로 변경하면 자동화 봇의 99%가 타겟에서 제외됩니다:

sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config
sudo systemctl restart sshd

변경 후 ufw에서 새 포트 허용:

sudo ufw allow 2222/tcp
sudo ufw delete allow 22/tcp

주의: 기존 SSH 세션을 끊기 전에 새 포트로 접속되는지 반드시 확인하세요.

5. 키 인증 전환 (비밀번호 로그인 차단)

가장 효과적인 SSH 보안 조치입니다. 비밀번호 로그인을 끄고 키 인증만 허용:

# 로컬에서 키 생성 (아직 없다면)
ssh-keygen -t ed25519

# 공개키를 VPS에 복사
ssh-copy-id user@your-vps-ip

# VPS에서 비밀번호 로그인 차단
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

키 인증을 켠 뒤에 비밀번호 로그인을 꺼야 합니다 — 순서가 중요합니다.

6. fail2ban으로 무차별 대입 공격 차단

fail2ban은 로그를 모니터링하여 여러 번 실패한 IP를 자동으로 차단합니다:

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

기본 설정으로도 효과적이지만, 커스텀 규칙을 추가할 수 있습니다:

sudo tee /etc/fail2ban/jail.local >/dev/null <<'EOF'
[sshd]
enabled = true
maxretry = 3
bantime = 3600
findtime = 600
EOF
sudo systemctl restart fail2ban

3번 실패하면 1시간 차단, 10분 내 3번 실패 기준입니다.

7. 포트 노출 최소화 원칙

필요한 포트만 열어두는 것이 핵심입니다. ufw status로 주기적으로 열린 포트를 점검하세요. 데이터베이스(3306, 5432), Redis(6379)는 절대 외부에 열지 말고, 같은 서버 내 통신으로만 사용합니다.

마무리: 보안은 최소 권한이 전부다

ufw 방화벽 + SSH 키 인증 + fail2ban 조합으로 VPS의 자동화 공격 위험을 99% 줄일 수 있습니다. 10분이면 설정 가능하니 VPS 개통 직후 반드시 적용하세요.

추천 VPS: 이 튜토리얼은 Vultr, DigitalOcean, Hetzner VPS에서 그대로 적용됩니다.

관련 글

📎 이 영상의 발표 자료

누구나 무료로 다운로드할 수 있습니다.