OpenSnitch: Aprenda como funciona este firewall de programa Linux

LinuxSistemas operacionais baseados em tem um grande número de proteções para mitigar ataques, prevenir o aumento de privilégios e outros ataques muito comuns neste sistema operacional. Embora o Linux seja muito seguro se configurado corretamente, não devemos parar de cuidar completamente do nosso sistema operacional, pois as ameaças continuam a existir. Atualmente, existem vários firewalls Linux disponíveis, que podemos instalar e usar para tornar nosso sistema Linux mais seguro e confiável. Hoje veremos uma das ferramentas incluídas nos firewalls com um futuro muito promissor, o OpenSnitch.

O que é OpenSnitch?

OpenSnitch é um firewall aplicativo escrito em Python para sistemas operacionais baseados em GNU / Linux, portanto, em princípio, qualquer sistema operacional baseado em GNU / Linux é compatível com este programa, o que adicionará segurança extra.

OpenSnitch

O método de operação do OpenSnitch é verificar todas as solicitações de conexão à Internet feitas por todos os aplicativos instalados no sistema operacional. Este programa permite a criação de regras específicas para as diferentes aplicações que instalamos no nosso computador ou servidor Linux, estas regras permitirão ou negarão o acesso à Internet quando o solicitarem. É possível que, uma aplicação que não tenha criado uma regra, tente acessar a Internet, nesse momento aparecerá uma caixa de texto que nos dará a opção de permitir ou negar a conexão, sem ter que ir especificamente para crie uma regra para o aplicativo específico.

Outras opções disponíveis são a possibilidade de salvar a decisão como uma regra para que permaneça na lista nas próximas vezes que determinado aplicativo precisar de acesso à Internet, podemos aplicar a regra ao URL exato do domínio que você está tentando acessar. . Teremos também a possibilidade de permitir temporariamente, e ao reiniciarmos o servidor ou o computador esta regra adicionada desaparecerá.

Todas as regras que criamos no OpenSnitch serão armazenadas como arquivos JSON (tipo de arquivo que apenas OpenSnitch pode manipular), desta forma, podemos modificá-los posteriormente se necessário manualmente. O OpenSnitch possui uma interface gráfica de usuário muito intuitiva, que nos permitirá ver quais aplicativos estão acessando a internet naquele momento, qual endereço IP está sendo utilizado pelo equipamento, qual usuário está utilizando o sistema e o próprio OpenSnitch e qual porta está sendo usava. usando para tudo isso.

Outra opção muito útil do OpenSnitch é criar um relatório em formato CSV com todas as informações, aqui encontraremos a configuração do firewall e todos os aplicativos salvos.

Instalando OpenSnitch no Linux

Vamos prosseguir com a instalação do OpenSnitch, pois você pode ver que todos os comandos que usaremos para a instalação são destinados ao Debian ou Ubuntu usuários então, se você estiver usando outra distribuição, você terá que ajustar os comandos para a distribuição que você instalou em sua equipe.

Primeiramente instalaremos tudo o que for necessário para que o OpenSnitch funcione, incluindo Go e também Git, ambos totalmente necessários para a instalação correta, já que não temos Opensnitch nos repositórios oficiais das diferentes distribuições Linux. Como poderia ser de outra forma, teremos que fazer o login como root em nosso sistema operacional, ou seja, executar o comando “sudo” antes do comando de instalação através dos repositórios. Nossa recomendação, como teremos que realizar várias etapas e instalar vários programas, é que você efetue login com o popular “sudo su” para já ter permissões de superusuário e não precisar executar “sudo” na frente de cada comando.

sudo apt-get install protobuf-compiler libpcap-dev libnetfilter-queue-dev python3-pip golang git

vá buscar github.com/golang/protobuf/protoc-gen-go

vá buscar -u github.com/golang/dep/cmd/dep

python3 -m pip install –user grpcio-tools

A seguir, teremos que clonar o repositório OpenSnitch. Na inicialização, a instalação provavelmente retornará uma mensagem informando que nenhum arquivo Go foi encontrado. Iremos ignorar esta mensagem, mas se outra nos atacar dizendo que estamos perdendo o git, teremos que parar para instalá-lo. Por padrão, o “GOPATH” está em / home / user / go

go get github.com/evilsocket/opensnitch

cd$GOPATH/src/github.com/malsocket/opensnitch

Se o $GOPATH variável de ambiente não está definida corretamente, obteremos um erro dizendo “esta pasta não foi encontrada” no comando acima. Para resolver isso, usaremos o cd comando para ir até a localização da pasta “/home/usuario/go/src/github.com/evilsocket/opensnitch” que estava em série na instalação do sistema. Agora, nós o instalamos da maneira típica:

make

sudo make install

Depois de instalado corretamente, vamos ativá-lo da seguinte maneira:

sudo systemctl enable opensnitchd

sudo serviço opensnitchd start

opennitch-ui

E acessaremos a interface gráfica do usuário onde teremos todas as informações e ações que podemos realizar com este grande programa.

Use a experiência com OpenSnitch

Este programa é realmente útil para permitir ou negar o tráfego de rede de diferentes aplicativos, navegadores da web, clientes FTP, programas como Skype, Google drive e qualquer programa que precise de uma conexão com a Internet para funcionar. Com o OpenSnitch, podemos controlar todas as conexões em detalhes e permitir ou negar tudo no nível do aplicativo, e não no endereço IP ou no nível da porta, como é o caso do popular firewall iptables ou nftables que os sistemas operacionais baseados em Debian incorporam por padrão.

É possível que no início tenhamos dezenas de mensagens a indicar que uma aplicação tentou aceder à Internet, isto é completamente normal a princípio, pois todas as aplicações devem ser autorizadas especificamente no programa, portanto, teremos a melhor segurança possível porque está configurado em modo restritivo. Por padrão, tudo é bloqueado, exceto o que é especificamente permitido no firewall do aplicativo.

Por fim, gostaríamos de indicar que todas as regras criadas em um determinado momento podem ser facilmente exportadas no formato JSON, para serem importadas para outro sistema operacional Linux, ou seja, podemos realizar testes localmente ou em uma máquina virtual, e posteriormente copiar esse arquivo JSON no servidor em produção, sem ter nenhum tipo de problema.

Graças ao bom funcionamento do OpenSnitch, poderemos controlar todos os acessos de qualquer programa que tenhamos em nosso equipamento, se você deseja um firewall completo ao nível da aplicação, este software é ideal para você.