본문으로 건너뛰기

UFW(우분투 방화벽)를 어떻게 설정하고 관리하나요?

💡 요약 정리

  • UFW는 Ubuntu/Debian 계열에서 사용하는 간단한 방화벽(패킷 제어 프로그램)입니다.
  • 서비스는 systemctl로 제어하고, 방화벽 활성/비활성은 ufw enable/disable로 설정합니다.
  • 정책 확인은 ufw status numbered, ufw show raw를 사용합니다.
  • 허용은 ufw allow, 차단은 ufw deny, 삭제는 번호 또는 규칙 형태로 수행합니다.
  • 활성화 전 반드시 서비스 포트를 확인하고, 변경 전에는 /etc/ufw/user.rules 및 /etc/ufw/user6.rules를 백업하세요.

1. UFW란?

  • 패킷을 제어하는 프로그램입니다.
  • Uncomplicated Firewall의 약자로, Ubuntu와 Debian 계열의 리눅스 배포판에서 사용됩니다.

2. UFW 명령어

2.1 서비스

  • 서비스 시작
systemctl start ufw
  • 서비스 중지
systemctl stop ufw
  • 서비스 상태확인
systemctl status ufw
  • 서비스 활성화
ufw enable
  • 서비스 비활성화
ufw disable
서비스 시작 및 활성화 전에 서비스 포트가 등록되어 있는지 확인하세요. 등록되어 있지 않은 경우 차단될 수 있습니다.
  • netstat 명령어를 통하여 서비스를 확인하시기 바랍니다.

2.2 정책 확인

  • 현재 설정된 정책들을 번호와 함께 확인
ufw status numbered
  • 모든 정책 확인
ufw show raw

2.3 정책 등록 및 차단

2.3.1 정책 등록

  • 호스트 서버에 22번 포트 전부 허용
ufw allow 22/tcp
  • 호스트 서버에 22~23번 포트 전부 허용
ufw allow 22:23/tcp
  • 192.168.0.30이 22번 포트로 들어오는 패킷을 허용
ufw allow from 192.168.0.30 to any port 22
  • 192.168.0.0/24 대역이 22번 포트로 들어오는 패킷을 허용
ufw allow from 192.168.0.0/24 to any port 22
방화벽 정책 등록 시, 서비스에 필요한 포트만 허용하는 것을 권고드립니다.

2.3.2 정책 차단

  • 호스트 서버에 22번 포트 차단
ufw deny 22/tcp
  • 호스트 서버에 22~23번 포트 전부 차단
ufw deny 22:23/tcp
  • 192.168.0.30이 22번 포트로 들어오는 패킷을 차단
ufw deny from 192.168.0.30 to any port 22
  • 192.168.0.0/24 대역이 22번 포트로 들어오는 패킷을 차단
ufw deny from 192.168.0.0/24 to any port 22
서비스되고 있는 포트를 차단하면 서비스가 중단됩니다. 반드시 확인 후 진행하세요.
  • netstat 명령어로 서비스 포트 확인 가능합니다.

2.4 정책 삭제

  • ufw status numbered에서 표시된 번호를 지정하여 삭제
ufw delete (번호)
  • 22번 포트를 허용하는 정책을 삭제
ufw delete allow 22/tcp

2.5 백업 및 초기화

2.5.1 백업

  • 사용자가 등록한 룰은 /etc/ufw/user.rules(IPv4), /etc/ufw/user6.rules(IPv6)에 저장됩니다. 해당 설정 파일을 백업합니다.
cp -a /etc/ufw/user.rules /etc/ufw/user.rules.bak
  • 혹은 안에 있는 내용을 따로 저장합니다.
명령어 실행 전에 백업을 권고드립니다.

2.5.2 초기화

  • 초기화 상태로 돌아가면서 UFW는 비활성화 상태가 됩니다.
ufw reset