리눅스에는 강력한 방화벽 기능이 내장되어 있지만, 처음 사용하는 사용자에게는 다소 복잡하게 느껴질 수 있습니다. 프로그램이 어떤 작업을 수행하는지 알려주는 팝업 창이 없고, 터미널을 능숙하게 다루지 못하면 모든 설정이 터미널에서 이루어져야 합니다. 만약 더 사용자 친화적인 방화벽 솔루션을 찾고 있다면 Open Snitch를 고려해 보세요. 이는 Mac OS의 Little Snitch 프로그램에서 영감을 얻은, 보다 간편한 방화벽 애플리케이션입니다. 다만, Open Snitch는 사용자가 Google Go 프로그래밍 언어의 GO 경로를 수동으로 설정하고 프로그램을 설치해야 하므로 설치 과정이 다소 복잡할 수 있습니다. 하지만 일단 설치를 마치면 초보자도 쉽게 활용할 수 있습니다.
참고: Open Snitch는 아직 실험적인 단계에 있는 프로그램이므로 모든 Ubuntu 버전에서 완벽하게 빌드되지 않을 수 있습니다. 최상의 결과를 얻으려면 상세한 설치 지침을 주의 깊게 따르고, Github 페이지에서 추가 정보를 확인하는 것이 좋습니다.
Go 경로 설정하기
Open Snitch는 Go 언어로 개발되었으므로, 설치를 위해서는 Go 언어가 필요합니다. 안타깝게도 Google Go는 단순히 Linux에 설치하는 것만으로는 제대로 작동하지 않습니다. 이를 사용하려면 먼저 “경로”를 설정해야 합니다. 이 경로는 Linux PC에 패키지를 쉽게 설치할 수 있게 해주는 역할을 합니다.
정확한 경로를 설정하려면 터미널을 열고 아래의 절차를 따르세요.
먼저 `mv` 및 `cp` 명령어를 사용하여 `bash_profile` 파일의 전체 백업을 생성합니다.
cd ~/ cp .bash_profile ~/Documents mv ~/Documents/.bash_profile ~/Documents/.bash_profile-backup
이제 모든 파일이 안전하게 백업되었으므로, `nano` 텍스트 편집기를 사용하여 `bash_profile`을 열고 Go 경로를 올바르게 구성해야 합니다.
nano ~/.bash_profile
`bash_profile` 파일에 다음 코드를 붙여넣습니다.
export GOPATH=$HOME/go
Go의 `bin` 디렉토리도 설정해야 합니다. 다음 코드를 Nano에 붙여넣어 설정하세요.
export GOBIN=$HOME/go/bin
파일에 경로를 추가한 후, `Ctrl + O`를 눌러 변경사항을 저장합니다.
`source` 명령어를 사용하여 Bash에게 새로운 Go 경로 설정을 알려줍니다.
source ~/.bash_profile
Go 설치하기
이제 Linux PC에 Go 경로가 설정되었습니다. Open Snitch를 설치하는 다음 단계는 Go 프로그래밍 언어 자체를 설치하는 것입니다. 터미널을 열고 아래 지침에 따라 Google Go를 설치하는 방법을 알아보세요. Open Snitch는 Google Go 1.8 이상에서 작동하므로, 해당 버전 이상이 필요합니다.
sudo apt install golang-go python3-pip python3-setuptools protobuf-compiler libpcap-dev libnetfilter-queue-dev python-pyqt5 pyqt5-dev pyqt5-dev-tools git
기타 리눅스 배포판 지침
덜 알려진 Linux 배포판에 Google Go를 설치하는 것은 조금 더 복잡할 수 있습니다. 먼저, `wget` 도구를 사용하여 최신 버전의 소스 코드를 다운로드합니다.
Open Snitch를 설치하기 전에 아래 종속성을 설치해야 합니다. 종속성 이름은 배포판에 따라 다를 수 있습니다. 위의 Ubuntu 종속성을 참고하여 적절한 종속성을 설치하세요.
주의: Open Snitch는 Ubuntu 환경에서 개발되었으며, 개발자는 해당 배포판의 종속성만을 명확하게 설명하고 있습니다. 다른 Linux 운영체제에서 사용하는 것도 가능하지만, 일부 문제가 발생할 수도 있습니다.
wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz
다운로드가 완료되면 `tar` 명령어를 사용하여 Linux PC의 적절한 위치에 Go 언어를 추출합니다.
sudo tar -C /usr/local -xvzf go1.10.2.linux-amd64.tar.gz
그런 다음, `bash_profile`을 다시 열고 “루트 Go” 경로를 추가합니다. 이는 시스템에 포함된 기본 패키지 대신 직접 설치한 Go의 위치를 지정하기 위함입니다.
nano ~/.bash_profile
루트 경로를 설정하려면 아래 코드를 Nano 편집기에 붙여넣습니다.
export GOROOT=/usr/local/go
`Ctrl + O`를 사용하여 변경사항을 저장하고, `source` 명령어를 실행합니다.
source ~/.bash_profile
Open Snitch 설치
Ubuntu에 Open Snitch를 설치하는 과정은 소스 코드를 다운로드하는 것부터 시작합니다. Go를 사용하여 Open Snitch에 필요한 두 가지 주요 종속성을 다운로드합니다.
go get github.com/golang/protobuf/protoc-gen-go go get -u github.com/golang/dep/cmd/dep
다음으로, Python 3 패키지 설치 도구를 사용하여 Open Snitch에 필요한 Python 관련 종속성을 설치합니다.
경고: 아래 명령을 `root` 권한으로 실행하지 마십시오. 이러한 라이브러리는 시스템 전체에 설치될 필요 없이 Open Snitch 사용자 환경에서만 필요합니다.
python3 -m pip install --user grpcio-tools
모든 종속성이 설치되면, Go를 사용하여 프로그램의 최신 소스 코드를 복제합니다.
go get github.com/evilsocket/opensnitch
Go 프롬프트에 “파일이 없습니다”와 같은 메시지가 표시되어도 걱정하지 마세요. 무시하고 `cd` 명령어를 사용하여 터미널을 올바른 디렉토리로 이동하세요.
cd $GOPATH/src/github.com/evilsocket/opensnitch
이제 `make` 및 `make install` 명령어를 실행하여 Ubuntu Linux PC에 Open Snitch를 빌드할 수 있습니다.
make sudo make install
코드의 핵심 부분이 빌드되고 설치됩니다. 다음으로 Open Snitch 데몬을 활성화합니다.
sudo systemctl enable opensnitchd sudo systemctl start opensnitchd
Open Snitch 설치가 성공적으로 완료되었다면, 데스크톱에서 “Open Snitch”를 검색하여 실행할 수 있습니다. 또는 터미널에서 `opensnitch-ui` 명령어를 사용하여 실행할 수도 있습니다.
Open Snitch 사용법
Open Snitch가 설치되고 실행되면, 별도의 설정이나 추가 작업이 필요하지 않습니다. 프로그램이 백그라운드에서 작동하도록 하고, Linux PC에서 변경을 시도하는 프로그램을 자동으로 감지하고 사용자에게 알립니다.
프로그램을 일시적으로 허용하려면 “한 번 허용”을 클릭합니다. 영구적으로 활성화하려면 “영구적으로 허용”을 클릭하세요.
또는 “거부”를 클릭하여 프로그램을 일시적으로 차단하거나, “차단”을 클릭하여 영구적으로 거부할 수 있습니다.