Estou usando o Debian 9.1 com o KDE e estou me perguntando por que ele vem sem um firewall instalado e ativado por padrão? O gufw nem está nos pacotes do DVD1.
As pessoas devem se conectar à Internet antes de obter um firewall? Por quê? Mesmo que todas as portas estejam fechadas por padrão, vários programas instalados, atualizados ou baixados podem abri-las (ou não?) E desejo que nem um único pedaço saia da minha máquina sem minha permissão.
Edit: Então, eu acabei de descobrir sobre o iptables, mas acho que a questão ainda permanece tão iptables quanto o firewall parece ser um pouco desconhecido para a maioria, suas regras padrão, sua acessibilidade e facilidade de uso e o fato de que, por padrão, qualquer regra do iptable é redefinida no reinício .
iptables
pré-instalado! Acho que as pessoas apenas tentando tomar o princípio end-to-end para o extremo camada 7 ...sudo
sua senha como emsudo apt-get install package ...
Respostas:
Primeiro, o Debian tende a assumir que você sabe o que está fazendo e tenta evitar fazer escolhas para você.
A instalação padrão do Debian é bastante pequena e é segura - não inicia nenhum serviço. E mesmo os extras opcionais padrão (por exemplo, servidor web, ssh) adicionados a uma instalação são geralmente bastante conservadores e seguros.
Portanto, um firewall não é necessário neste caso. O Debian (ou seus desenvolvedores) assume que, se você iniciar serviços adicionais, saberá como protegê-los e poderá adicionar um firewall, se necessário.
Mais importante, talvez, o Debian evite fazer sua escolha em relação a qual software de firewall usar. Há várias opções disponíveis - qual delas deve ser usada? E mesmo em relação a uma configuração básica de firewall, que configuração deve ser escolhida? Dito isto,
iptables
é de prioridade importante, por isso é instalado por padrão. Mas é claro, o Debian não sabe como você deseja configurá-lo, portanto, não o configura para você. E você pode preferir usariptables
o sucessor denftables
qualquer maneira.Observe também que a funcionalidade de firewall já está embutida no kernel do Linux até certo ponto; por exemplo,
nftables
enetfilter
. O Debian e outras distribuições Linux fornecem ferramentas de espaço para o usuário, comoiptables
para gerenciar essa funcionalidade. Mas o que você faz com eles depende de você.Observe que essas entidades não são nomeadas de forma consistente. Para citar a página da Wikipedia
nftables
:fonte
iptables
seja um padrão para o Debian. Mas uma coisa que o Debian não faz por si só é a configuração não óbvia do sistema para o usuário.Primeiro, quero repetir o que já foi dito: O Debian atende a um grupo de usuários bastante diferente do que muitas outras distribuições convencionais, principalmente o Ubuntu. O Debian é voltado para pessoas que sabem como o sistema funciona e que não têm medo de mexer de tempos em tempos em troca de um alto grau de controle sobre o sistema. O Ubuntu, por exemplo, atende a um público-alvo muito diferente: pessoas que apenas querem que as coisas funcionem e não se importam (realmente) com o que está acontecendo, e certamente não querem modificar a configuração do sistema para fazer as coisas trabalhos. Isso afeta vários aspectos do sistema resultante. E, até certo ponto, essa é uma beleza do Linux; o mesmo sistema básico pode ser usado para criar ambientes que atendem a diferentes necessidades. Lembre-se de que o Ubuntu é um derivado do Debian,
O primeiro disco contém o software mais popular, conforme determinado pela coleta de estatísticas anônimas dos sistemas instalados. O fato de o gufw não estar no primeiro disco simplesmente indica que este não é um pacote muito popular (em termos de base instalada) no Debian. Também é fácil de instalar quando você tiver o sistema básico com a rede em funcionamento, se preferir a alternativas.
Bem, por um lado, acredito que o Debian permita a instalação em uma rede. (Não apenas o download de pacotes da rede durante uma instalação normal, mas literalmente iniciando a instalação a partir de um host diferente daquele em que está sendo instalado .) Um firewall configurado por padrão com um conjunto de regras restritivo correria o risco de interferir nisso. O mesmo ocorre com instalações que precisam de acesso à rede de saída durante o processo de instalação para outros fins que não apenas o download das versões mais recentes dos pacotes que estão sendo instalados.
Por outro lado, há o que mencionei acima; como regra, o Debian espera que você saiba o que está fazendo. Se você deseja um firewall, espera-se que você possa configurá-lo por conta própria, e espera-se que você saiba melhor que os mantenedores do Debian quais são suas necessidades específicas. O Debian é um pouco como o OpenBSD a esse respeito, mas não tão extremo. (Quando é possível escolher entre tornar o sistema base um pouco mais seguro e utilizá-lo um pouco mais, os mantenedores do OpenBSD praticamente sempre buscam a segurança. Isso é mostrado nas estatísticas de vulnerabilidade de segurança do sistema básico, mas tem enormes implicações na usabilidade.)
E, claro, a tecnicidade: o suporte ao firewall está incluído no sistema básico. É apenas que ele está definido como uma regra permissiva definida por padrão pelo kernel, e uma instalação básica do Debian não faz nada para mudar isso. Você pode executar alguns comandos para restringir o fluxo de tráfego.
Primeiro, os firewalls geralmente são usados para restringir o tráfego de entrada . Se você deseja restringir a saídatráfego, é uma chaleira de peixe bastante diferente; certamente factível, mas precisa de muito mais adaptação à sua situação específica. Um firewall de tráfego de saída de bloco padrão que deixa abertas as portas comumente usadas (onde as portas comumente usadas podem ser ftp / 20 + 21, ssh / 22, smtp / 25, http / 80, https / 443, pop3 / 110, imap / 143 e um conjunto de outros), além de permitir o tráfego relacionado a sessões estabelecidas, não seria muito mais seguro do que um firewall de permissão padrão. É melhor garantir que o conjunto de pacotes instalados pelo sistema base seja restrito a um conjunto de pacotes bem compreendidos e configurados como seguros como entregues, e permitir que o administrador configure regras de firewall apropriadas se precisar de mais proteção do que isso.
Segundo, uma porta fechada (que responde a um TCP SYN com um TCP RST / ACK, normalmente relatado como "conexão recusada" - esse é normalmente o estado padrão de uma porta TCP em um sistema ativo que suporta TCP / IP na ausência de configuração em contrário ou de software escutando) não é uma vulnerabilidade significativa, mesmo em um sistema não conectado por um firewall separado. A única vulnerabilidade significativa em uma configuração totalmente fechada seria se houver uma vulnerabilidade na implementação da pilha TCP / IP do kernel. Mas os pacotes já estão passando pelo código netfilter (iptables) no kernel, e um bug também pode estar lá. A lógica para responder com o que resulta em uma "conexão recusada" na outra extremidade é simples o suficiente para que eu ache difícil acreditar que seria uma fonte importante de erros, muito menos erros relacionados à segurança;
Terceiro, os pacotes são normalmente instalados como root, a partir dos quais você (o pacote) pode alterar as regras do iptables sem o seu conhecimento. Portanto, não é como se você obtivesse algo como exigir que o administrador humano permita manualmente o tráfego pelo firewall do host. Se você deseja esse tipo de isolamento, em primeiro lugar deve ter um firewall separado do host que está protegendo.
Na verdade, eu diria que o oposto é verdadeiro; O iptables como firewall é bem conhecido . Também está disponível em praticamente todos os sistemas Linux que você provavelmente encontrará. (Ele substituiu ipchains durante o desenvolvimento que levou ao kernel Linux versão 2.4, por volta do ano 2000 ou mais. Se bem me lembro, a maior mudança visível para o usuário entre os dois no caso de uso comum do firewall foi a regra interna cadeias agora foram nomeadas em maiúsculas, como
INPUT
, em vez de minúsculas, comoinput
.)De qualquer forma, o iptables pode fazer outras coisas além do firewall, que não são amplamente usadas ou compreendidas. Por exemplo, ele pode ser usado para reescrever pacotes IP antes que eles passem pelo firewall.
fonte
Se eu fosse adivinhar, sem realmente estar na cabeça de uma geração de desenvolvedores e mantenedores do Debian, meu palpite seria o seguinte:
O Debian é projetado principalmente como um sistema operacional de servidor, tanto as ramificações sid como a de teste têm como principal objetivo a criação da próxima ramificação estável e, no momento do congelamento, elas são congeladas, e a nova estável é retirada dos testes, como apenas aconteceu com o Stretch.
Dado isso, eu diria ainda, eu teria que confirmar isso com um amigo administrador de sistemas, que os firewalls do datacenter são dispositivos externos, segurança muito maior (pelo menos se espera que seja esse o caso)) para os servidores e manipular os principais tarefas de firewall. Mesmo em uma LAN pequena com um roteador, esse é o caso, o roteador é o firewall, não uso nenhuma regra de firewall local em nenhum dos meus sistemas, por que usaria?
Acho que talvez as pessoas confundam suas instalações locais do Debian de desktop ou um único servidor de arquivos em um escritório ou em casa com o trabalho real conectado ao Debian, que eu acredito focar principalmente no uso da produção.
Não tenho certeza disso, mas depois de mais de uma década de uso do Debian, esse é o meu sentimento, tanto como desenvolvedor quanto como apoiador do Debian de várias maneiras.
Posso verificar isso, já que é realmente uma boa pergunta, mas acho que as redes reais são protegidas por firewall nos pontos de entrada da rede, não por máquina ou, pelo menos, essa é a ideia básica que talvez direcione Debian. Além disso, é claro, que se esse não fosse o caso, o administrador do sistema configuraria as regras de firewall por máquina, usando algo como Chef, sem depender de nenhuma instalação padrão, o que não seria algo que você tenderia confiar, por exemplo, nas configurações padrão do Debian ssh não são as que eu usaria pessoalmente como padrão, por exemplo, elas permitem o login root por padrão, e cabe ao administrador do sistema corrigir se isso é uma prática recomendada .
Ou seja, há uma suposição de competência que acho que seja o Debian que pode estar ausente em outras distros. Assim, você pode alterar o que deseja alterar, criar imagens, gerenciá-las com o software de gerenciamento de sites e assim por diante. Essas são apenas algumas possibilidades. Por exemplo, você nunca usaria o DVD para criar um novo servidor, pelo menos nunca em produção, provavelmente usaria algo como a mínima instalação de rede, é o que eu sempre uso, por exemplo (eu costumava usar uma imagem ainda menor) , mas eles o interromperam). Se você der uma olhada no que está incluído nessa instalação básica, terá uma noção decente do que o Debian considera crucial e o que não considera. ssh está lá, por exemplo. Xorg não é, Samba não é.
Pode-se também perguntar por que eles voltaram ao GNOME como área de trabalho padrão, mas essas são apenas decisões que eles tomam e que seus usuários basicamente ignoram, já que você pode criar os sistemas da maneira que você deseja (ou seja, para obter os desktops Xfce, eu não instale o Xdebian (como no Xubuntu), apenas instalei o Debian core, o Xorg e o Xfce, e lá vou eu). De maneira semelhante, se eu quisesse o firewall, eu o configuraria, aprenderia os detalhes, etc., mas eu pessoalmente não esperava que o Debian fosse enviado com esse recurso ativado, seria realmente um pouco chato para mim se fosse . Talvez minhas opiniões sobre isso reflitam um tipo de consenso que você também pode encontrar internamente no Debian.
Além disso, é claro, não existe realmente o Debian, existem várias imagens de instalação, netinstall, instalação completa, todas elas variam de barebones, apenas cli, a um desktop de usuário razoavelmente completo. Os usuários de produção provavelmente criariam imagens, por exemplo, que seriam configuradas da maneira que o usuário deseja; eu sei que se eu estivesse configurando um servidor Debian, começaria com o básico bruto e o construiria até que fizesse o que eu queria.
Então você tem o mundo dos servidores da Web, que é uma bola de cera totalmente diferente, eles têm questões de segurança muito diferentes e, como disse um velho amigo meu bem conectado ao hacker underground, alguém que executa um servidor da Web sem saber como proteger também pode ser chamado de alguém cujo servidor pertence a crackers.
fonte
A idéia geral é que você não precisa de um firewall na maioria dos sistemas, exceto em configurações complexas.
O SSH está em execução ,, quando você instalou um servidor. Nada mais deve estar ouvindo e você provavelmente deseja se conectar ao ssh.
Quando você instala um servidor da web, espera que ele esteja disponível, não é? E para o ajuste básico, você pode vincular o servidor da Web apenas à interface LAN privada, por exemplo, 192.168.172.42 (seu IP da LAN local), em vez de 0.0.0.0 (todos os ips). Você ainda não precisa de um firewall.
Obviamente, tudo pode abrir uma porta> 1024, mas quando você possui um software não confiável (ou usuários não confiáveis), deve fazer mais do que apenas instalar um firewall. No momento em que você precisa desconfiar de algo ou de alguém, precisa de um conceito de segurança e não apenas de um software. Portanto, é uma coisa boa quando você precisa pensar ativamente na sua solução de firewall.
Agora, é claro, existem cenários mais complexos. Mas quando você realmente tem um desses, você realmente precisa ajustar o firewall por conta própria e não permitir que um sistema meio automático como o ufw faça isso. Ou você pode até usar o ufw, mas decidiu que não o padrão do sistema operacional.
fonte
traceroute
no seu sistema.reject
oudrop
ele. Não existe um conceito de "porta aberta sem escutar". Talvez você queira desistir (aceitar sem enviá-lo para um programa).sim
Desculpe, eles não são.
rpcbind
parece estar instalado, ativado e escutando na rede por padrão.EDIT: Eu acredito que isso foi corrigido no último instalador, ou seja, no Debian 9 (Stretch) . Mas com as versões anteriores do Debian, eu não me sentiria muito seguro instalando (e atualizando) em uma rede wifi pública.
Eu suspeito que as pessoas têm uma suposição de que
Embora este último seja uma prática comum, por exemplo, por roteadores de consumidor, não acredito que seja garantido. Sem surpresa, a suposição anterior não está documentada; nem é sensato.
Na minha opinião, o problema com o rpcbind é um exemplo de um ponto mais geral. As pessoas podem tentar promover o Debian, e ele tem muitos recursos interessantes. Mas o Debian fica atrás do Ubuntu em como ele é polido e amigável, ou mesmo em como é confiável para quem quer aprender esses detalhes.
Você certamente é livre para instalar um firewall antes de começar a baixar e executar um software aleatório, sem ter certeza do que ele faz :-p.
Concordo, em parte, é alarmante instalar o Linux e não encontrar nenhuma interface configurada para o que é uma camada de segurança muito conhecida. Pessoalmente, achei útil entender como o firewall padrão do Windows está configurado. Ele quer que você seja capaz de "confiar" em uma rede doméstica e, nas versões mais recentes, a instalação expressa até pula perguntando se você confia na rede atual. O principal objetivo parece ser distinguir entre redes domésticas, conexões desprotegidas como um modem diretamente conectado e redes wifi públicas. Observe que o UFW não suporta isso de qualquer maneira.
Somente o Fedora Linux tentou fornecer algo parecido com isto, no
firewalld
. (Os pacotes também parecem estar disponíveis no Debian ...). A GUI para ela não é tão "amigável", digamos, quanto a GUFW.fonte
A filosofia tradicional do Unix sempre foi o KISS e executando / expondo o mínimo de serviços.
Vários serviços também precisam ser instalados explicitamente, e até alguns são vinculados ao host local, e você deve permitir que eles sejam visíveis na sua rede local / na Internet (MySQL, MongoDB, snmpd, ntpd, xorg ...). Essa é uma abordagem mais sensata do que habilitar um firewall por padrão.
Você só precisa da complexidade que um firewall traz a partir de um certo ponto, e essa necessidade pode ser reduzida devido a um roteador corporativo ou a um dispositivo doméstico, por isso parece sensato deixar a decisão para o usuário. Um firewall, como muitos outros softwares de segurança, também pode fornecer uma falsa sensação de segurança, se não for gerenciado adequadamente.
A orientação do Debian sempre foi o pessoal mais tecnicamente orientado que sabe o que é iptables; também existem vários invólucros conhecidos, interfaces de modo de texto ou gráfico que podem ser facilmente instalados.
Além disso, se é fornecido com muito ou menos software instalado, é uma questão de opinião. Para um veterano de longa data, ele vem com muito software e serviços instalados por padrão, especialmente no modo servidor.
fonte