[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

  • 리눅스 find 명령어

    리눅스 find 명령어는 여러가지 다양한 기준으로 파일을 효율적으로 검색할 때 사용할 수 있는 명령어입니다. 특정 파일을 찾거나 특정 문자 패턴에 맞춰서 검색, 특정 확장자의 파일 검색, 특정 소유자, 파일 사이즈, 퍼미션, 등의 다양한 방법을 사용할 수 있습니다. find 명령어는 파일을 찾는 기본 역할 외에도 찾은 파일에 대한 퍼미션 변경, 소유자 변경, 파일 삭제…

  • [Linux] userdel 명령어: 사용자 계정 삭제 명령어

    리눅스에서 useradd로 계정 생성 후 삭제가 필요한 경우 userdel 명령어를 사용합니다. ✅ userdel 명령어 기본 사용은 아래와 같습니다. ✅ userdel 주로 사용하는 옵션 userlde만 입력해서 사용자를 삭제할 경우 보통 /home/[user]로 계정명이 폴더에 버전에 따라 남아있거나 삭제되는데 /var/spool/mail/[user] 파일은 대부분의 리눅스에서 남게 됩니다. ✅ 사용자 계정 강제 삭제 제거할 사용자 계정이 로그인 되어 있거나…

  • [Linux] ip 명령어 : 네트워크 인터페이스 및 설정 관리

    ip 명령어는 리눅스에서 네트워크를 관리할 때 사용되는 주요 도구로, 다양한 네트워크 작업을 수행할 수 있습니다. ip 명령어는 네트워크 인터페이스의 상태를 확인하거나 활성화 및 비활성화 할 수 있으며, IP 주소를 확인하거나 수동으로 추가 및 삭제하는 작업도 가능합니다. 또한 라우팅 테이블을 조회하고 경로를 추가하거나 제거하는 등의 라우팅 관리, ARP 테이블 확인 및 수정, 터널링 설정…

  • cp 명령어 옵션 및 실행 시 일괄 덮어쓰기 설정 | yes, \(역슬래쉬) 2가지 설정

    cp 명령어는 Copy의 약자로 파일 및 디렉토리를 복사합니다. 기본 사용법은 간단하게 복사할 대상과 새로운 이름 등을 설정하여 사용할 수 있습니다. cp 명령어를 실행할 때 같은 이름의 대상 파일이 있을 때는 사용자에게 묻지 않고 덮어쓰기가 되는데, 이를 방지하기 위해 alias “cp=’cp -i”로 설정되어 있습니다. ✅ 기본 사용 방법 🔲 파일 및 디렉토리 ◻️ 파일…

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • 리눅스와 유닉스 차이점 9가지

    리눅스를 사용하는 사람이라면 리눅스와 유닉스 차이는 무엇인지 궁금점이 한번 씩 생기게 됩니다. 간단하게 차이점을 요약하자면, 리눅스는 유닉스의 오픈 소스 구현체로, 유닉스와 유사한 운영 체제를 제공하면서도 커뮤니티 기반의 개방적인 환경을 가지고 있습니다. 둘 다 안정적이고 다목적으로 사용되는 운영 체제이지만, 유닉스는 상용 운영 체제의 역사적인 뿌리를 가지고 있고, 리눅스는 개방성과 다양성 측면에서 강점을 가지고 있습니다….

답글 남기기

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

Prove your humanity: 7   +   7   =