Vou implantar uma máquina Linux como uma espécie de terminal público em um local remoto. Gostaria de poder acessá-lo remotamente via SSH para manutenção, mas não quero manter uma porta aberta no firewall remoto nas raras ocasiões em que preciso acessar esta máquina. Pensei em um script simples para criar um túnel SSH reverso para uma máquina do lado de fora, mas eu prefiro que o usuário não precise fazer nada quando precisar acessá-lo. Alguma ideia?
Atualização: Decidi seguir meu plano original de um script para criar um túnel ssh reverso. Embora outras soluções sugeridas, como bater à porta, sejam mais do que realmente desejo, neste caso, não tenho acesso para configurar o roteador, a não ser conduzir um usuário através de uma configuração. estremecer
fonte
Respostas:
Se a mudança do roteador estiver completamente fora de questão, talvez seja necessário procurar uma solução P2P ou VPN como o Hamachi . Se você configurar o sistema para estabelecer automaticamente a conexão VPN na inicialização, poderá conectar-se sempre que precisar. Hamachi faz toda a negociação de firewall para você. A única desvantagem é que você precisa confiar nos servidores Hamachi que estão ativos e funcionais quando precisar se conectar.
Se você tiver um servidor sempre ativo , poderá configurar a transferência automática para que o sistema remoto mantenha sempre um túnel aberto e conectado ao seu servidor. A única desvantagem é que o sistema remoto está comprometido. O atacante receberá as chaves que foram usadas para estabelecer a sessão ssh. Seria muito importante manter seu sistema que aceita a conexão ssh realmente bloqueada.
Abaixo está a minha resposta original, eu tinha assumido que atualizar o roteador era uma opção.
Uma solução que você pode querer investigar se o firewall suportar, é a porta batendo . Com alguns firewalls, deve ser possível enviar um conjunto especial de pacotes que o firewall percebe e, em seguida, abre temporariamente um buraco no firewall.
Existem muitas implementações, algumas melhores que outras. Alguns usam criptografia forte para tornar quase impossível para uma pessoa sem as chaves certas enviar a batida correta.
fonte
Eu não estaria tão preocupado em deixar a porta 22 acessível à Internet, mas tomaria algumas medidas para protegê-la.
Primeiro, desative a autenticação interativa do teclado e vá para as teclas ssh.
Em segundo lugar, instale algo como fail2ban no servidor remoto em endereços IP blackball que analisam repetidamente sua máquina. Como você configurou as chaves ssh, não deve haver falhas de autenticação para usuários autorizados.
Como alternativa, se você puder, siga os conselhos do WerkkreWs e configure o firewall na frente da máquina para encerrar uma conexão VPN, apenas permita que o daemon ssh no servidor remoto aceite conexões que atravessam essa VPN.
Como alternativa, se o seu firewall não puder finalizar a conexão vpn, você provavelmente poderá encaminhar os pacotes GRE ou IPSEC para sua máquina linux e finalizá-la lá.
fonte
Parece que você está procurando knockd
Você pode instalá-lo no próprio servidor Linux, com o iptables, para que seja como um firewall de segundo nível. Mesmo com a porta 22 aberta no firewall de front-end, ela não estaria aberta no servidor; portanto, os portscans não veriam nenhuma porta aberta. Então, quando você envia a "batida secreta", de repente você tem um caminho aberto para a porta 22.
Isso faz sentido?
fonte
Para resumir todas as respostas:
use ssh, mas torne-o mais obscuro e seguro.
Para segurança:
Para obscuridade:
fonte
Tarefa agendada o script para o seu túnel ssh reverso ou abra a porta do firewall.
Se você está preocupado com o fato de o SSH ser aberto ao mundo, você pode agendar tarefas durante o período de manutenção com scripts iptables e ter apenas a porta disponível.
fonte
Olhe em porta batendo para abrir seu túnel SSH.
Além disso, execute denyhosts para bloquear as pessoas após muitas solicitações ruins.
Ambos os pacotes estão disponíveis nos repositórios padrão Ubuntu, Fedora e RHEL.
fonte
Vá em frente e abra uma porta, apenas faça uma fora da faixa normal. Eu faria uma porta aleatória acima de 1024. Dessa forma, é improvável que os hackers procurem por ela.
fonte
Não há razão para não abrir o buraco no firewall se você precisar acessar a máquina remotamente, por mais pouco que seja.
No entanto, se você ainda preferir não (ou não puder) abrir a porta, um simples script de shell poderá monitorar algum recurso disponível na Internet que você controla e ouvir o comando para iniciar o túnel reverso. Contas de email, canais de IRC e páginas da Web vêm imediatamente à mente como dispositivos acionadores.
Obviamente, isso é muito mais frágil e menos seguro do que apenas abrir a porta. Mas tenho certeza que você tem seus motivos.
fonte