### 기본사용법 ```bash # 활성화 sudo ufw enable # 비활성화 sudo ufw disable # 상태확인 sudo ufw status verbose # 기본룰 확인 sudo ufw show raw # 기본 정책 차단 sudo ufw default deny # 기본 정책 허용 sudo ufw default allow # ufw 허용 - ex) SSH 포트 22번 허용(tcp/udp 22번 포트를 모두 허용) sudo ufw allow / sudo ufw allow 22 # tcp 22번 포트만을 허용 - SSH는 tcp 22번 포트만 허용하는게 정답 sudo ufw allow 22/tcp # udp 22번 포트만 허용 sudo ufw allow 22/udp # ufw 거부 - ex) SSH 포트 22번 거부(tcp/udp 22번 포트를 모두 거부) sudo ufw deny / sudo ufw deny 22 # tcp 22번 포트만 거부 sudo ufw deny 22/tcp # udp 22번 포트만 거부 sudo ufw deny 22/udp # ufw 룰 삭제 - ex) ufw deny 22/tcp 설정이 되어있다고 가정 sudo ufw delete deny 22/tcp # service 명을 이용한 설정 - /etc/services 에 지정되어 있는 서비스 명과 포트를 이용해 ufw 를 설정할 수 있다. # 서비스명 보기 less /etc/services # 서비스명으로 허용/거부 - ex) SSH 서비스 sudo ufw allow sudo ufw allow ssh sudo ufw deny ssh # ufw 로그 기록 sudo ufw logging on sudo ufw logging off ``` ### Advanced Syntax ```bash # 특정 IP 주소 허가/거부 - ex) 192.168.0.80 주소 허용 sudo ufw allow from 192.168.0.80 # 네트워크 단위로 지정하여 같은 네트워크 상에 있는 컴퓨터들은 접속가능해진다. sudo ufw allow from 192.168.0.0/66 # 특정 IP 주소와 일치하는 포트 허용 - ex) 192.168.0.80 주소와 포트, 프로토콜 허용 sudo ufw allow from to port sudo ufw allow from 192.168.0.80 to any port 22 # 특정 IP 주소와 프로토콜, 포트 허용/거부 - ex) 192.168.0.80 주소와 tcp 프로토콜 22번 포트 허용/거부 sudo ufw allow/deny from to port proto sudo ufw allow from 192.168.0.80 to any port 22 proto tcp sudo ufw deny from 192.168.0.80 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 ```bash # ufw 룰들에 숫자를 붙여서 볼 수 있다. 이를 이용해 룰을 수정하거나 삭제 추가를 할 수 있다. # ufw number 보기 sudo ufw status numbered # ufw numbered 수정 sudo ufw delete 1 sudo ufw insert 1 allow from 192.168.0.80 ```