Instalação

Instalação

Devo confessar que sou muito novo no mundo Linux e existem conceitos que me parecem muito desconhecidos.

Uma coisa que mais sinto falta é um firewall de nível de aplicativo bom, mas simples. A partir de agora, com toda essa conectividade intrusiva e permanente com a Internet, é necessário saber exatamente o que o seu computador está fazendo, por que e com quem. Um analisador de protocolo é bom, mas muito hostil e demorado para "analisar", o que é praticamente inútil para usuários domésticos.

Eu descobri muitos programas em ambientes Windows que não deveriam se conectar à Internet, mas o fazem (e com meu firewall gratuito ZoneAlarm posso impedi-los).

Com o Gufw (e vários outros) você tem que saber quais aplicativos você já instalou (e sabemos que isso é quase impossível com este sistema operacional moderno com bilhões de linhas de código).

O que estou procurando é um firewall que monitore a conexão NIC/WAN e detecte qualquer programa/aplicativo ou qualquer outra coisa que tente "falar" através dele de forma proativa, independentemente da porta que estiver tentando usar (os aplicativos que mencionei anteriormente devem tentar se conectar usando portas TCP bem conhecidas: 80, 443, 8080). Isso existe? (Se não, como posso saber com certeza o que está acontecendo no meu computador?)

Responder1

Douane

Douane é um firewall pessoal que protege a privacidade do usuário, permitindo que ele controle quais aplicativos podem se conectar à Internet a partir de seu computador GNU/Linux.


Instalação

Até agora (22/05/2017) não há pacotes Ubuntu disponíveis. Você deve construí-lo a partir do código-fonte.

Estas instruções de instalação são baseadas em informações doWiki Douanee testado no Ubuntu 16.04.2 de 64 bits.

Abra um terminal ( Ctrl+ Alt+ T) para executar os comandos.

Preparação

Atualize seu sistema:

sudo apt update
sudo apt full-upgrade

Se você receber uma notificação solicitando a reinicialização do computador, reinicie-o.

Instale as dependências

sudo apt install git build-essential dkms libboost-filesystem-dev libboost-regex-dev libboost-signals-dev policykit-1 libdbus-c++-dev libdbus-1-dev liblog4cxx10-dev libssl-dev libgtkmm-3.0-dev python3 python3-gi python3-dbus

Crie um diretório para compilação

cd
mkdir Douane
cd Douane

Construa o módulo do kernel

git clone https://github.com/Douane/douane-dkms
cd douane-dkms
sudo make dkms

Verifique se o módulo foi construído e instalado corretamente:

lsmod | grep douane

Você deverá ver algo como:

douane                 20480  0

Construa o daemon

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-daemon
cd douane-daemon
make
sudo make install

Construa o processo de diálogo

cd ~/Douane
git clone --recursive https://github.com/Douane/douane-dialog
cd douane-dialog
make
sudo make install

Inicie o processo de diálogo:

/opt/douane/bin/douane-dialog &

Em seguida, verifique se ele está funcionando:

pgrep -a douane-dialog

Você deverá ver algo como:

21621 /opt/douane/bin/douane-dialog

Construa o configurador

cd ~/Douane
git clone https://github.com/Douane/douane-configurator
cd douane-configurator
sudo python3 setup.py install

Inicie o daemon e configure a inicialização automática

Tive que inserir o seguinte texto no arquivo /etc/init.d/douanepara habilitar o início automático do daemon:

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

Abra o arquivo para edição:

sudo nano /etc/init.d/douane

Em seguida, cole o texto acima após a descrição do programa. Pressione Ctrl+ Opara Entersalvar e depois Ctrl+ Xpara sair do editor.

Estas são as primeiras 21 linhas do arquivo depois de inserir o texto:

#!/bin/bash
#
# douane      This shell script takes care of starting and stopping
#             douane daemon (A modern firewall at application layer)
#
# Author: Guillaume Hain [email protected]
#
# description: douane is the daemon process of the Douane firewall application. \
# This firewall is limiting access to the internet on application bases.

### BEGIN INIT INFO
# Provides:          douane
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Douane firewall
### END INIT INFO

# Source function library.
. /lib/lsb/init-functions

Agora você pode configurar o início automático e iniciar o daemon:

sudo systemctl daemon-reload
sudo systemctl enable douane
sudo systemctl start douane

Ative o filtro e inicie automaticamente a caixa de diálogo

Inicie o configurador:

douane-configurator

Então certifique-se de que os interruptoresUsar Douane para filtrar meu tráfego de redeeInicialização automática do Douane na inicializaçãoambos estão ativados.

Você pode revisar as regras de filtragem na seçãoRegrasaba. Clicando com o botão direito em uma regra, você terá a opção de excluí-la.

Teste

Se tudo estiver bem, você deverá ver a janela Douane pedindo permissão ao abrir aplicativos que usam conexões de rede.

