[Ubuntu] 우분투 방화벽 UFW 설정
우분투 설치 후 기본 방화벽은 UFW(Uncomplicated Firewall)입니다. iptables의 방화벽 설정보다 간소하게 개발된 ufw는 IPv4 또는 IPv6 호스트 기반 방화벽을 사용자 친화적으로 사용할 수 있는 것이 우분투 방화벽의 사용 목적입니다.
Ⅰ. 기본 구문
✅ UFW 활성화 / 비활성화 / 상태 확인
🔲 활성화
ufw enableCommand may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup🔲 상태 확인
활성화 후에 상태 값을 확인합니다.
ufw status verboseverbose 옵션 사용 시 기본 출력 외에 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 disableFirewall 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![[Ubuntu] 우분투 방화벽 UFW 설정 1 우분투 방화벽 명령어 ufw status](https://uknew.co/wp-content/uploads/2025/05/%EC%9A%B0%EB%B6%84%ED%88%AC-%EB%AA%85%EB%A0%B9%EC%96%B4-ufw-status.png)
✅ 규칙 삭제
규칙의 삭제는 기존의 규칙 앞에 delete를 붙입니다. 거부 된 21번 포트를 삭제하는 겅우 아래와 같습니다.
ufw delete deny 21✅ Services 명을 입력해서 설정
ufw allow <서비스 이름>🔲 사용 예
SSH와 apache 추가. 443포트 함께 열때는 ‘Apache full’ 443포트만 추가 시 https
ufw allow ssh
ufw allow apacheufw 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![[Ubuntu] 우분투 방화벽 UFW 설정 2 우분투 방화벽 ufw status(2)](https://uknew.co/wp-content/uploads/2025/05/%EC%9A%B0%EB%B6%84%ED%88%AC-%EB%AA%85%EB%A0%B9%EC%96%B4-ufw-status2.png)
🔲 번호로 삭제
명령어로 상태 값을 확인 후 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)ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.