Você pode fazer isso desativando diferentes recursos de rede no kernel do Linux. Será destrutivo desativar as opções de rede ALL (porque alguns programas usam a interface de loopback para operação - um deles é o servidor X). Mas o que pode ajudar - desabilite qualquer driver de dispositivo NIC do kernel. Isso garantirá que nenhuma 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 este for o caso - você não pode resolver o problema com uma solução semelhante a software. Como o usuário tem acesso root (e conhecimento) - o usuário poderá fazer alterações.
Outro ponto - mesmo que o usuário não tenha acesso root - existe a possibilidade de inicializar o Linux live distribution e fazer alterações nos arquivos de configuração do computador, incluindo a substituição da imagem do kernel por uma nova (permitindo assim os drivers da NIC).
Tudo isso é sobre esse simples fato - se alguém tem acesso físico ao computador - pode-se mudar qualquer coisa nele (desde que se tenha conhecimento e ferramentas).
Seguem-se algumas formas possíveis:
-
Se os usuários não tiverem conhecimento avançado em Linux que compilando o kernel do Linux sem drivers de NIC (não esqueça as placas de rede USB) no kernel será suficiente IMO.
-
Além disso, você pode desativar a placa de rede nas configurações da BIOS - mas, novamente, essas configurações podem ser redefinidas se houver acesso físico ao computador.
-
Você pode definir as regras iptables para rejeitar qualquer tráfego de rede externo.
-
Use dispositivo de segurança física como o kit de bloqueio de portas;