Miklix

Ubuntu 서버에 방화벽을 설정하는 방법

게시됨: 2025년 2월 15일 오후 9시 33분 58초 UTC
마지막으로 업데이트되었습니다: 2026년 1월 12일 오전 8시 37분 11초 UTC

이 글에서는 ufw(Uncomplicated FireWall의 줄임말)를 사용하여 GNU/Linux에서 방화벽을 설정하는 방법과 몇 가지 예제를 설명합니다. 이름처럼 ufw는 정말 간단하게 필요한 포트만 열어두도록 설정할 수 있는 방법입니다.


이 페이지는 가능한 한 많은 사람이 이용할 수 있도록 영어에서 기계 번역되었습니다. 안타깝게도 기계 번역은 아직 완성된 기술이 아니므로 오류가 발생할 수 있습니다. 원하시는 경우 여기에서 영어 원문을 보실 수 있습니다:

How to Set Up a Firewall on Ubuntu Server

이 글의 정보는 Ubuntu Server 14.04 x64를 기준으로 작성되었습니다. 다른 버전에서는 유효하지 않을 수 있습니다. (업데이트: Ubuntu Server 24.04에서도 이 글의 정보가 기본적으로 여전히 유효하고 작동하는 것을 확인했습니다. 다만, 지난 10년 동안 ufw는 일반적인 서버 애플리케이션에 대한 프로필을 제공하는 등 다소 "똑똑해졌습니다"(예: 포트 80과 443을 개별적으로 활성화하는 대신 "Nginx 전체"를 활성화할 수 있음). 따라서 새 규칙을 적용하기 위해 전체 방화벽을 비활성화/활성화할 필요가 없어졌습니다.)

처음 GNU/Linux(Ubuntu) 서버를 다룰 때는 방화벽을 설정하려면 iptables 설정을 위한 복잡한 구성 파일을 수동으로 만들고 관리해야 했습니다. 하지만 최근에 ufw라는 도구를 알게 되었는데, 이름처럼 정말 간단합니다 :-)

제 Ubuntu Server 14.04 설치에는 이미 ufw가 설치되어 있었지만, 설치되어 있지 않다면 저장소에서 설치하면 됩니다.

sudo apt-get install ufw

UFW는 실제로 iptables 설정을 간소화하는 도구일 뿐입니다. 내부적으로는 여전히 iptables와 Linux 커널 방화벽이 필터링을 수행하므로 UFW가 이들보다 보안성이 떨어지거나 더 높다고 할 수는 없습니다. 하지만 UFW를 사용하면 방화벽을 올바르게 설정하는 것이 훨씬 쉬워지므로, 경험이 부족한 관리자에게는 인적 오류의 위험을 줄여주고 더 안전하게 느껴질 수 있습니다.

서버가 IPv4와 IPv6를 모두 사용하도록 구성되어 있는 경우, UFW에서도 IPv6가 활성화되어 있는지 확인하십시오. /etc/default/ufw 파일을 편집하고 IPv6=yes라고 표시된 줄을 찾으십시오. 제 설치 환경에서는 이미 있었지만, 없거나 no라고 표시되어 있다면 편집해야 합니다.

그런 다음 명령 프롬프트를 사용하여 열고자 하는 포트를 활성화하십시오. SSH를 통해 서버에 연결되어 있는 경우 SSH도 허용해야 합니다. 그렇지 않으면 연결이 끊기거나 서버에 접속할 수 없게 될 수 있습니다. 서버에 물리적으로 접근할 수 있는지 여부에 따라 이는 상당히 불편할 수 있습니다.

예를 들어, 표준 포트 22에서 SSH를 사용하고 암호화되지 않은 연결(포트 80의 HTTP)과 암호화된 연결(포트 443의 HTTPS)을 모두 지원하는 웹 서버를 구성하는 경우, ufw를 구성하기 위해 다음 명령을 실행합니다.

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

규칙이 더 필요하면 위와 같이 추가하면 됩니다.

고정 IP 주소를 가지고 있고 특정 위치에서만 SSH로 접속해야 하는 경우, 다음과 같이 SSH 연결을 단일 출발지 주소로 제한할 수도 있습니다.

sudo ufw allow from 192.168.0.1 to any port 22

물론, 본인의 IP 주소를 입력하세요.

완료되면 다음 명령어를 입력하여 ufw를 활성화하십시오.

sudo ufw enable

이제 완료되었습니다! 방화벽이 실행 중이며 서버를 재부팅하면 자동으로 시작됩니다 :-)

ufw 설정을 변경한 경우, 변경 사항을 적용하려면 다음과 같이 ufw를 비활성화했다가 다시 활성화해야 할 수 있습니다.

sudo ufw disable
sudo ufw enable

현재 구성을 확인하려면 다음을 입력하십시오.

sudo ufw status

ufw가 활성화되어 있지 않으면 "비활성" 메시지만 표시되고, 활성화되어 있으면 현재 정의된 규칙 목록이 표시됩니다.

블루스카이에서 공유하기페이스북에서 공유하기LinkedIn에서 공유하기Tumblr에 공유하기X에서 공유LinkedIn에서 공유하기Pinterest에 고정

미켈 크리스텐슨

저자 소개

미켈 크리스텐슨
남자 이름은 miklix.com의 창시자이자 소유자입니다. 전문 컴퓨터 프로그래머/소프트웨어 개발자로 20년 이상 경력을 쌓았으며 현재 유럽의 대형 IT 기업에서 정규직으로 근무하고 있습니다. 블로그를 운영하지 않을 때는 여가 시간을 다양한 관심사, 취미, 활동으로 보내며 이 웹사이트에서 다루는 다양한 주제에 어느 정도 반영되어 있습니다.