메뉴 닫기

서버 방화벽 구성 및 설정방법

서버를 보호하는 가장 기본적인 방법은 방화벽 설정입니다.

방화벽은 네트워크 트래픽을 제어하고 허가되지 않은 접근을 차단하여 서버를 안전하게 운영하는 데 필수적입니다.

방화벽을 설정하는 이유는 외부 공격으로부터 서버를 보호하고, 안전한 네트워크 환경을 유지하기 위함입니다. 이를 통해 DDoS, 스푸핑, 포트 스캔과 같은 네트워크 공격을 방지할 수 있습니다.

이번 가이드에서는 iptables와 UFW(Uncomplicated Firewall)을 활용해 서버 방화벽을 구성하고 관리하는 방법을 소개하도록 하겠습니다.
 

 

방화벽의 역할과 중요성
 

방화벽은 외부 네트워크로부터 서버를 가장 앞단에서 보호하는 방어막으로, 주요 역할은 아래와 같습니다.
 

트래픽 제어: 허용된 IP와 포트만 접근을 허락하고, 나머지 트래픽은 차단

공격 방어: DDos, 스푸핑, 포트 스캔 등 네트워크 공격을 방지 

 

네트워크 모니터링: 트래픽 흐름을 감시하여 비정상적인 트래픽을 탐지  

 

iptables , UFW 차이 

 

iptables

리눅스 커널에 내장된 방화벽 관리 도구로써, 고급 사용자를 위한 유연하고 강력한 기능을 제공합니다.
방화벽 규칙을 체계적으로 설정하고 관리할 수 있지만, 복잡한 규칙을 설정해야 하므로 전문적인 지식을 필요로 합니다. 

 

UFW 

우분투(Ubuntu)와 같은 배포판에서 iptables를 간단하게 이용할 수 있도록 만든 방화벽 도구로써,
초보자도 쉽게 방화벽을 사용할 수 있도록 직관적인 명령어를 제공합니다.
고급 설정에서는 iptables만큼 복잡할 수 있습니다. 

 

하단에서는 방화벽 설정방법을 소개하도록 하겠습니다.

UFW 방화벽 구성


 

기본적으로 우분투에 기본적으로 설치되어 있으나, 설치되지 않은 경우 아래와 같이 설치할 수 있습니다.
 

sudo apt install ufw

설치 후 방화벽을 활성화하려면 다음 명령어를 사용합니다.

 

sudo ufw enable

해당 명령어는 ufw 방화벽을 활성화하여 서버에 기본적인 방어막을 설정하는 명령어로,

서버에 필요한 포트나 ip 주소에 대한 접근을 허용하고, 나머지를 차단하는 방식으로 방화벽 규칙을 구성합니다. 

UFW 기본 설정

1. 기본 정책 설정
 

sudo ufw default deny incoming
sudo ufw default allow outgoing 

* 모든 외부 트래픽을 차단하고, 서버에서 나가는 트래픽을 허용하는 정책

2. 필요 포트 허용
 

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https 

SSH , HTTP , HTTPS 등 필요한 포트를 설정하는 명령어로 아래와 같이 포트번호로 설정도 가능합니다.
 

sudo ufw allow 8080 

특정 IP만 허용하기 위해서는 아래와 같이 설정할 수 있습니다.
예시) 192.168.0.0을 허용한다고 가정할 경우
 

sudo ufw allow from 192.168.0.0 to any port 22 

현재 설정된 방화벽 규칙을 확인하는 명령어로, 설정된 명령어를 확인할 수 있습니다.
 

sudo ufw status

 

Iptables 기본 설정 


 

iptables는 ufw보다 더 유연하고 세부적인 설정을 지원합니다.
기본적으로 리눅스 커널에 내장된 방화벽 도구로써, 복잡한 네트워크 설정에 적합합니다.
 

동일하게 기본적으로 들어오는 트래픽을 차단하고, 나가는 트래픽을 허용하기 위해 아래와 같은 명령어를 사용합니다. 
 

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT

특정 포트 허용

sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT

특정 IP 허용

sudo iptables -A INPUT -p tcp -s 192.168.0.0 –dport 22 -j ACCEPT

 

설정 확인

sudo iptables -L 

최종정리

항목

UFW

iptables

웹방화벽

설정 난이도

쉽고 직관적

복잡함

보통

용도

서버 및 호스트 기본적인 네트워크 방어

네트워크 트래픽 필터링 및 커스터마이징

웹 애플리케이션 공격방어

트래픽 제어

인바운드/아웃바운드 트래픽 제어

세부적인 트래픽 제어

HTTP/HTTPS 트래픽 제어 및 필터링

성능 영향

비교적 적음

시스템 리소스 사용량 낮음

성능에 영향이 갈 수 있음

주요 특징

간단한 명령어로 설정 가능

세분화된 정책 설정 가능

웹 애플리케이션에서 동작 및 L7 필터링

보안 수준

중간

매우 강력함

웹 애플리케이션 관련 매우 강력함

권장

간단한 보안설정 

네트워크 세부 설정

웹 사이트 공격 방어
(SQLi , XXS , DDos 등)

유연성

제한적

유연함 , 맞춤형 규칙설정 가능

특정 웹 애플리케이션 트래픽에 최적화

로그 및 모니터링

기본적인 로그 제공

상세한 로그 + 모니터링 가능

고급 로그 및 위협 분석 가능

배포 환경

단일서버 , 소규모 네트워크

대규모 네트워크 , 복잡한 환경

웹 애플리케이션 보호가 필요한 환경

서버 보안을 강화하기 위한 첫걸음으로, UFW나 iptables를 사용하여 방화벽을 설정하는 것은 매우 중요합니다.
서버에 맞는 방화벽 규칙을 구성하고 주기적으로 모니터링하여 서버를 안전하게 운영하시기 바랍니다.

iwinv는 2002설립된 클라우드 서비스 기업 스마일서브의 브랜드입니다.
서버, 스토리지, 데이터베이스, 보안 등 다양한 서비스를 합리적 가격에 제공하고 있습니다.
Tier3의 자체 IDC를 통해 빠르고, 편리한 서비스를 이용해보세요.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x