← 전체 목록
서버백업운영

UFW 방화벽 기본 설정으로 불필요한 포트를 모두 닫습니다

ℹ️ 본 글은 정보 제공 목적이며, 광고·제휴 링크가 포함될 수 있습니다.

우분투 UFW 방화벽 기본 설정은 새 서버를 받으면 가장 먼저 해야 하는 작업 중 하나입니다. 신규 우분투 서버는 방화벽이 비활성화 상태로 납품됩니다. 저도 한 번은 서버 세팅에 집중하느라 방화벽 설정을 미루고 있었는데, Nginx 로그에 온갖 포트로 스캔 시도 기록이 쌓이는 것을 발견했습니다. 그 이후로는 서버를 받으면 소프트웨어 설치보다 방화벽 설정을 먼저 합니다.

UFW 기본 설정 순서

방화벽 설정 시 가장 중요한 것은 SSH 포트를 먼저 허용한 다음 활성화하는 것입니다. 순서가 바뀌면 서버에서 잠길 수 있습니다.

# 현재 UFW 상태 확인
sudo ufw status

# 기본 정책 설정 (들어오는 것 전부 차단, 나가는 것 전부 허용)
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH 허용 (먼저!)
sudo ufw allow 22/tcp
# SSH 포트를 변경했다면
sudo ufw allow 22222/tcp

# 웹 서버 허용
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS

# UFW 활성화
sudo ufw enable

ufw enable 실행 후 “Command may disrupt existing ssh connections” 경고가 나옵니다. SSH를 허용한 상태에서 활성화하면 문제없습니다.

병원 서버 추천 방화벽 규칙

웹 서버용 병원 사이트 서버에서 필요한 포트만 열어두는 설정입니다.

# 허용 목록
sudo ufw allow ssh         # 22번 포트 (또는 변경한 포트)
sudo ufw allow http        # 80번
sudo ufw allow https       # 443번
sudo ufw allow from <관리자_IP> to any port 3306   # MySQL: 관리자 IP만 허용

# 상태 확인
sudo ufw status verbose

MySQL(3306), Redis(6379) 같은 DB 포트는 외부에서 절대 열면 안 됩니다. 관리가 필요하다면 SSH 터널을 통해서만 접근하세요.

UFW 로그 확인

방화벽이 차단한 내역을 로그에서 확인할 수 있습니다.

# UFW 로그 활성화
sudo ufw logging on

# 로그 확인
sudo tail -50 /var/log/ufw.log

[UFW BLOCK] 로 시작하는 줄이 차단된 접근 시도입니다. 특정 IP에서 반복적으로 차단됩니다면 그 IP를 명시적으로 차단하는 규칙을 추가하세요.

sudo ufw deny from 악성IP

UFW는 설정이 간단하지만 효과는 강력합니다. 서버 납품받은 날 바로 설정하는 루틴을 만들어두면 나중에 후회할 일이 없습니다.

편집 정책

AI가 초안을 생성하고, 의료기관 인프라 운영자가 1차 데이터 기반으로 최종 검수·승인합니다.

작성·검수: WavePix 운영자 (의료기관 3곳 인프라 전담)