VPS를 구매하면 빈 서버가 하나 생긴다. 이제 이 서버에 접속해서 초기 설정을 해야 한다.

서버를 만들고 아무것도 안 한 채 15시간을 뒀더니, 로그인 시도가 647건 들어와 있었다. 아무것도 설치 안 했고, 도메인도 연결 안 했는데. VPS는 만든 순간부터 전 세계 봇들이 접근을 시도한다.

이 글에서는 서버 접속부터 보안 설정까지, VPS를 만든 직후에 반드시 해야 할 5가지를 정리한다.

SSH란?

내 컴퓨터에서 원격 서버에 접속하는 방법이다.

서버에는 모니터가 없다. 대신 터미널(명령어 창)을 통해 원격으로 접속해서 조작한다. 이 원격 접속 방식이 SSH(Secure Shell)다.

Windows라면 PowerShell이나 명령 프롬프트에서, Mac이나 Linux라면 터미널에서 바로 사용할 수 있다.

서버 접속하기

VPS 대시보드(Vultr 기준)에서 서버를 클릭하면 접속 정보가 나온다.

항목 설명
IP Address 서버의 주소
Username 기본값 root
Password 자동 생성된 비밀번호

터미널을 열고 아래 명령어를 입력한다.

ssh root@서버IP주소

처음 접속하면 “Are you sure you want to continue connecting?”이 나온다. yes 입력. 그리고 비밀번호를 입력하면 접속 완료다.

팁: 비밀번호 입력 시 화면에 아무것도 안 보이는 게 정상이다. 보안상 타이핑이 표시되지 않는 것이니 그대로 입력하고 Enter를 누르면 된다.

1단계: 시스템 업데이트

서버에 설치된 소프트웨어를 최신 버전으로 업데이트한다. 보안 패치가 포함되어 있어서 가장 먼저 해야 한다.

apt update && apt upgrade -y

apt update는 업데이트 목록을 가져오고, apt upgrade -y는 실제로 설치한다. -y는 “전부 동의”라는 뜻이다.

2단계: 방화벽(UFW) 설정

새 서버는 모든 포트가 열려 있는 상태다. 필요한 포트만 열고 나머지를 전부 막아야 한다.

ufw allow 22
ufw allow 80
ufw allow 443
ufw enable
포트 용도
22 SSH — 서버 접속용
80 HTTP — 웹사이트
443 HTTPS — 보안 웹사이트

ufw enable 후 “Command may disrupt existing SSH connections” 경고가 나오면 y를 입력한다. 22번 포트를 이미 열었으니 접속이 끊기지 않는다.

설정 확인:

ufw status

3개 포트만 ALLOW로 표시되면 성공이다.

3단계: 새 사용자 만들기

root는 서버의 최고 관리자 계정이다. 모든 권한이 있어서 위험하다. 일반 사용자를 만들어서 평소에는 그걸로 접속하는 게 안전하다.

adduser 사용자이름

비밀번호를 설정하라고 나온다. 나머지 정보(Full Name 등)는 Enter로 넘겨도 된다.

주의: Ubuntu는 비밀번호에 사용자 이름이 포함되면 거부한다. 사용자 이름과 관련 없는 비밀번호를 설정하자.

새 사용자에게 관리자(sudo) 권한을 부여한다.

usermod -aG sudo 사용자이름

이제 이 사용자로 접속할 수 있는지 테스트한다. 기존 접속을 끊지 말고 새 터미널 창을 열어서:

ssh 사용자이름@서버IP주소

접속이 되면 성공. sudo 명령어도 테스트해 보자.

sudo apt update

비밀번호를 입력하고 정상 실행되면 OK.

4단계: root 원격 접속 차단

새 사용자가 정상 작동하는 걸 확인했으면, root로 원격 접속하는 걸 막는다. 해커들이 가장 먼저 시도하는 게 root 로그인이니까.

sudo nano /etc/ssh/sshd_config

파일에서 PermitRootLogin 항목을 찾는다. (Ctrl+W로 검색 가능)

PermitRootLogin no

yesno로 바꾸고 저장한다. (Ctrl+O → Enter → Ctrl+X)

SSH 서비스를 재시작한다.

sudo systemctl restart sshd

중요: root 접속을 차단하기 전에 반드시 새 사용자로 접속이 되는지 확인해야 한다. 안 그러면 서버에 접속할 방법이 없어진다.

5단계: fail2ban 설치 — 해킹 자동 차단

fail2ban은 반복적으로 로그인을 시도하는 IP를 감지해서 자동으로 차단하는 도구다.

sudo apt install -y fail2ban

설치하면 기본 설정으로 바로 작동한다. 기본값은 5회 실패 시 10분 차단이다.

설정을 변경하고 싶다면 설정 파일을 복사해서 수정한다.

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

[sshd] 섹션에서 주요 설정:

항목 기본값 설명
maxretry 5 몇 번 실패하면 차단할지
bantime 10m 차단 시간
findtime 10m 이 시간 안에 maxretry만큼 실패하면 차단

더 강하게 설정하고 싶다면:

[sshd]
enabled = true
maxretry = 3
bantime = 1h
findtime = 10m

설정 변경 후 재시작:

sudo systemctl restart fail2ban

차단된 IP 확인:

sudo fail2ban-client status sshd

설정 전 vs 설정 후

항목 설정 전 설정 후
시스템 업데이트 안 됨 최신 상태
방화벽 전체 오픈 3개 포트만 허용
접속 계정 root만 일반 사용자 + sudo
root 원격 접속 허용 차단
해킹 차단 없음 fail2ban 자동 차단

정리

VPS를 만든 직후에 반드시 해야 할 5가지:

  1. 시스템 업데이트 — apt update && apt upgrade -y
  2. 방화벽 설정 — SSH(22), HTTP(80), HTTPS(443)만 허용
  3. 새 사용자 생성 — root 대신 일반 사용자로 접속
  4. root 원격 접속 차단 — PermitRootLogin no
  5. fail2ban 설치 — 반복 로그인 시도 자동 차단

이 5가지를 안 하면? 하루 만에 수백 건의 해킹 시도가 들어온다. 보안 설정은 선택이 아니라 필수다.