Como posso me isolar de uma caixa linux com iptables?

2

No Securing Debian Howto eu li (sobre o iptables):

The tools can easily be misused, causing enormous amounts of grief by completely crippling network access to a system. It is not terribly uncommon for a remote system administrator to accidentally lock himself out of a system hundreds or thousands of miles away. One can even manage to lock himself out of a computer who's keyboard is under his fingers.

Eu estou querendo saber ... como?

    
por Giacomo Tesio 31.12.2014 / 17:06

4 respostas

4

Nas seguintes condições, você pode se trancar no teclado.

Se você bloquear todo o tráfego de rede de saída com IPTABLES. E Se você usar algum tipo de autenticação de rede, como LDAP ou NIS, para logins de usuários. Como resultado, o sistema não pode acessar o serviço externo para que você não possa efetuar login com esses IDs de usuário. E você não tem outras contas de usuário local com senhas E Você desativou o login raiz direto no console.

Você ainda não está completamente bloqueado porque pode reinicializar o sistema no modo de usuário único e corrigir seu erro.

    
por 31.12.2014 / 17:49
1

na forma mais simples, se o login e a autenticação dependerem da conectividade da rede enquanto o login do console estiver desativado (isso pode ser feito também, para fins de segurança física).

    
por 01.01.2015 / 01:01
0

Ao proteger um computador, é possível bloquear-se para que a única recuperação seja reinicializar no modo de console. Em alguns casos, você precisará de um CD inicializável. No pior dos casos, com um BIOS bloqueado, você pode não ser capaz de fazer isso facilmente.

O bloqueio de raiz de todos os consoles é trivial e executa duas etapas em qualquer ordem:

  • Remova ou bloqueie a senha do root (uma configuração recomendada).
  • Edite /etc/sudoers para uma configuração inválida.

Sempre mantenho um ou mais consoles raiz abertos ao fazer alterações e teste com novas conexões antes de fechá-las.

O acesso remoto é mais fácil de quebrar e requer apenas o impedimento de acesso aos protocolos que permitem logins. (O Shorewall tem / teve uma opção de "administrador ausente" para ajudar a evitar isso.) Novamente, é útil manter um console raiz ativo aberto ao fazer alterações. As ferramentas com um modo de teste também ajudam, pois você deve recuperar o acesso quando o teste atingir o tempo limite e a configuração for revertida.

Se os protocolos de senha funcionam na rede (NIS, LDAP, etc), você pode bloquear todo o acesso bloqueando o (s) protocolo (s) deles com iptables. Se você tiver um cache funcionando, talvez não perceba isso imediatamente. Teste cuidadosamente se os serviços ainda estão funcionando antes de efetuar logout do console raiz. Ter uma conta local e / ou senha pode ajudar a evitar isso.

Políticas de bloqueio de senha também podem causar problemas. Eu ouvi um desenvolvedor descrever como ele se trancou ao implementar uma política de senha. Sua primeira política foi 1 falha e um bloqueio de 24 horas. Ele conseguiu que outra pessoa que estivesse logada reativasse sua conta.

    
por 31.12.2014 / 22:36
0

Parece que sou a única pessoa que fez isso antes ...

Se você tem um sistema e o único meio de acessá-lo é via SSH, você pode facilmente atrapalhar seu conjunto de regras e bloquear o acesso SSH à caixa, travando-se efetivamente fora do computador.

Por exemplo:

# Because it's secure
iptables -P INPUT DROP 
iptables -P OUTPUT DROP
# Because you want to create a new ruleset and you've been up for 25 hours and aren't thinking straight
iptables -F

Isso eliminará todo o tráfego e liberará as regras atualmente carregadas, incluindo as regras que permitem o tráfego SSH entrar e sair da caixa. Estrondo! Você está trancado.

    
por 03.01.2015 / 22:29