우분투의 기본 방화벽은 iptables 라는 것이 작동하는데 이것을 좀더 쉽게 쓸 수 있도록하는 포장이 ufw
이다.
비교적 간단한 명령어로 방화벽을 설정할 수 있다. 포트포워딩 명령은 없으며, 이것은 iptables를 이용해야 한다.
설치되어 있지 않다면 설치한다.
sudo apt-get install ufw
방화벽 활성화, 비활성화(On/Off)하기
sudo ufw enable
sudo ufw disable
sudo ufw show raw
sudo ufw default deny
sudo ufw default allow
DENY (거부) 리스트에 더하는 방법.
sudo ufw deny <port>/<optional: protocol>
예를들면, sudo ufw deny 80
sudo ufw deny 53/tcp 아니면 udp
sudo ufw deny <service name>
sudo ufw deny ssh
sudo ufw deny from <ip address>
sudo ufw deny from 121.121.121.121
sudo ufw deny from <ipaddress> to port <port number>
sudo ufw deny from 121.121.121.121 to port 22
sudo ufw deny from 121.0.0.1/24 to any port 22
이건 121.0.0.1~121.0.0.255 까지 port 22로 접속 불가능
ALLOW (허가) 리스트에 더하는 방법
sudo ufw allow <port>/<optional: protocol>
sudo ufw allow 80
sudo ufw allow 80/udp 아니면 tcp
sudo ufw allow <service name>
sudo ufw allow ssh
sudo ufw allow from <ip address>
sudo ufw allow from 121.121.121.121
sudo ufw allow from <ipaddress> to port <port number>
sudo ufw allow from 121.121.121.121 to port 22
sudo ufw allow from 121.0.0.1/24 to any port 22
추가한 Rule들을 보고 싶을 때.
sudo ufw status
sudo ufw delete <rule type> from <ip address> to any port <port number>
sudo ufw delete deny from 121.121.121.121
sudo ufw delete allow 80/tcp
sudo ufw delete deny from 121.121.121.121 to port 22
Example.
이렇게 설정할때,
sudo ufw deny from 192.168.0.1 to any port 22
sudo ufw deny from 192.168.0.7 to any port 22
sudo ufw allow from 192.168.0.0/24 to any port 22
sudo ufw status 치면.
To Action From
22:tcp DENY 192.168.0.1
22:udp DENY 192.168.0.1
22:tcp DENY 192.168.0.7
22:udp DENY 192.168.0.7
22:tcp ALLOW 192.168.0.0/24
22:udp ALLOW 192.168.0.0/24
125.64.0.0/16 하면 125.64.0.0 - 125.64.255.255까지이다.
점으로 나뉘는 숫자 한블럭이 8bit이고 IPv4일경우 주소길이는 총 32bit이다. 뒤에 붙은 /16은 네트워크 prefix의 길이를 나타냅니다(16bit).
64 → 01000000
71 → 01000111
이므로, 125.64.0.0/13 하면 125.64.0.0 - 125.71.255.255까지 포함된다.
125.64.0.0/24는 말씀한것처럼 125.64.0.0 - 125.64.0.255이다. 자세한 사항은 CIDR을 검색하셔서 참고하라.
자동실행 등록
sudo update-rc.d -f ufw defaults