É possível ativar / desativar o SSH usando o cron

3

Gostaria de desativar o ssh server em determinados momentos do dia. Eu gostaria de fazer isso porque recentemente experimentei um compromisso de força bruta via ssh . Pode crontab ser usado para ativar / desativar o SSH?

Se não, existe outra maneira de desativar ssh em determinados momentos do dia?

    
por Roy Hinkley 07.10.2015 / 19:51

5 respostas

16

Claro, basta executar os scripts de init disponíveis para parar e iniciar o daemon ssh (por exemplo, /etc/init.d/ssh stop e /etc/init.d/ssh start ) nos momentos apropriados.

No entanto, sugiro investigar o fail2ban, portknocking, desabilitar a autenticação de senha e usar apenas chaves ssh e a maneira mais segura, autenticação de dois fatores com um ti < Https://www.howtogeek.com/121650/how-to-secure-ssh-with-google-authenticators-two-factor-authentication/ "> me senhas .

    
por 07.10.2015 / 20:06
6

Em vez de desligar o servidor SSH durante certas horas, considere o uso do pam_time

  • Defina UsePAM yes no seu sshd_config
  • Edite o /etc/pam.d/sshd para inserir o módulo pam_time
  • Escreva suas regras de restrição de tempo em /etc/security/time.conf .
por 08.10.2015 / 02:35
4

Existem várias opções disponíveis para você

  1. Você pode usar cron para ativar e desativar o ssh do servidor
  2. Você pode usar iptables para bloquear e desbloquear a ssh port
  3. Você pode contornar tudo isso executando ssh na porta diferente
  4. Você pode implementar a porta batendo
  5. Você pode desativar o acesso externo a ssh totalmente e exigir o uso de uma VPN

Tenho certeza de que outras soluções estão disponíveis, mas parei às cinco.

    
por 07.10.2015 / 20:13
2

Existe o módulo time para o iptables:

iptables ... -m time --timestart TIME --timestop TIME --days DAYS -j ACTION

Use -p tcp -j REJECT --reject-with tcp-rst para fingir que a porta está fechada (a ação padrão para REJECT é um pacote ICMP).

Eu também adicionaria outra regra na frente, permitindo que ESTABLISHED conexões passassem se eu quisesse que as conexões abertas continuassem funcionando.

Em comparação com soluções que utilizam scripts para executar determinadas ações em determinados momentos, ela tem a grande vantagem de ser uma configuração estática e é improvável que haja algum modo de falha que exija, por exemplo. bloquear permanentemente o acesso.

    
por 08.10.2015 / 12:14
1

Veja o daemon de monitoramento de log "fail2ban". Ele usará o iptables para bloquear o acesso ao seu sshd de um endereço IP específico. se houver mais de 5 logins incorretos em alguns minutos. No entanto, é apenas IPv4.

Além disso, desative os logins de raiz; use sempre uma conta de rejeição.

    
por 07.10.2015 / 22:43

Tags