블로그로 돌아가기
1월 13, 2026가이드

Linux 서버에서 방화벽을 구성하는 방법

서버 보안을 위해 UFW(Ubuntu) 및 Firewalld(CentOS) 방화벽을 구성하는 방법에 대한 전체 가이드.

Linux 서버에서 방화벽을 구성하는 방법

방화벽은 서버 보안에 필수적이며 들어오고 나가는 네트워크 트래픽을 제어합니다. 이 가이드는 Ubuntu/Debian에서 UFW를, CentOS/RHEL 시스템에서 Firewalld를 구성하는 방법을 다룹니다.

UFW 설치

bash
sudo apt update
sudo apt install ufw -y

기본 UFW 명령어

bash
# 상태 확인
sudo ufw status

# 방화벽 활성화
sudo ufw enable

# SSH 허용(중요!)
sudo ufw allow 22/tcp

# HTTP 및 HTTPS 허용
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 포트 거부
sudo ufw deny 3306/tcp

# 규칙 삭제
sudo ufw delete allow 80/tcp

애플리케이션 프로필 사용

bash
# 사용 가능한 애플리케이션 목록
sudo ufw app list

# Nginx 허용
sudo ufw allow 'Nginx Full'

# OpenSSH 허용
sudo ufw allow 'OpenSSH'

Firewalld 설치

bash
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld

기본 Firewalld 명령어

bash
# 상태 확인
sudo firewall-cmd --state

# 모든 규칙 목록
sudo firewall-cmd --list-all

# 서비스 허용
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

# 포트 허용
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

영역(Zone) 작업

Firewalld는 영역을 사용하여 네트워크 보안을 관리합니다. 일반적인 영역:

bash
# 영역 목록
sudo firewall-cmd --get-zones

# 기본 영역 설정
sudo firewall-cmd --set-default-zone=public

# 영역에 서비스 추가
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

보안 베스트 프랙티스

  • 접속이 끊기는 것을 방지하기 위해 방화벽을 활성화하기 전에 항상 SSH를 허용하세요
  • 가능한 경우 특정 IP 주소를 사용하세요: sudo ufw allow from 192.168.1.100
  • 정기적으로 방화벽 규칙을 검토하고 사용하지 않는 규칙은 삭제하세요
  • 방화벽 활동을 모니터링하기 위해 로깅을 활성화하세요
  • 프로덕션에 적용하기 전에 방화벽 규칙을 테스트하세요