일본 서버 보안 강화 체크리스트 — SSH·방화벽·로그·백업까지

해외서버 임대 직후 가장 위험한 시간대가 개통 후 첫 24시간입니다. SSH 22번 포트가 인터넷에 공개된 순간, 자동화 봇이 평균 4분 안에 발견하고 공격을 시도합니다. 이 글은 일본 서버를 안전하게 운영하기 위한 보안 강화 체크리스트를 단계별로 정리합니다.

0단계 — 개통 직후 즉시 (10분 안에)

1. 기본 root 비밀번호 즉시 변경

호스팅사가 발급한 초기 비밀번호는 메일·티켓에 평문으로 저장되어 있을 수 있습니다. 첫 SSH 접속 즉시 변경.

passwd

20자 이상, 대문자·소문자·숫자·특수문자 포함.

2. 새 관리자 계정 생성 + sudo 권한

root 직접 로그인은 금지하고, 별도 계정 + sudo로 운영.

useradd -m -s /bin/bash admin
passwd admin
usermod -aG wheel admin    # CentOS/Rocky/AlmaLinux
# usermod -aG sudo admin   # Ubuntu/Debian

1단계 — SSH 강화 (가장 중요)

3. SSH 키 인증으로 전환

비밀번호 인증은 무차별 대입 공격에 취약. 키 인증만 허용.

로컬에서 키 생성:

ssh-keygen -t ed25519 -C "your-email@example.com"
ssh-copy-id admin@your-server-ip

서버에서 /etc/ssh/sshd_config 수정:

PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
systemctl restart sshd

경고: SSH 재시작 전 반드시 새 세션을 열어 키 로그인이 되는지 먼저 확인. 안 되면 본인이 잠김.

4. SSH 포트 변경 (선택, 그러나 효과 큼)

22번 포트는 자동 봇의 1순위 표적. 다른 포트로 옮기면 봇 트래픽 99% 감소.

Port 22022    # 1024 이상의 임의 포트

방화벽에 새 포트 허용 후 SSH 재시작.

5. SSH 접속 가능 IP 제한 (가능하다면)

회사·집·VPN 고정 IP만 허용:

AllowUsers admin@123.45.67.89

또는 방화벽 레벨에서:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="123.45.67.89" port port=22 protocol=tcp accept'
firewall-cmd --permanent --add-port=22/tcp --remove-port=22/tcp  # 22 차단

2단계 — 방화벽 (필수)

6. 기본 정책 — 모두 차단, 필요한 것만 허용

CentOS/Rocky/AlmaLinux (firewalld)

firewall-cmd --set-default-zone=drop
firewall-cmd --permanent --add-service=ssh   # SSH 만 허용 (또는 변경한 포트)
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Ubuntu/Debian (UFW)

ufw default deny incoming
ufw default allow outgoing
ufw allow 22022/tcp   # SSH (변경 포트)
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

3단계 — 자동 차단 (fail2ban)

7. fail2ban 설치 — SSH 무차별 대입 자동 차단

yum install -y epel-release fail2ban    # CentOS/Rocky
apt install -y fail2ban                 # Ubuntu/Debian

/etc/fail2ban/jail.local:

[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 3

[sshd]
enabled = true
port = 22022
systemctl enable --now fail2ban

5분 안에 SSH 3번 실패 → 1시간 자동 차단.

4단계 — 자동 보안 업데이트

8. CentOS/Rocky/AlmaLinux

yum install -y dnf-automatic
systemctl enable --now dnf-automatic-install.timer

9. Ubuntu/Debian

apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades

보안 업데이트 자동 적용 → 알려진 취약점 매주 자동 패치.

5단계 — 로그 모니터링

10. 핵심 로그 파일 정기 점검

로그 위치 무엇을 본다
SSH 인증 /var/log/secure (RHEL) /var/log/auth.log (Debian) 의심스러운 로그인 시도
시스템 journalctl -p err 에러·경고
웹 서버 /var/log/nginx/access.log error.log 비정상 트래픽
방화벽 firewall-cmd --get-log-denied=all 차단 패턴

11. 알림 도구

  • Prometheus + Grafana + Alertmanager: 풀 모니터링 스택
  • Netdata: 가벼운 실시간 모니터링
  • Uptime Kuma: 외부에서 서비스 응답 확인
  • Sentry: 애플리케이션 에러 추적

최소 외부 모니터링 도구 1개는 필수. 서버가 죽었는데 본인이 모르는 게 가장 위험.

6단계 — 백업 자동화

12. 3-2-1 규칙

  • 3 카피 (원본 + 백업 2개)
  • 2 서로 다른 매체
  • 1 오프사이트 (다른 위치)

13. 일본 서버용 권장 구성

  • 로컬 일일 백업: 서버 자체 SSD 다른 파티션 (rsync 또는 tar)
  • 원격 주간 백업: JPServer 백업 스토리지 또는 다른 IDC
  • 클라우드 월간 백업: AWS S3 Glacier (장기 보관 저렴)

14. 백업 자동화 스크립트 예시

#!/bin/bash
DATE=$(date +%Y%m%d)
mysqldump -u root --all-databases | gzip > /backup/db_$DATE.sql.gz
tar czf /backup/web_$DATE.tar.gz /var/www
find /backup -mtime +30 -delete  # 30일 이상 된 백업 삭제
rsync -az /backup/ remote-backup-server:/backups/$(hostname)/

cron으로 매일 자동 실행:

0 3 * * * /root/scripts/backup.sh >> /var/log/backup.log 2>&1

15. 복구 테스트는 분기마다

복구해 본 적 없는 백업 = 백업 아님. 분기마다 다른 서버에서 백업 복구 시뮬레이션.

7단계 — 추가 강화 (선택)

16. 침입 탐지 도구 (IDS)

  • AIDE: 파일 시스템 무결성 검사
  • Wazuh: 통합 보안 모니터링 (오픈소스 SIEM)
  • OSSEC: 호스트 기반 IDS

17. WAF (웹 방화벽)

  • ModSecurity + OWASP CRS: Apache/Nginx 모듈, 무료
  • Cloudflare WAF: CDN과 통합, 일부 유료
  • JPServer L7 방어: 호스팅 레벨 통합

18. SELinux / AppArmor 활성화

기본 활성화되어 있는지 확인. 끄지 말 것.

sestatus              # CentOS/Rocky
aa-status             # Ubuntu/Debian

운영팀 체크리스트 (분기 1회)

  • OS·패키지 보안 업데이트 정상 적용 확인
  • fail2ban 차단 로그 검토 → 새로운 공격 패턴 파악
  • 백업 복구 테스트 실시
  • SSH 키 사용자 점검 (퇴사자 키 제거)
  • 사용자 계정 권한 검토 (sudo 권한 최소화)
  • 방화벽 규칙 점검
  • 디스크 사용량·SMART 상태 확인
  • IPMI 펌웨어 업데이트 확인

정리

일본 단독서버 또는 VPS 운영의 90%는 보안입니다. 위 체크리스트를 처음부터 적용하면 자동화 봇 99%, 일반 공격 95%를 차단할 수 있습니다. JPServer는 DDoS 방어를 인프라 레벨에서 기본 제공하며, 서버 보안 강화에 대한 추가 가이드는 무료 상담에서 안내해 드립니다.