윈도우즈(Windows)를 운영체제로 사용해온 사람은 리눅스(Linux) 기반 운영체제가 아무래도 불편하다. 왜냐하면 윈도우즈에서는 시스템의 거의 모든 관리 기능을 GUI 환경에서 사용 할 수 있었으나, 리눅스는 주요하게 사용되는 일부 기능을 제외하고 상세한 설정이 필요한 부분은 반드시 터미널 환경에서 작업을 해야 하기 때문이다.
심지어 GUI 환경에서 동작되는 프로그램이 존재하고 있어도, 터미널에서 설정하도록 안내(?)하거나 설명된 문서가 더 많다. 이러한 부분은 운영체제의 태생적인 부분과도 관계가 있겠지만, 그동안 리눅스를 이용해온 사용자들의 습관에서 기인하기도 한다.
다행이도 리눅스를 데스크탑 운영체제로 사용하는 사람들이 늘어나면서 텍스트 기반에서 동작되는 기존 프로그램을 GUI 환경에서도 사용 할 수 있도록 재포장(warp)한 프로그램이 다수 출시되고 있다. 이러한 프로그램 중에 대표적인 것이 바로 gufw 다.
Gufw는 ‘graphical user interface for ufw’의 약자로 ufw(Uncomplicated FireWall) 방화벽 설정 프로그램의 GUI 기반 프로그램이다. 사실, ufw 자체가 iptables 명령을 간편하게 사용하기 위해 만들어진 프로그램이므로 iptables 명령이 익숙한 사용자에게는 ufw를 비롯하여 Gufw도 필요하지 않다.
그러나, 리눅스 명령어에 익숙하지 않거나 터미널을 이용하여 iptables 명령을 사용하는 것이 불편한 사용자에게는 Gufw 만큼 편리한 방화벽 설정도 없다.
Gufw는 리눅스민트(linuxmit) 운영체제에 기본으로 포함되어 있지 않으므로 패키지 관리자를 통해 별도로 설치를 해야 한다. 시냅틱 패키지 관리자를 통해 설치가 가능하며, 다음의 명령을 콘솔에 실행해도 된다.
$ apt-get install gufw
설치가 완료되면 메뉴의 기본 설정 항목에 [Firewall Configuration]이 추가된 것을 확인 할 수 있다.
프로그램을 실행하면 사용자 인증이 필요하다는 메시지와 함께 비밀번호 입력 폼이 출력된다. 리눅스를 운영체제로 사용해본 사람에게는 매우 익숙한 화면이지만 프로그램을 실행 할 때마다 비밀번호를 입력해야 하는 것은 매우 불편한 일이다.
이러한 인증이 필요한 이유는 Gufw 프로그램이 재포장(warp) 프로그램이기 때문이다. Gufw를 사용하는 사람은 GUI 환경에서 명령을 처리하지만 실상 프로그램 내부에서는 가상의 터미널을 통해 ufw 명령을 실행하는 것이므로, 터미널에서 ufw 명령을 실행하기 위해 sudo 명령을 사용하여 인증을 거치는 것과 동일한 원리이다. 거의 대부분의 재포장 프로그램은 이와 동일한 구조를 가지고 있다.
Gufw의 시작 화면은 매우 단순하며 직관적이다. 프로파일(Profile)을 선택하고 방화벽 상태(Status)를 켬으로 바꾸면 끝이다. 물론, 운용되는 프로그램에 따른 포트 개방 및 제어 등은 개별적으로 해야 한다.
Gufw는 기본적으로 3개의 프로파일을 제공하는데, 필자는 사무실에서 사용하는 업무용 컴퓨터이므로 프로파일을 Office로 선택했다. Gufw의 프로파일은 방화벽 설정에 대한 프리셋(preset)과 동일한 목적으로 트래픽의 유입(Incoming)과 유출(Outgoing)에 대한 설정을 비롯하여 포트 및 아이피 등에 대한 방화벽 규칙을 할당 할 수 있다.
Gufw는 방화벽 규칙(Rule)의 추가 및 삭제가 매우 편리하게 되어있는데, 현재 [열린 포트 보고] 항목에서 해당 포트를 개방하도록 규칙을 추가하면 된다.
이해를 돕기 위해 방화벽 규칙을 하나 추가해보자. 필자의 업무용 컴퓨터에는 웹 개발을 위한 아파치가 설치되어 있으며 80포트로 서비스되고 있다. 그러나 Office 프로파일을 사용하고 있으므로 유입이 거부(Deny)되어 아무도 아파치에 접근 할 수 없다. 그러므로 방화벽 규칙을 추가하여 모든 아이피가 80포트에 접근이 가능하도록 해보자.
[열린 포트 보고]에서 아파치를 선택하고 하단의 [+] 버튼을 클릭하면 [Add a Firewall Rule] 팝업 창이 실행된다. 각 입력 항목에는 아파치가 외부에서 접근이 가능하도록 규칙이 설정된 상태이며 [추가] 버튼을 클릭하면 된다.
추가된 방화벽 규칙은 [규칙] 항목에서 확인이 가능하며 [-] 버튼을 클릭하여 삭제하거나 [설정] 버튼을 통해 규칙을 수정 할 수 있다. 그 이외에도 [+] 버튼으로 자동 완성없이 방화벽 규칙을 추가 할 수 있다.