이전 글목록 보기다음 글
linux2026-05-24T01:07:48.154Z

ufw 사용방법

Anya2_Forger profileAnya2_Forger
edited-edited-ufw_보안_프로그램_202605241012.jpg

ufw 개념 이해

ufw allow 2040방화벽이 2040번 포트로 들어오는 연결을 허용한다는 뜻일 뿐, 외부 사용자가 컴퓨터를 "마음대로 조작"할 수 있게 되는 것은 아닙니다.

예를 들어:

sudo ufw allow 2040

를 실행하면,

  • 외부 → 내 PC의 TCP/UDP 2040 포트로 들어오는 트래픽을 차단하지 않음

  • 하지만 2040 포트에서 실제로 서비스를 실행 중인 프로그램이 있어야 접속 가능

  • 해당 프로그램이 인증(아이디/비밀번호, 키 등)을 요구하면 인증을 통과해야 함

  • 해당 프로그램에 보안 취약점이 있을 경우에만 악용 가능성이 생김

경우 1: 2040 포트에서 아무것도 실행하지 않는 경우

sudo ufw allow 2040

만 해놓고 2040 포트를 사용하는 프로그램이 없다면:

외부 → 2040 접속 시도
        ↓
포트 열림
        ↓
서비스 없음
        ↓
연결 실패

실질적으로 할 수 있는 것은 없습니다.

경우 2: SSH를 2040 포트에서 실행하는 경우

예를 들어 SSH 서버가 2040 포트에서 동작한다면:

외부 → 내IP:2040

으로 SSH 접속 시도가 가능합니다.

하지만:

  • 비밀번호 또는 SSH 키 인증 필요

  • 인증 실패 시 로그인 불가

  • 따라서 바로 컴퓨터를 조작할 수는 없음

경우 3: 취약한 웹서버나 프로그램이 2040 포트에서 실행 중인 경우

예를 들어:

  • 오래된 웹 애플리케이션

  • 인증 없는 관리 페이지

  • 알려진 취약점이 있는 서비스

가 2040 포트에서 동작하면 외부 공격자가 악용할 수 있습니다.

즉 위험성은 포트를 열었다는 사실 자체보다, 그 포트에서 무엇을 서비스하고 있는지에 달려 있습니다.

확인 방법

현재 어떤 프로그램이 포트를 사용 중인지 확인:

sudo ss -tulpn | grep 2040

또는

sudo lsof -i :2040

출력이 없으면 2040 포트에서 서비스가 실행 중이지 않은 것입니다.

정리하면, ufw allow 2040"2040번 문을 잠금 해제한다"는 의미이고, 외부에서 마음대로 할 수 있는지는 그 문 뒤에 어떤 프로그램이 있고 어떤 보안 설정이 되어 있는지에 따라 결정됩니다.


ufw(Uncomplicated Firewall)는 Ubuntu 계열에서 많이 사용하는 방화벽 관리 도구입니다. iptablesnftables를 직접 다루지 않고도 쉽게 방화벽 규칙을 설정할 수 있습니다.

현재 상태 확인

sudo ufw status

자세한 정보:

sudo ufw status verbose

UFW 활성화 / 비활성화

활성화:

sudo ufw enable

비활성화:

sudo ufw disable

주의: 원격 SSH로 접속 중이라면 SSH 허용 규칙을 먼저 추가해야 접속이 끊기지 않습니다.


포트 허용

특정 포트 허용

2040번 포트 허용:

sudo ufw allow 2040

TCP만 허용:

sudo ufw allow 2040/tcp

UDP만 허용:

sudo ufw allow 2040/udp

포트 범위 허용

sudo ufw allow 6000:6010/tcp

서비스 이름으로 허용

사용 가능한 서비스 목록:

sudo ufw app list

예시:

sudo ufw allow OpenSSH

허용된 서비스 정보:

sudo ufw app info OpenSSH

차단(Deny)

2040 포트 차단:

sudo ufw deny 2040

특정 프로토콜:

sudo ufw deny 2040/tcp

특정 IP 허용

예를 들어 192.168.0.10만 접속 허용:

sudo ufw allow from 192.168.0.10

SSH만 허용:

sudo ufw allow from 192.168.0.10 to any port 22

특정 IP 차단

sudo ufw deny from 192.168.0.10

특정 네트워크 허용

sudo ufw allow from 192.168.0.0/24

규칙 삭제

추가한 규칙 삭제:

sudo ufw delete allow 2040

또는

sudo ufw delete deny 2040

규칙 번호로 삭제

번호 확인:

sudo ufw status numbered

예시 출력:

[1] 22/tcp ALLOW IN Anywhere
[2] 2040/tcp ALLOW IN Anywhere

2번 규칙 삭제:

sudo ufw delete 2

기본 정책 설정

기본적으로 모든 들어오는 연결 차단:

sudo ufw default deny incoming

모든 나가는 연결 허용:

sudo ufw default allow outgoing

일반적인 서버 설정은 다음과 같습니다.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable

로그 보기

로그 활성화:

sudo ufw logging on

로그 수준 설정:

sudo ufw logging medium

로그 확인:

sudo tail -f /var/log/ufw.log

모든 규칙 초기화

sudo ufw reset

모든 규칙이 삭제되고 비활성화됩니다.


실전 예시

SSH(22)와 웹서버(80,443)만 허용

sudo ufw default deny incoming
sudo ufw default allow outgoing

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

sudo ufw enable

SSH를 특정 IP에서만 허용

sudo ufw deny 22/tcp
sudo ufw allow from 203.0.113.5 to any port 22 proto tcp

2040 포트를 특정 IP만 사용

sudo ufw allow from 203.0.113.5 to any port 2040 proto tcp

현재 열려 있는 포트 확인

sudo ss -tulpn

또는

sudo netstat -tulpn

ufw"어떤 IP가 어떤 포트에 접근할 수 있는가"를 관리하는 도구입니다. 서버를 운영한다면 보통 기본 차단(deny incoming) 후 필요한 포트만 allow하는 방식이 가장 안전합니다.

Comments

Log in to comment

Loading comments...
이전 글목록 보기다음 글

당신의 이야기를 기다리고 있습니다