UFWHowToKo: 두 판 사이의 차이

Ubuntu Korea Community Wiki
둘러보기로 이동 검색으로 이동
imported>Darkcircle
imported>Darkcircle
34번째 줄: 34번째 줄:


위 명령의 출력은 대략 다음과 같다:
위 명령의 출력은 대략 다음과 같다:
{{{
<syntaxhighlight lang="bash">
youruser@yourcomputer:~$ sudo ufw status verbose
youruser@yourcomputer:~$ sudo ufw status verbose
[sudo] password for youruser:
[sudo] password for youruser:
42번째 줄: 42번째 줄:
New profiles: skip
New profiles: skip
youruser@yourcomputer:~$
youruser@yourcomputer:~$
}}}
</syntaxhighlight>


들어오는 패킷은 기본적으로 무시한다. 이 명령을 실행하면 일부 예외 규칙을 살펴볼 수 있다.
들어오는 패킷은 기본적으로 무시한다. 이 명령을 실행하면 일부 예외 규칙을 살펴볼 수 있다.

2015년 7월 25일 (토) 14:24 판

서문

이 문서는 [and Masquerading using iptables howto] 문서의 내용 진행에 따라 Ubuntu 배포판에 맞춰 별도의 내용을 진행하기 위해 우분투 공식 위키의 Uncomplicated Firewall 소개문과 공식 HOWTO 문서 번역을 정리하려는 목적으로 신설했다.

소개 장의 개요 절은 공식 위키 문서에서, 그 밖의 내용은 공식 HOWTO 문서의 내용에서 그대로 가져온 내용이다.

소개

개요

우분투 리눅스 커널에서는 netfilter라는 패킷 선별 시스템을 제공하며, netfilter의 동작을 처리할 기존의 인터페이스로 iptables 명령 모음이 있다. iptables에서는 다방면에 있어 설정 가능하며 상당히 유연한 완벽한 방화벽 체계를 제공한다.

iptables에 숙달하려면 시간이 상당히 걸리고, iptables만을 사용하여 netfilter 방화벽 구축을 시작하는건 상당히 버거운 일이 될 수 있다. 결과적으로 iptables에 대한 여러가지 프론트엔드는 몇년동안 만들어졌고, 이들 도구는 각 사용자를 대상으로 다양한 결과를 도출하려하였다.

Uncomplicated Firewall(ufw)<ref>말 그대로 "안 복잡한 방화벽"이다.</ref>는 호스트 기반 방화벽에 일부 안성맞춤인 iptables용 프론트엔드다. ufw에서는 netfilter를 관리하는 프레임워크와, 방화벽을 처리할 명령행 인터페이스를 제공한다. ufw는 네트워크에 어떤 조치를 취하고 있는지 알고 있는 관리자를 돕기 위해 iptables 명령 집합을 단순화 함과 동시에, 방화벽 개념을 전혀 알지 못하는 사람들에게도 쉽게 사용할 수 있도록 인터페이스를 제공하는 것이 목적이다. ufw는 다른 배포판과 GUI 프론트엔드의 업스트림 프로젝트이며 런치패드에서 관리<ref>ufw in Launchpad</ref>하고 있다.

UFW - Uncomplicated Firewall

어쨌거나 우분투에서 사용하는 기본 방화벽 설정 도구는 ufw다. 위에서 설명한대로 iptables 방화벽 설정을 용이하게 하도록 개발했으며, IPv4 또는 IPv6 호스트 기반 방화벽에 대한 사용자 친화 설정 방식을 제공한다. 기본적으로 (레드햇 계열 배포판과는 달리) UFW는 비활성 상태이다.

기본 문법 예제

보편적인 일반 사용자들이 써먹을만한 기본 규칙

UFW를 활성화하면 보편적인 일반 사용자들이 써먹을만한 규칙(프로파일) 모음을 사용한다. 이 설정 내용이 바로 우분투 개발자들의 최소한의 목표이다. 그러니까 ... 간단하게 말해서, 일반 사용자들이 동작을 쉽게 이해하라고 넣어둔 설정에서는, 일부 예외 규칙을 통해 일부만 허용하고 모든 들어오는 패킷을 차단한다.

