Search

06.(220426)리눅스(우분투) 방화벽(ufw) 설정 및 사용 방법

[출처]
[방화벽 문제]
ufw 설치
sudo apt-get update sudo apt-get upgrade sudo apt-get install ufw
JavaScript
복사
우선은 ufw를 설치해야하니 위의 명령어 순서로 설치하자.
ufw 활성화
sudo ufw enable
JavaScript
복사
ufw 비활성화
sudo ufw disable
JavaScript
복사
ufw 상태확인
sudo ufw status verbose
JavaScript
복사
UFW 기본 룰 확인
UFW에서 기본적으로 설정할 수 있는 룰은 다음과 같다.
deny : 들어오는 패킷에 대해서 전부 거부. (접속불가능)
allow : 나가는 패킷에 대해서 전부 허가. (접속 가능)
기본 룰 확인
sudo ufw show raw
기본정책 차단 & 허용
sudo ufw default deny
sudo ufw default allow
UFW 허용 및 차단 설정
이제 본격적으로 어느 포트를 열어주고 어느 IP를 차단하고 허용할지를 설정하는 작업
sudo ufw allow 22 sudo ufw deny 22 sudo ufw allow from 123.456.789.0 to any port 22 sudo ufw deny from 123.456.789.0 to any port 22
JavaScript
복사
1번줄 : SSH 포트를 모든 사용자가 접속할 수 있도록 허용
2번줄 : SSH 포트를 아무도 접근할 수 없음
3번줄 : SSH 포트를 123.456.789 사용자만 접속할 수 있도록 허용
4번줄 : 만약 기본 정책이 Allow라면... 다른 IP에서는 22포트에 접속이 가능하지만, 123.456.789에서는 22번 포트 접속 불가능
특정한 IP 설정
sudo ufw allow from 123.456.789.0
sudo ufw allow from 123.456.789.0/24
특정 IP의 모든 포트 접근 자체를 거부할 수도 수락할 수도 있다.
1번줄 : 특정IP (1개)에 대해 모든 포트 허용
2번줄 : 특정 아이피대역 ex) 123.456.789.0~123.456.789.255 까지 모두 다 포트 접근 허용 2번줄의 특성을 잘 이용하면 중국이나 해외의 IP대역대를 다 차단할 수 있다.
특정 프로토콜 설정
sudo ufw allow from 123.456.789.0 to any port 22 proto tcp
이렇게도 가능하다. 123.456.789.0의 22번 포트중에 tcp 기능만 허용한다. 이런 기능은 사용자가 원하는 기능만 오픈하도록 할 때 유용하다.
추천 UFW 설정(SSH로 작업시)
본인의 경우는 메인컴퓨터 1대에서만 작업을 하기 때문에 모든 22번 포트를 다 닫고, 해당 컴퓨터의 IP와 포트만 열어서 사용이 가능하도록 설정을 했다.
sudo ufw allow from 123.456.789.0 to any port 22 proto tcp sudo ufw enable sudo ufw allow 80 sudo ufw allow 443 sudo ufw status
JavaScript
복사
이러면 123.456.789.0의 아이피에서만 22번 포트 접속이 가능하기 때문에, 깔끔하다. 만약, 여러명이 작업을 한다고 하면 해당 IP들을 다 열어주면 된다. 그리고 웹서버를 오픈했을테니 http의80번과 https의443을 같이 열어주도록 하자. (enable을 2번째에 설정하는 이유는 혹시 22번 포트를 개방하지 않으면 SSH연결이 끊어지기 때문)

안녕하세요

한국전자기술연구원 김영광입니다.
관련 기술 문의와 R&D 공동 연구 사업 관련 문의는 “glory@keti.re.kr”로 연락 부탁드립니다.

Hello

I'm Yeonggwang Kim from the Korea Electronics Research Institute.
For technical and business inquiries, please contact me at “glory@keti.re.kr”