리눅스 서버 방화벽(UFW) 설정하는 방법

 우분투 서버에서 UFW 방화벽을 설정하는 방법을 실제 경험 기반으로 정리했습니다. 기본 개념부터 자주 하는 실수까지 순서대로 확인해보세요.

방화벽 없이 서버를 운영했던 며칠

예전에 테스트용으로 서버 하나를 급하게 띄운 적이 있어요. "나중에 방화벽 설정하지 뭐" 하고 며칠 뒀는데, 접속 로그를 열어보니 처음 보는 국가의 IP들이 계속 포트를 두드리고 있더라고요. 그때부터 서버를 띄우면 UFW 설정부터 하는 습관이 생겼어요.

UFW는 Uncomplicated Firewall의 줄임말로, iptables보다 훨씬 쉬운 문법으로 방화벽을 관리할 수 있게 해줘요.

1. UFW 설치 확인 및 상태 보기

sudo apt install ufw -y
sudo ufw status

처음이면 inactive로 나올 거예요.

2. 방화벽 켜기 전에 SSH 포트부터 허용

여기서 순서를 꼭 지켜야 해요. 방화벽부터 켜고 SSH 포트를 나중에 열려고 하면, 그 순간 접속이 끊겨서 서버에 아예 못 들어갈 수 있어요. 저도 이걸로 한 번 튕겨나간 적이 있어서, 그 뒤로는 무조건 SSH 허용부터 하고 켭니다.

sudo ufw allow OpenSSH

SSH 포트를 22번이 아닌 다른 포트로 쓰고 있다면 포트 번호로 직접 허용해야 해요.

sudo ufw allow 2222

3. 필요한 서비스 포트만 열기

웹 서비스를 운영한다면 이 정도만 열어도 충분해요.

sudo ufw allow 80
sudo ufw allow 443

"필요한 것만" 여는 게 중요해요. 예전에 테스트한다고 여러 포트를 열어놓고 정리를 안 했는데, 몇 달 뒤 보안 점검하다가 왜 열려있는지도 모르는 포트를 발견하고 식은땀 흘린 적이 있어요.

4. 방화벽 활성화

sudo ufw enable
sudo ufw status verbose

5. 특정 IP만 허용하고 싶을 때

관리자 접속 IP가 고정되어 있다면, 그 IP에서만 접속을 허용하도록 제한할 수 있어요.

sudo ufw allow from 123.45.67.89 to any port 2222

회사나 집 IP가 고정이라면 이 방식을 강력 추천해요. 이 설정 이후로 낯선 접속 시도 로그가 눈에 띄게 줄었어요.

6. 규칙 삭제할 때

sudo ufw status numbered
sudo ufw delete 3

마무리

방화벽 없이 서버를 며칠만 돌려봐도 낯선 접속 시도가 얼마나 많은지 바로 체감돼요. UFW는 문법이 간단하니, 서버를 새로 띄울 때는 SSH 포트 허용 → 필요한 포트 열기 → 활성화 순서만 지켜서 꼭 설정해두는 걸 추천해요.