[Ubuntu] 우분투 방화벽 UFW 설정

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

우분투 설치 후 기본 방화벽은 UFW(Uncomplicated Firewall)입니다. iptables의 방화벽 설정보다 간소하게 개발된 ufw는 IPv4 또는 IPv6 호스트 기반 방화벽을 사용자 친화적으로 사용할 수 있는 것이 우분투 방화벽의 사용 목적입니다.

Ⅰ. 기본 구문

✅ UFW 활성화 / 비활성화 / 상태 확인

🔲 활성화

ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

🔲 상태 확인

활성화 후에 상태 값을 확인합니다.

ufw status verbose

verbose 옵션 사용 시 기본 출력 외에 Default 값과 New profiles 값이 추가 정보로 확인됩니다.

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache (v6)                ALLOW       Anywhere (v6)

# 이전에 활성화 한 규칙

🔲 비활성화

ufw disable
Firewall stopped and disabled on system startup

✅ 우분투 방화벽 UFW 기본 룰

UFW의 기본 룰은 들어오는 패킷은 전부 거부(deny)입니다. 나가는 패킷은 전부 허가(allow)입니다.

처음 활성화 후 들어오는 룰에 대해서는 전부 거부이기 때문에 처음 세팅한 서버에서 활성화를 진행했다면 기본으로 먼저 SSH 포트를 열어줘야 합니다. iptables 및 레드헷 계열의 FirewallD도 동일한 규칙을 따릅니다.

활성화 전에 먼저 들어오는 SSH 포트를 허용합니다.

sudo ufw allow ssh
# 또는 포트를 직접 명시할 경우
sudo ufw allow 22/tcp

이후에 활성화를 진행합니다.

ufw enable

✅ 허용 및 거부(특정 규칙)

🔲 허용

ufw allow <port>/<optional: protocol>
예 1) 포트 21 에서 들어오는 TCP와 UDP 패킷을 허용
ufw allow 53
예 2) 포트 53에서  들어오는 TCP 패킷을 허용
ufw allow 53/tcp
예 3) 포트 53에서  들어오는 UDP 패킷을 허용
ufw allow 53/udp

🔲 거부

deny <port>/<optional: protocol>

거부의 경우 allow 대신 deny를 입력해서 동일한 방법으로 진행합니다.

ufw deny 1
우분투 방화벽 명령어 ufw status

✅ 규칙 삭제

규칙의 삭제는 기존의 규칙 앞에 delete를 붙입니다. 거부 된 21번 포트를 삭제하는 겅우 아래와 같습니다.

ufw delete deny 21

✅ Services 명을 입력해서 설정

ufw allow <서비스 이름>

🔲 사용 예

SSH와 apache 추가. 443포트 함께 열때는 ‘Apache full’ 443포트만 추가 시 https

ufw allow ssh
ufw allow apache
ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Apache                     ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Apache (v6)                ALLOW       Anywhere (v6)

✅ 우분투 방화벽 엑세스 허용

특정 IP를 허용하는 룰입니다.

ufw allow from <ip address>

🔲 예) 111.222.22.1 IP를 허용

ufw allow from 111.222.22.1

🔲 111.222.22.1 등록된 IP 삭제

ufw delete deny from 111.222.22.1

🔲 서브넷 허용

ufw allow from 192.168.1.0/24

Ⅱ. 우분투 방화벽 고급 구문

✅ 특정 포트 및 IP 주소로 허용

ufw sudo ufw allow from <IP 주소> to <목적지> port <포트 번호>

🔲 TCP/UDP 프로토콜에 대해 21번 포트를 192.168.0.4 IP에서 허용

ufw allow from 192.168.0.4 to any port 21

✅ 특정 포트, IP 주소 및 프로토콜 허용

ufw allow from <대상> to <목적지> port <포트 번호> proto <프로토콜 이름>

🔲 IP 주소 192.168.0.4를 21번 포트, TCP 액세스 허용

ufw allow from 192.168.0.4 to any port 21 proto tcp

✅ 엑세스 거부

새로운 엑세스 거부 및 기존 엑세스 거부는 allow를 deny로 변경해서 적용합니다.

ufw deny from 192.168.0.4 to any port 21 proto tcp

✅ 삭제

삭제는 적용된 규칙 그대로 입력하여 삭제를 진행합니다.

ufw status
Status: active

To                         Action      From
--                         ------      ----
Apache                     ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
21/tcp                     DENY        192.168.0.4
Apache (v6)                ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)

deny  from 192.168.0.4 to any port 21 proto tcp
Rule deleted
우분투 방화벽 ufw status(2)

🔲 번호로 삭제