활성/비활성

UFW 활성

기본 규칙 설정 모음을 기반으로 UFW 서비스를 시작하려면 <syntaxhighlight lang="bash"> sudo ufw enable </syntaxhighlight>

UFW 상태를 살펴보려면 <syntaxhighlight lang="bash"> sudo ufw status verbose </syntaxhighlight>

위 명령의 출력은 대략 다음과 같다: <syntaxhighlight lang="bash"> youruser@yourcomputer:~$ sudo ufw status verbose [sudo] password for youruser: Status: active Logging: on (low) Default: deny (incoming), allow (outgoing) New profiles: skip youruser@yourcomputer:~$ </syntaxhighlight>

들어오는 패킷은 기본적으로 무시한다. 이 명령을 실행하면 일부 예외 규칙을 살펴볼 수 있다. <syntaxhighlight lang="bash"> sudo ufw show raw </syntaxhighlight>

/etc/ufw 디렉터리를 열어보면 어떤 규칙을 지정했는지 살펴볼 수 있다(해당 규칙 파일은 .rules로 끝난다).

UFW 비활성

방화벽을 끄려면, <syntaxhighlight lang="bash"> sudo ufw disable </syntaxhighlight>

허용 및 무시(개별 규칙 설정)

허용

<syntaxhighlight lang="bash"> sudo ufw allow <port>/<optional: protocol> </syntaxhighlight>

예: 53번 포트의 TCP, UDP 패킷 반입 허용 <syntaxhighlight lang="bash"> sudo ufw allow 53 </syntaxhighlight>

예: 53번 포트의 TCP 패킷 반입 허용 <syntaxhighlight lang="bash"> sudo ufw allow 53/tcp </syntaxhighlight>

예: 53번 포트의 UDP 패킷 반입 허용 <syntaxhighlight lang="bash"> sudo ufw allow 53/udp </syntaxhighlight>

무시

<syntaxhighlight lang="bash"> sudo ufw deny <port>/<별도지정: 프로토콜. tcp,udp> </syntaxhighlight>

예: 53번 포트의 TCP, UDP 패킷 반입 무시 <syntaxhighlight lang="bash"> sudo ufw deny 53 </syntaxhighlight>

예: 53번 포트의 TCP 패킷 반입 무시 <syntaxhighlight lang="bash"> sudo ufw deny 53/tcp </syntaxhighlight>

예: 53번 포트의 UDP 패킷 반입 무시 <syntaxhighlight lang="bash"> sudo ufw deny 53/udp </syntaxhighlight>

기존 규칙 삭제

규칙을 삭제하려면 기존 규칙 내용앞에 delete 를 붙이면 된다. 가령 기존 규칙이 다음 명령과 같다면, <syntaxhighlight lang="bash"> ufw deny 80/udp </syntaxhighlight>

다음 명령을 내리면 된다: <syntaxhighlight lang="bash"> sudo ufw delete deny 80/udp </syntaxhighlight>

서비스

ufw는 /etc/services에서 서비스 이름으로 포트번호를 자동으로 부여하므로 서비스 이름으로 패킷의 흐름을 통제할 수 있다. 서비스 목록을 보려면 다음 명령을 내리면 된다: <syntaxhighlight lang="bash"> less /etc/services </syntaxhighlight>

서비스 이름으로 허용 설정

<syntaxhighlight lang="bash"> sudo ufw allow <서비스 이름> </syntaxhighlight>

예: ssh 서비스를 이름을 입력하여 허용 <syntaxhighlight lang="bash"> sudo ufw allow ssh </syntaxhighlight>

서비스 이름으로 무시 설정

<syntaxhighlight lang="bash"> sudo ufw deny <서비스 이름> </syntaxhighlight>

예: ssh 서비스를 이름을 입력하여 거절 <syntaxhighlight lang="bash"> sudo ufw deny ssh </syntaxhighlight>

참고자료

<references/>