Skip to content

Uncomplicated Firewall

Uncomplicated Firewall (UFW) 는 우분투의 기본적인 방화벽 입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 합니다.

UFW 기본 사용법

## UFW는 기본 비활성화 상태이기에 이를 활성화 한다.
$ sudo ufw enable

## UFW 비활성화
$ sudo ufw disable

## UFW 상태 확인
$ sudo ufw status

## UFW 상태 자세히 확인
$ sudo ufw status verbose

## 기본 룰 확인
$ sudo ufw show raw

## 기본 정책 차단
$ sudo ufw default deny

## 기본 정책 허용
$ sudo ufw default allow


## SSH 포트 22번 허용(tcp/udp 22번 포트를 모두 허용)
$ sudo ufw allow 22

## tcp 22번 포트만을 허용 - SSH는 tcp 22번 포트만 허용하는게 정답
$ sudo ufw allow 22/tcp

## udp 22번 포트만을 허용
$ sudo ufw allow 22/udp

## ssh 포트 22번 거부(tcp/udp 22번 포트를 모두 거부)
$ sudo ufw deny 22

## tcp 22번 포트만을 거부
$ sudo ufw deny 22/tcp

## udp 22번 포트만을 거부
$ sudo ufw deny 22/udp

## UFW 룰의 삭제
$ sudo ufw delete deny 22/tcp

## 192.168.0.100 주소 허용
$ sudo ufw allow from 192.168.0.100

## 네트워크 단위로 지정하여 같은 네트워크 상에 있는 컴퓨터들은 접속가능해진다.
$ sudo ufw allow from 192.168.0.0/24

## 192.168.0.100 주소와 포트, 프로토콜 허용
$ sudo ufw allow from 192.168.0.100 to any port 22

## 192.168.0.100 주소와 tcp 프로토콜 22번 포트 허용
$ sudo ufw allow from 192.168.0.100 to any port 22 proto tcp

ping (icmp) 허용/거부

UFW 기본설정은 ping 요청을 허용하도록 되어있다.

sudo vi /etc/ufw/before.rules

   # ok icmp codes
  -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

위 코드들의 ACCEPT 부분을 모두 DROP으로 변경하거나 삭제하면 ping 요청을 거부하게 된다.

ufw numbered rules

UFW 룰들에 숫자를 붙여서 볼 수 있다. 이를 이용해 룰에 수정이나 삭제, 추가를 할 수 있다.

## ufw number 보기
$ sudo ufw status numbered

## ufw numbered 수정
$ sudo ufw delete 1
$ sudo ufw insert 1 allow from 192.168.0.100

Example

22(ssh)번 포트와 443(HTTPS)번 포트를 사용하는 방법:

## Default incoming policy changed to 'deny'
$ sudo ufw default deny
$ sudo ufw status verbose
$ sudo ufw allow 22/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw status

See also

Favorite site