Como seria impossível para o Ubuntu 12 se comunicar com a rede, mesmo que haja uma placa de rede presente (que pode ter um cabo conectado)?
eu encontreiesta respostaque defende a remoção dos drivers da NIC, mas estou preocupado que o driver possa ser reinstalado durante uma atualização. Não tenho muita experiência em administração de Linux.
Existe uma prática recomendada para executar o GNU/linux sem recursos de rede?
Responder1
Você pode fazer isso desativando diferentes recursos de rede no kernel do Linux. Será destrutivo desabilitar TODAS as opções de rede (porque alguns programas usam interface de loopback para operação - um deles é o servidor X). Mas o que pode ajudar é desabilitar qualquer driver de dispositivo NIC do kernel. Isso garantirá que não haja atividade de rede externa.
Mas aqui está outro ponto - como você afirmou:
but I'm concerned that the driver might be re-installed during an upgrade
Isso pressupõe que o usuário que está fazendo atualizações tenha acesso root ao sistema. Se for esse o caso, você não pode resolver o problema com uma solução semelhante a um software. Como o usuário tem acesso root (e conhecimento) - o usuário poderá fazer qualquer alteração.
Outro ponto - mesmo que o usuário não tenha acesso root - existe a possibilidade de inicializar a distribuição Linux Live e fazer quaisquer alterações nos arquivos de configuração do computador, incluindo a substituição da imagem do kernel por uma nova (habilitando assim os drivers NIC).
Tudo isso tem a ver com o simples fato de que se alguém tiver acesso físico ao computador, poderá alterar qualquer coisa nele (desde que tenha conhecimento e ferramentas).
Então, a seguir estão algumas maneiras possíveis:
Se os usuários não tiverem conhecimento avançado em Linux, entãocompilando o kernel do Linuxsem drivers NIC (não se esqueça das placas de rede USB) no kernel será suficiente IMO.
Além disso, você pode desabilitar a placa de rede nas configurações do BIOS - mas, novamente, essas configurações podem ser redefinidas se alguém tiver acesso físico ao computador.
Você pode definirtabelas de ipregras para rejeitar qualquer tráfego de rede externo.
Usardispositivo de segurança físicacomo kit de bloqueio de porta;
Responder2
CONFIG_NET=n
Esta opção controla o suporte de rede no kernel. Mas, como dizem os próprios documentos, isso pode quebrar muitos programas de usuário que fazem coisas com aparência de rede:
menuconfig NET
bool "Networking support"
select NLATTR
select GENERIC_NET_UTILS
select BPF
---help---
Unless you really know what you are doing, you should say Y here.
The reason is that some programs need kernel networking support even
when running on a stand-alone machine that isn't connected to any
other computer.
If you are upgrading from an older kernel, you
should consider updating your networking tools too because changes
in the kernel and the tools often go hand in hand. The tools are
contained in the package net-tools, the location and version number
of which are given in <file:Documentation/Changes>.
For a general introduction to Linux networking, it is highly
recommended to read the NET-HOWTO, available from
<http://www.tldp.org/docs.html#howto>.
Eu testei essa opção em:https://github.com/cirosantilli/linux-kernel-module-cheat/blob/71d673bac48f43a2e38f5e1e4f94b10da15b7cee/kernel_config_fragment#L58
Resultado: muitos (todos?) Sistemas de rede retornam um status de falha e não fazem nada, por exemplo:
# nc -l -p 8000 127.0.0.1
nc: socket: Function not implemented
TODO: Soquetes UNIX? Não estava presente nessa versão nc
e tive preguiça de experimentar.
Ainda posso usar o shell e chamar utilitários básicos. mas, por exemplo, o X-server requer chamadas de sistema de rede para funcionar e não inicia corretamente.