UFW : 정확히 무엇입니까?


13

UFW 란 무엇입니까? 이것이 쉬운 질문이라고 생각할 것입니다. 그러나 더 많은 출처를 읽을수록 명확하지 않습니다.

ufw가 실제로 방화벽 자체를 구현하는 것처럼 약어는 Uncomplicated FireWall을 나타냅니다. 실제로 많은 곳에서는 이 기사 와 같이 방화벽 자체를 방화벽이라고합니다 .

UFW의 Ubuntu 도움말 위키 페이지에는 UFW가 iptables의 구성 도구라고 말합니다. ( 방화벽의 도움말 위키 페이지에는 iptables가 방화벽 규칙의 데이터베이스이고 데이터베이스가 방화벽 인 것처럼 실제 방화벽이기도한다고 말합니다. 물론 'iptables'도 마찬가지입니다. 프로그램 이름)

ufw가 구성 도구 인 경우 구성 도구를 실행하기 위해 실행하는 프로그램 일 것으로 예상되고 구성이 완료되면 종료됩니다. 이것이 바로이 질문에 대한 답입니다. 복잡하지 않은 FireWall (ufw)은 서비스입니까?

그러나 그 질문에 대한 다른 대답은 동의하지 않습니다. 아닙니다. 그것은 서비스입니다. 그리고 실제로 내 18.04 시스템에서 ufw가 서비스로 실행되고 있음을 알았습니다! 왜 구성 도구가 서비스로 실행됩니까?!

또한, systemctl list-units --all --type=serviceufw.service이다 loaded and active(도 exited?!) 아직 ufw status보여줍니다 inactive.

그렇다면 ufw status = inactive는 무엇을 의미합니까?

  1. "방화벽"(무엇이든)이 비활성화되어 있습니까? 이것이 'status'에 대한 ufw 맨 페이지 문서가 제안하는 것입니다.

  2. 아니면 ufw에 구성된 규칙이 비활성 상태이지만 iptables에 구성된 규칙은 활성 상태입니까?

  3. 또는 ufw가 부팅시 시작되어 규칙을 ipconfig (또는 어디에서나)에 적용하여 현재 적용되도록하고 ufw가 아무 것도 수행하지 않아도된다는 것을 의미합니까?

특히 관심의 대상 : 일부 iptables 명령을 실행해야하는 명령을 따르고 싶지만 ufw 장치와 충돌하거나 덮어 쓰는 것이 염려됩니다.


2
iptables는 방화벽입니다. 또한 규칙이 필요하지만 분명히 '데이터베이스'라고 부르는 것은 커널이 지속성을 제공하지 않기 때문에 약간 확장하고 있습니다. 부팅시 로딩은 ufw와 같은 도구로 처리해야합니다.
Jan Hudec

@ JanHudec 어떤 사람들은 iptables가 방화벽 인 것처럼 iptables에 대해 이야기하는 것을 보았습니다.하지만 내가 알 수있는 한 netfilter는 방화벽 기능을 제공하지만 iptables는 netfilter의 날짜를 제공합니다. iptables는 메모리에 데이터 만 저장하므로 "데이터베이스"도 오해의 소지가 있다는 점이 마음에 듭니다.
gwideman

개인적으로 netfilter는 iptables의 일부라고 생각하지만이 좋은 점에서 잘못되었을 수 있습니다.
Jan Hudec

Zanna는 URL (감사합니다!)과 같은 것을 정리하기 위해 내 질문을 편집했지만 "ufw"의 모든 인스턴스를 "UFW"로 대체했습니다. 나는 이제 소문자가 올바른 경우라고 생각합니다 ( manpages.ubuntu.com/manpages/xenial/en/man8/ufw.8.htmlwiki.ubuntu.com/UncomplicatedFirewall 참조 ).하지만 편집에 관심이 없습니다. 내 증거를 사면
잔나가

답변:


21

ufw는 인터넷 트래픽 라우팅 및 필터링을위한 Linux 메커니즘 인 netfilter / iptables의 프런트 엔드입니다.

ufw는 완전히 선택 사항이며 iptables 명령을 사용하여 방화벽과 라우팅 테이블을 직접 만들 수 있습니다. 어떤 사람들은 ufw 구문을 선호하는데, 이는 조금 더 쉬워야합니다.

ufw 자체는 방화벽이 아니며 netfilter / iptables의 구성을 설정하는 도구입니다. 컴퓨터를 시작할 때마다 실행해야하므로 서비스로 등록되어 있습니다. 이 구성을 마친 후에도 메모리에 상주한다고 생각하지 않습니다. 서비스를 "다시 시작"하면 해당 스크립트가 다시 실행됩니다. Linux 배포판의 항목이 단순히 부팅 또는 종료시에 실행되어 스크립트 사이에 상주하지 않고도 서비스로 등록되는 것은 드문 일이 아닙니다.

ufw를 사용하는 경우 자체 스크립트를 사용하여 자신의 iptables 규칙을 설정할 수 없습니다. ufw가 자체적으로 설정하면 덮어 쓰기 때문입니다. 이것은 또한 ufw가 방화벽 규칙을 설정하는 다른 도구와 충돌 할 수 있음을 의미합니다.

sudo ufw status"비활성"을 반환 하면 ufw가 비활성화 된 것입니다 (예 : 시작시 규칙을 다시 적용하지 않음). 를 사용하여 ufw가 활성화되어 있는지 확인해야 sudo ufw enable하지만 의미를 갖도록 규칙을 구성해야합니다. ufw를 활성화했지만 "비활성"을 반환하는 경우 다른 문제가있을 수 있습니다.

서비스를 "시작"하면 ufw가 활성화되지 않고 시작 스크립트 만 활성화됩니다. 시작 스크립트가 실행될 때 ufw가 비활성화되면 아무것도하지 않습니다.

iptables를 직접 사용하여 주어진 시간에 방화벽 규칙이 적용되었는지 알 수 있습니다.

sudo iptables -L
sudo ip6tables -L

1
참고 : 개인적으로 ufw를 사용하지 않고 netfilter-persistent라는 패키지를 사용하여 기본 iptables 규칙을 파일에 작성하고 부팅시 다시 적용 할 수 있습니다. 부팅시 기본적으로 ufw의 기능을 수행합니다. 구성을 적용하는 시작 스크립트를 실행합니다. 차이점은 단순화 된 구문에서 번역하지 않고 iptables 명령을 iptables로 직접 보내는 것입니다.
thomasrutter

거기에 좋은 물건이 많이 있습니다. 감사. 이것에 대해 : "ufw를 사용하면 ufw가 자체적으로 설정했을 때 덮어 쓰기 때문에 자체 스크립트를 사용하여 자체 iptables 규칙을 설정할 수 없습니다." ufw는 기존의 모든 iptables 규칙을 적극적으로 삭제합니까? 또는 그림에서 ufw로 말하고 있습니까? iptables 명령 / 규칙이 ufw로 덮어 쓰일 있기 때문에 적용 할 있습니까?
gwideman

또한 토마스에게 : "netfilter-persistent"> iptables-persistent와 관련이 있습니까?
gwideman

그렇습니다. 우분투 버전에 둘 다있는 경우 iptables-persistent 패키지는 아마도 이전 버전의 사람들에게 업그레이드 경로를 제공하는 과도기적 패키지 일 것입니다.
thomasrutter

1
resolv.conf에 대해 언급 한 것을 혼동한다면 죄송합니다. 우분투에서 다른 구성 부분을 예로 사용하여 변경 한 내용을 직접 재정의하는 다른 서비스에서 제어 할 수 있습니다. 연결되어 있지 않습니다.
thomasrutter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.