Responder2

Existe um novo projeto chamado OpenSnitch descrito em

https://www.cyberciti.biz/python-tutorials/opensnitch-the-little-snitch-application-like-firewall-tool-for-linux/

A página do projeto éhttps://www.opensnitch.io/

Neste ponto é considerado software alfa e, estranhamente, está escrito em Python, mas pelo menos é uma nova tentativa, enquanto Douane é um programa muito antigo que (eu acho) é muito mais difícil de instalar.

Isenção de responsabilidade: eu não testei pessoalmente nenhum dos programas, estava apenas tentando descobrir se havia alguma outra opção e percebi que ninguém havia mencionado o OpenSnitch aqui ainda.

Responder3

Esta é uma pergunta muito boa, mas eu odeio perguntas como essa porque são muito difíceis de responder sem parecer que a segurança não é importante.

Então, primeiro, deixe-me dizer que a segurança é importante, mas o Linux lida com isso de maneira muito diferente do Windows.

Então, vamos resolver sua questão.

Primeiro, não haverá um firewall de saída que funcione da mesma forma que o alarme de zona. O Linux simplesmente não precisa muito de um. Muitos aplicativos funcionam em uma arquitetura cliente/servidor, mesmo que você os use na mesma máquina. Xorg é um ótimo exemplo. Primeiro você tem um servidor (neste caso a parte que desenha na tela) e um cliente (gedit). O gedit conversa com o servidor sobre como desenhar seus botões, colocar seu texto e assim por diante. Mesmo algo tão simples como um mouse tem essa mesma arquitetura (ou poderia ter). Um programa atua como um servidor que escuta informações e envia dados quando os recebe; então, um cliente "se conecta" a esse "servidor de mouse" e aguarda pelas informações.

Isso é tão comum no Linux que se você criasse um "firewall" que solicitasse permissão para cada conexão de rede, provavelmente não seria capaz de configurá-lo porque ele não poderia se conectar ao seu próprio servidor.

Tudo isso é um exemplo muito grosseiro, alguns deles são enganosos porque são de alto nível. Mas ainda é verdade.

Para proteger os usuários do Linux contra isso, temos um conjunto de duas regras muito básicas que fazem um trabalho "básico" muito bom.

Primeiro, nenhum usuário, exceto root, pode abrir qualquer porta abaixo de 1024. (novamente em nível muito alto). Isso significa que até mesmo para executar um servidor FTP (em uma porta padrão), você precisa ter acesso root. Você, como usuário, geralmente pode abrir "portas altas" (aquelas acima de 1024). Mas veja a regra dois.

2º. nenhum processo pode acessar qualquer arquivo que o usuário que iniciou o processo não conseguiu acessar. (novamente em nível muito alto) Portanto, se "coteyr" iniciasse um servidor FTP, então esse servidor FTP na pior das hipóteses (alto nível) teria exatamente o mesmo acesso que o usuário coteyr que o iniciou.

Por causa da combinação dessas duas regras, um “software” que pergunta toda vez que algo tenta conectar o firewall apenas atrapalha, e não há muita demanda para isso.

Dito isto, você sempre pode criar uma regra de firewall de saída e, em muitos casos, isso provavelmente não é uma má ideia. Muitos serviços podem ser (e são por padrão) configurados para usar soquetes baseados em arquivo (ou baseados em memória) e não soquetes baseados em rede.

Uma regra de firewall de entrada geralmente fecha quaisquer lacunas deixadas pela regra 1 ou 2.

Meu ponto é este. A segurança é importante e não estou tentando dizer que não, é apenas aqui na terra do Linux que temos ferramentas e objetivos diferentes. Eu recomendo que você analise as permissões de usuários e grupos do Linux e, em seguida, use uma ferramenta como gfw e IPTABLES para preencher quaisquer lacunas.

Responder4

OpenSnitch, mencionado em uma resposta aqui,não está mais em desenvolvimento ativo. Háum garfoembora isso continue o desenvolvimento, que melhorou em muitas áreas em relação ao OpenSnitch, agora sem manutenção.

Como o projeto original, o fork OpenSnitch é um firewall gratuito em nível de aplicativo de código aberto para Linux que é feito de um daemon (escrito em Go) e uma GUI (PyQt5). Também como o projeto original, este fork está em andamento, com uma mensagem na página do projeto dizendo “não espere que esteja livre de bugs e não confie nele para qualquer tipo de segurança”.

O aplicativo monitora as conexões de saída que seus aplicativos estão tentando fazer, impedindo ou permitindo sua conexão com base em um conjunto de regras (o usuário é solicitado a permitir ou negar o acesso quando nenhuma regra existente for encontrada). O aplicativo é inspirado no Little Snitch, um firewall de aplicativo comercial baseado em host para macOS.

Para Ubuntu existem pacotes DEB disponíveis para download no projetoGitHub.

Fonte.

informação relacionada