Devo confessar que sou muito novo no mundo Linux e há conceitos que me parecem muito desconhecidos.
Uma coisa que mais sinto falta é um firewall bom, porém simples, no nível do aplicativo. A partir de agora, com toda essa conectividade invasiva e permanente invasiva à Internet, é necessário saber o que exatamente o seu computador está fazendo, por que e com quem. Um analisador de protocolo é bom, mas muito hostil e demorado para "analisar", praticamente inútil para usuários domésticos.
Descobri muitos programas em ambientes Windows que não deveriam se conectar à Internet, mas sim (e com meu firewall gratuito do ZoneAlarm, posso impedi-los).
Com o Gufw (e vários outros), você precisa saber quais aplicativos você já instalou (e sabemos que isso é quase impossível com os sistemas operacionais modernos 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 tentativa de "falar" através dela de maneira proativa, independentemente da porta que estiver tentando usar (a necessidade dos aplicativos que eu mencionei anteriormente tentar se conectar usando portas TCP bem conhecidas: 80, 443, 8080). Isso existe? (Caso contrário, como sei com certeza o que está fazendo meu computador?)
fonte
Respostas:
Douane
Instalação
Até agora (22/05/2017), não havia pacotes Ubuntu disponíveis. Você deve construí-lo a partir da fonte.
Essas instruções de instalação são baseadas em informações do Douane Wiki e testadas no Ubuntu 16.04.2 de 64 bits.
Abra um terminal ( Ctrl+ Alt+ T) para executar os comandos.
Preparação
Atualize seu sistema:
Se você receber uma notificação pedindo para reiniciar o computador, reinicie-o.
Instale as dependências
Crie um diretório para compilação
Construa o módulo do kernel
Verifique se o módulo foi construído e instalado corretamente:
Você deve ver algo como:
Construa o daemon
Construa o processo de diálogo
Inicie o processo de diálogo:
Em seguida, verifique se está em execução:
Você deve ver algo como:
Crie o configurador
Inicie o daemon e configure o início automático
Eu tive que inserir o seguinte texto no arquivo
/etc/init.d/douane
para ativar o início automático do daemon:Abra o arquivo para edição:
Em seguida, cole o texto acima após a descrição do programa. Pressione Ctrl+ O, Enterpara salvar e, em seguida, Ctrl+ Xpara sair do editor.
Estas são as primeiras 21 linhas do arquivo depois que inseri o texto:
Agora você pode configurar o início automático e iniciar o daemon:
Ative o filtro e inicie automaticamente a caixa de diálogo
Inicie o configurador:
Em seguida, verifique se os switches Use Douane para filtrar o tráfego da minha rede e o Auto start Douane na inicialização estão ambos ativados.
Você pode revisar as regras de filtragem na guia Regras . Clique com o botão direito do mouse em uma regra e você terá a opção de excluí-la.
Teste
Se tudo estiver bem, você verá a janela do Douane pedindo permissão ao abrir aplicativos que usam conexões de rede.
fonte
Há 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/
Nesse ponto, ele é considerado um 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 há outras opções e percebi que ninguém havia mencionado o OpenSnitch aqui ainda.
fonte
Essa é uma pergunta muito boa, mas eu odeio perguntas como essa porque são realmente 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 abordar sua pergunta.
Primeiro, não haverá um firewall de saída que funcione da mesma maneira que o alarme de zona. O Linux simplesmente não tem uma grande necessidade de um. Muitos aplicativos funcionam em uma arquitetura cliente / servidor, mesmo que você os esteja usando 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) gedit conversa com o servidor sobre desenhar botões, colocar texto e assim por diante. Mesmo algo tão simples quanto um mouse tem a mesma arquitetura (ou poderia ter). Um programa atua como um servidor que escuta informações e envia dados quando as obtém, e um cliente "se conecta" a esse "servidor de mouse" e aguarda informações.
Isso é tão prevalente no Linux que, se você criar um "firewall" que solicite permissão para todas as conexões de rede, provavelmente não poderá configurá-lo porque ele não poderá se conectar ao seu próprio servidor.
Tudo isso é um exemplo muito rudimentar, algumas delas enganosas porque são de alto nível. Mas ainda é muito 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 o root, pode abrir qualquer porta abaixo de 1024. (novamente, nível muito alto). Isso significa que, 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" (acima de 1024). Mas veja a regra dois.
2nd. nenhum processo pode acessar qualquer arquivo que o usuário que iniciou o processo não pôde acessar. (novamente, nível muito alto) Portanto, se "coteyr" iniciar um servidor FTP, esse servidor FTP na pior das hipóteses (nível alto) terá apenas o mesmo acesso exato que o usuário coteyr que o iniciou.
Devido à combinação dessas duas regras, um "software" que pergunta sempre que algo tenta conectar o firewall fica no caminho e não há muita demanda por ele.
Dito isto, você sempre pode criar uma regra de firewall de saída e, em muitos casos, isso provavelmente não é uma má idéia. 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 as lacunas ímpares deixadas pela regra 1 ou 2.
Meu ponto é esse. A segurança é importante e não estou tentando dizer que não, é apenas aqui no Linux que temos ferramentas e objetivos diferentes. Eu recomendo que você analise as permissões de usuário e grupo do Linux e, em seguida, use uma ferramenta como gfw e IPTABLES para preencher quaisquer lacunas.
fonte
sshd
com 22 anos), mas a pergunta parece estar perguntando mais sobre a exfiltração de dados. Quais são quase inteiramente as conexões de saída e têm pouco a ver com as portas às quais você pode se conectar.netstat
momento, minha caixa possui 1354 conexões abertas. 65 desses são conexões de rede. Esse é um número bastante baixo para mim (sem dizer que é para todos), mas você começaria a tentar descobrir o que cada uma dessas conexões faz. Como eu disse, não é que a segurança não seja importante, é apenas um ambiente muito diferente.