서버

[Docker + UFW] 도커가 Ubuntu ufw방화벽을 무시한다..!!

for2gles 2023. 6. 24. 12:54
반응형

현재 서버를 구성하고있는데 도커가 ufw 설정을 무시한다는것을 알게되었다.

난 분명히 ufw를 잘 설정했는데 왜 외부에서 접속이 허용되는거지 하고 알아보니

ufw도 iptables레벨에서 방화벽을 설정하는데, docker 또한 본인 라우터 등을 설정하기 위해 iptables를 직접 건드리기 때문이라고 한다.

 

이를 해결하기위해 검색을 통해 이것저것 시도해보았는데 이것이 직빵이었다.

https://github.com/chaifeng/ufw-docker#install

 

GitHub - chaifeng/ufw-docker: To fix the Docker and UFW security flaw without disabling iptables

To fix the Docker and UFW security flaw without disabling iptables - GitHub - chaifeng/ufw-docker: To fix the Docker and UFW security flaw without disabling iptables

github.com

훌륭한분께서 인스톨러를 통해 간단하게 할 수 있는 방법을 만들어놓으셨다..

사용방법(그냥 순서대로 하면 된다.)

만일 상황을 대비해서 /etc/ufw/after.rules 파일은 백업해둔다.

sudo wget -O /usr/local/bin/ufw-docker \
  https://github.com/chaifeng/ufw-docker/raw/master/ufw-docker
sudo chmod +x /usr/local/bin/ufw-docker
sudo ufw-docker install
sudo systemctl restart ufw
sudo systemctl restart docker

와.. 내가 기대하던대로 이제 docker 포트들이 외부에서 다 막혔다..

나같은 경우 특정 ip에서 부터 오는 요청만을 받아야 한다.

따라서 아래와 같이 설정을 통해 완료했다.

- 특정아이피에서 오는 요청중에 모든 포트를 열어줄 때

sudo ufw route allow from [여기에 아이피] to any proto tcp

- 특정아이피에서 오는 요청중에 특정포트만 열어줄 때

sudo ufw route allow from [여기에 아이피] to any port [여기에 포트] proto tcp

 

 

뽀나스

기본적인 ufw 사용방법

https://webdir.tistory.com/206

실수로 잘못된 룰을 추가했을때에는 아래 커맨드를 통해 번호를 확인하고

sudo ufw status numbered

아래 커맨드를 통해 지워준다. 번호를 잘못입력하는 실수로 엔터를 눌러도 y/n 입력을 통해 확인을 받으니 너무 걱정할 필요 없다

sudo ufw delete [여기에 번호]
반응형