Só porque o Linux é muito mais seguro que o Windows, não existem razões para não ser cauteloso. Há vários tipos de firewall disponíveis para tornar seu sistema Linux mais seguro. A ferramenta em questão é o OpenSnitch. Portanto, conheça o OpenSnitch – uma aplicação Firewall para Linux.
O que é o OpenSnitch
OpenSnitch é um port de Little Snitch. O Little Snitch, por sua vez, é um firewall de aplicativo desenvolvido exclusivamente para Mac OS. O OpenSnitch foi criado por Simone Margaritelli, conhecido também como evilsocket.
A principal função do OpenSnitch é rastrear as solicitações de internet feitas pelos aplicativos que o usuário instalou. O OpenSnitch permite criar regras para quais aplicativos devem permitir o acesso à internet e quais devem ser bloqueados.
Toda vez que um aplicativo que não possui regra ativa tenta acessar a internet, uma caixa de diálogo é exibida. Esta caixa de diálogo oferece a opção de permitir ou bloquear a conexão.
Você também pode decidir se essa nova regra se aplica ao processo, a URL exata que está tentando acessar, ao domínio, a essa única instância, a essa sessão ou para sempre.
Todas as regras que o usuário cria são armazenadas como arquivos JSON, para que se possa alterá-las posteriormente, se necessário. Por exemplo, se o usuário acabou bloqueando um aplicativo incorretamente.
O OpenSnitch também possui uma interface gráfica agradável que permite ver rapidamente:
- Quais aplicativos estão acessando a web;
- Qual endereço IP eles estão usando;
- O usuário é proprietário do sistema;
- Qual porta está sendo utilizada.
Também é possível exportar as informações para um CSV, caso desejar.
O OpenSnitch está disponível sob a licença GPLv3.
Instalando o OpenSnitch
As instruções de instalação na página do Github do OpenSnitch são destinadas aos usuários do Ubuntu. Se estiver usando outra distro, será necessário o ajuste dos comandos. Esta aplicação por exemplo, é empacotada no AUR (Arch User Repository)
Antes de começar, precisa ter o Go instalado corretamente e a variável de ambiente $ GOPATH estar definida.
Primeiro instale as pendências necessárias.
sudo apt-get install protobuf-compiler libpcap-dev libnetfilter-queue-dev python3-pip
go get github.com/golang/protobuf/protoc-gen-go
go get -u github.com/golang/dep/cmd/dep
python3 -m pip install --user grpcio-tools
Em seguida, será necessário clonar o repositório do OpenSnitch. Provavelmente haverá uma mensagem informando que nenhum arquivo foi encontrado. Ignore isto. Se caso receber uma mensagem que o git está em falta, basta instalá-lo.
go get github.com/evilsocket/opensnitch
cd $GOPATH/src/github.com/evilsocket/opensnitch
Se a variável do ambiente $ GOPATH não estiver configurada corretamente, será notificado um erro “no such folder found” no comando anterior. Apenas cd para o local da pasta “evilsocket” / opensnitch” que foi listado quando foi realizado o clone para o seu sistema.
Agora, nós construimos e instalamos…
make sudo make install
Se for notificado de um possível erro informando que o comando dep não pode ser localizado, adicione o GOPATH /bin no PATH.
Assim que terminar, iniciaremos o daemon e iniciaremos o ambiente gráfico do usuário.
sudo systemctl enable opensnitchd
sudo service opensnitchd start
opensnitch-ui
Então, está feito.
No entanto, o aplicativo ainda não atingiu a versão 1.0, o que para muitos desenvolvedores é algo bastante decepcionante pela quantidade de informações que o aplicativo oferece.