Commands/Linux

방화벽 (firewall)

꼰대코더 2025. 2. 28. 19:30

Ubuntu 에서의 firewall 은 기본적으로 UFW (Uncomplicated FireWall) 서비스를 사용한다.

※ CentOS  에서는 firewalld 를 사용

 

IP 설정시의 주의

allow 는 whitelist 를 설정하는 의미로 해당 IP만 접근을 허락하고 나머지는 거부
deny 는 blacklist 를 설정하는 의미로 해당 IP만 접근을 거부

 

먼저 ufw 의 상태를 체크

$ sudo systemclt status ufw

 

만약 서비스가 존재하지 않는다면 인스톨을 하자

$ sudo apt install ufw

 

enable / disable

$ sudo  ufw enable
$ sudo  ufw disable

 

웹서비스(http / https) 포트 허용

sudo ufw allow 80
sudo ufw allow 443


혹은, 서비스명으로 허용

 sudo ufw allow ssh
 sudo ufw allow samba

 

혹은, 서비스 존재 확인 후 허용

sudo ufw app list | grep Nginx
Output 
     Nginx Full
     Nginx HTTP
     Nginx HTTPS
$ sudo ufw allow "Nginx Full"

 

특정 IP 혹은 서브넷 범위로부터의 접근 거부 

$ sudo ufw deny from 203.0.113.100
$ sudo ufw deny from 203.0.113.0/24

 

MySQL 은 특정 IP 로 부터만 접근 허용

sudo ufw allow from 203.0.113.103 to any port 3306

 

설정 상태 보기

$ sudo ufw status

 

설정을 삭제

$ sudo ufw delete allow from 203.0.113.101

 

혹은 상태를 리스트한 후 넘버로 삭제

$ sudo ufw status numbered
$ sudo ufw delete 1