[42서울] Born2beroot_UFW

jabae·2022년 5월 23일
1

42Seoul

목록 보기
12/20

가상 머신을 시작할 때, 방화벽이 활성화되어 있어야 한다고 요구한다. UFW를 사용하라고 하는데, UFW란 무엇일까?

🗂 UFW

UFW(Uncomplicated Firewall)은 데비안 계열을 비롯한 다양한 리눅스 환경에서 작동되는, 사용하기 쉬운 방화벽 관리 프로그램이다. 방화벽은 데이터 패킷을 분석하고, 적용된 규칙에 따라 허용여부를 결정해 들어오고 나가는 네트워크 트래픽을 제어하는 네트워크 보안 시스템이다.

사용자가 직접 방화벽을 설정하는 것은 매우 복잡하다. UFW는 사용자가 사용하기 쉬운 CLI를 사용하고 프로그램 구성에 iptables를 사용하여 netfilter 방화벽을 관리한다. 즉, 사용자 친화적이고 사용하기 쉬운 인터페이스를 제공하는 방화벽을 관리 프로그램이 바로 UFW이다.

❓ iptables
리눅스의 패킷 필터링(Packet Filtering) 도구로, 방화벽 구성이나 NAT(Network Address Translation)에 사용된다. 패킷 필터링 기능을 사용해 지나가는 패킷의 해더를 보고 그 전체 패킷을 제어할 수 있다. 특정 조건의 패킷에 대해 허용/차단을 지정하거나 다양한 방식의 패킷 필터링과 처리 방식을 지원한다.

❓ netfilter
넷필터는 리눅스 커널 모듈로, 네트워크 패킷을 처리하는 프레임워크이다. 다양한 네트워크 관련 연산을 핸들러 형태로 구현할 수 있도록 훅을 제공한다.

🛠 UFW 사용하기

$ sudo apt install ufw # ufw 설치

$ sudo ufw status verbose # ufw 상태 확인(디폴트는 inactive)

$ sudo ufw enable # ufw 활성화

$ sudo ufw default deny # 기본으로 들어오는 패킷 거부(deny)로 설정

$ sudo ufw status # 정책 확인하기

안전하게 방화벽을 사용하면서 ssh연결을 허용할 수 있다.

$ sudo ufw allow 포트번호 # 특정 포트 ssh 연결 허용

ssh연결을 차단할 수도 있다.

$ sudo ufw deny 포트번호 # 특정 포트 ssh 연결 차단

또한 내가 작성한 정책(규칙)을 삭제할 수도 있다.

$ sudo ufw status numbered # 정책 삭제 원하는 경우, 규칙 번호 확인

$ sudo ufw delete 규칙번호 # 해당 번호 규칙 삭제

확인하면 지워진 것을 볼 수 있다.

이런 식으로 특정 IP 사용자만 허용하거나, 특정 프로토콜만 허용할 수도 있다.

$ sudo ufw allow from 127.0.0.1 to any port 4242 # 로컬호스트만 4242포트로 들어오는 것 허용

$ sudo ufw allow from 127.0.0.1 to any port 4242 proto tcp # tcp기능만 허용함을 추가
profile
it's me!:)

0개의 댓글