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에서 그대로 적용됩니다.



















