hosts.allow e hosts.deny WHM Host Access Control - e se meu IP mudar?

1

Eu quero usar a interface Host Access Control do WHM / Cpanel para alterar algumas configurações em hosts.allow e hosts.deny. Eu quero bloquear todo o acesso ao nosso SSH exceto o IP que temos do nosso escritório.

Daemon  Access List             Action      Comment
sshd      ALL EXCEPT x.x.x.x        deny          Deny access from all other IPs apart from ours

Mas estou preocupado com o que acontece se o nosso IP mudar, o que acontece cerca de duas vezes por semana. Como eu voltaria para editar os arquivos hosts.allow / hosts.deny?

    
por beingalex 06.07.2012 / 12:54

3 respostas

2

  1. inscreva-se em um DNS dinâmico gratuito (bastante) para o ip do seu escritório.
  2. certifique-se de atualizar esse DNS dinâmico regularmente.
  3. em hosts.deny add: sshd: ALL
  4. em hosts.allow add: sshd: /path/to/allowed_ip.file
  5. no crontab do seu host: */30 * * * * host your_office_ddns_domain | awk '{print $4}' > /path/to/allowed_ip.file
  6. você terminou.

Atenção: enquanto estiver brincando com o wrapper tcpd do seu host distante, certifique-se de manter uma sessão ssh ao vivo aberta o tempo todo, pois uma nova conexão não será possível se você fizer algo errado.

    
por 06.07.2012 / 13:31
1

Você não faria isso. Portanto, não restrinja o acesso ao seu servidor por IP se você não tiver um IP estático para restringir o acesso. Se você desabilitar o acesso SSH por senha e permitir somente o acesso por meio de chaves públicas, poderá abrir o acesso SSH ao mundo sem risco prático de comprometimento. Muito mais perigoso é o painel de controle web do WHM, que é um queijo suíço de vulnerabilidades e não pode ser facilmente protegido - que é onde você gostaria de focar suas atenções de segurança.

    
por 06.07.2012 / 13:04
1

Atualização: Solte a resposta abaixo por favor. No protocolo ssh , o cliente não fornece um nome de host, portanto tcp_wrappers provavelmente se basearia no nome reverso do endereço IP do cliente, que obviamente você não controla.

No geral, para ser franco, você não deve usar segurança baseada em IP para ssh . Você não pode esperar que os endereços IP identifiquem corretamente qualquer pessoa na Internet.

Você deve usar pares de chaves RSA, que fornecem segurança strong e desativam a autenticação baseada em senha.

Se você realmente quer uma camada extra de segurança, vá um pouco além: adicione uma VPN ou autenticação de dois fatores (por exemplo, Yubikey , não que eu tenha algum interesse em seus negócios).

Eu poderia declarar o óbvio: use um nome de host em vez de um IP em /etc/hosts.{allow,deny} .

Você pode usar qualquer provedor de DNS que ofereça um TTL baixo se o IP mudar com frequência.

Mas se a resolução do nome quebrar, você está preso! Então, eu recomendo também permitir um "host de salto": uma máquina com um endereço IP estático ao qual você tem acesso. O servidor de um amigo pode fazer se seus recursos forem limitados.

Você encontrará mais sobre as possibilidades desses arquivos em hosts_access(5) .

Observe que o Arch Linux considera a tecnologia hosts.{allow,deny} ( tcp_wrappers ) inutilizada ( anúncio ). Isso não significa que ele irá a qualquer lugar em breve em distribuições mais tradicionais, mas o futuro também não parece brilhante.

    
por 06.07.2012 / 13:44