명령어로 상태 값을 확인 후 delete 뒤에 해당하는 숫자를 입력합니다.

ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] Apache                     ALLOW IN    Anywhere
[ 2] 22/tcp                     ALLOW IN    Anywhere
[ 3] 873/tcp                    ALLOW IN    Anywhere
[ 4] Apache (v6)                ALLOW IN    Anywhere (v6)
[ 5] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 6] 873/tcp (v6)               ALLOW IN    Anywhere (v6)

ufw delete 6
Deleting:
 allow 873/tcp
Proceed with operation (y|n)? y
Rule deleted (v6)
root@ip-172-26-1-204:~# ufw delete 3
Deleting:
 allow 873/tcp
Proceed with operation (y|n)? y
Rule deleted

ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] Apache                     ALLOW IN    Anywhere
[ 2] 22/tcp                     ALLOW IN    Anywhere
[ 3] Apache (v6)                ALLOW IN    Anywhere (v6)
[ 4] 22/tcp (v6)                ALLOW IN    Anywhere (v6)

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

Similar Posts

  • clear 명령어

    ■ clear 명령어 – 기타명령어 clear 명령어는 리눅스에서 출력 된 터미널 화면을 지우는 명령어이다. clear 명령어는 도스의 cls 명령어와 동일한 뜻과 기능을 가지고 있다. 리눅스 터미널 화면을 지워주고 커서는 화면 상단에 위치학게 된다. 아래처럼 ll 명령어를 입력 후 clear 명령어를 입력해서 테스트 해 볼 수 있다.

  • 리눅스 dd 명령어

    리눅스 시스템에서 사용하는 명령어 중 하나인 dd 명령어는 디스크, 파티션의 복사, 이미지 파일 생성, 디스크 작업 등 주로 데이터를 복사하거나 변환하는데 사용되는 명령어입니다. ✅ dd 명령어 기본 사용 및 옵션 기본 사용 방법은 다음과 같습니다. 1. conv 옵션 ✅ dd 명령어 사용 예 1. 스왑 파일 생성 /dev/zero를 읽어서 /swapfile을 1MB 블록을 2천 개…

  • 리눅스 SSH 정의 및 기본 설정

    ✅ 리눅스 SSH 정의 SSH(Secure Shell)란 원격 호스트 컴퓨터로 접속하기 위해 사용되는 인터넷 프로토콜입니다. 보안 쉘은 기존 유닉스 시스템의 텔넷은 암호화가 이루어지지 않아 계정 정보가 해킹에 노출되는 위협이 있었기 때문에, 1995년 암호화 기능을 추가해서 나온 프로토콜입니다. 리눅스 SSH는 암호화 기법을 사용하며, 쉘로 원격 접속 후 리눅스 커멘드 라인에서 작업을 하게 되며, 기본 포트…

  • 리눅스 mkdir 명령어 | Linux 디렉토리 생성하기

    리눅스 mkdir 명령어는 Make Directory의 약자로 리눅스에서 디렉토리(폴더)를 생성하는 명령어입니다. ✅ 리눅스 mkdir 명령어 기본 사용법 경로 미 지정 시 현재 위치에서 디렉토리가 생성됩니다. mkdir 명령어 옵션 설명 -m 디렉토리 생성 시 권한(퍼미션) 설정(기본 값: 755) -v 디렉토리 생성 후 생성된 디렉토리에 대한 메시지 출력 -p 디렉토리의 하위 디렉토리 생성 ✅ mkdir 명령어…

  • bash: 셸 따옴표 및 셸 쌍따옴표

    bash 및 셸 프로그램에서 명령어를 치환하는데 ‘$’ 기호와 소괄호'()’를 사용하는 대신 따옴표 기호도 사용합니다. 치환은 수식의 어떤 부분에 그와 대등한 무언가로 바꿔 넣는 행위입니다. ‘셸 따옴표’와 ‘셸 쌍따옴표’의 기본 공통 사항은 확장을 제어하는데 활용된다는 것입니다. 여기에서 차이점은 셸 따옴표는 모든 확장을 제어하지만 셸 쌍따옴표는 3개의 기호를 제외하게 됩니다. 셸 쌍따옴표 제외 기호: $…

  • 리눅스 wget 명령어

    wget 명령어는 웹의 다운로드 링크를 리눅스 커멘드라인에서 실행해 다운로드를 할 수 있는 명령어입니다. HTTP, HTTPS, FTP 프로토콜을 이용해서 웹 서버에서 다운로드가 가능합니다. wget 설치하기 레드헷 계열에서 사용하는 패키지 매니저인 yum으로 wget 설치를 진행합니다. 기본 다운로드 명령입니다. wget 명령어 옵션 다운로드 중 중단 되었다면 -c 옵션을 이용해서 이어 받을 수 있습니다. 대용량 파일을 다운로드…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   2   =