tracking conexão TCP com proxy

1

Sou um administrador unix em uma faculdade. Eu tenho dois servidores web. Um deles é para o corpo docente e um deles é para a equipe oficial da web da faculdade. O servidor web oficial faz proxy de solicitações para páginas da Web do corpo docente, portanto, embora sejam dois servidores separados, do ponto de vista do corpo docente e do navegador, ele aparece como um servidor.

Para poupar o corpo docente de alguma confusão, eu encaminhar a porta 22 (usando socat) no servidor oficial para o servidor da faculdade e fazer o sshd no servidor oficial escutar em uma porta diferente. Dessa forma, o corpo docente pode ssh para mycollege.edu, mesmo que seja o nome DNS do servidor oficial. Isso significa que a equipe da web se confunde com mais frequência, mas isso é muito melhor do que várias centenas de professores confusos.

Eu uso o Fail2Ban para manter a força bruta do ssh logins em uma quantidade um pouco mais gerenciável. Isso não funciona para esses dois servidores web, porque cada conexão ssh para o servidor do corpo docente vem do servidor oficial, e eu obviamente não quero bloquear conexões do servidor oficial.

O que eu quero fazer é encontrar uma maneira de rastrear logons com falha nos servidores, para que eu possa ter o servidor oficial bloqueando o IP de origem. O problema é que o servidor oficial conhece o IP de origem, mas não quais logins falharam e o servidor do corpo docente sabe quais logins falharam, mas não o IP de origem.

Eu deveria conseguir fazer isso rastreando a porta de origem nas conexões entre os servidores oficial e docente. O oficial conhece o IP de origem da conexão original e a porta de origem para a conexão subsequente ao servidor do corpo docente. O servidor do corpo docente conhece a porta de origem do servidor oficial e o tempo em que o login falhou.

Basicamente, eu manteria um log de IPs de origem estrangeira e portas de origem internas no servidor oficial (voltado para fora) e um log de portas de origem internas e falhas de login no servidor docente (interno). Então eu poderia enviar as entradas de log do servidor do corpo docente para o servidor oficial e o servidor oficial poderia analisá-lo e firewall conforme apropriado.

SO! Aqui está minhas perguntas:

  • Esta é uma ideia maluca com uma solução muito mais simples?
  • Se isso não for maluco, qual é a melhor maneira de reunir essas informações de porta de origem interna? Socat (no host oficial externo) pode registrar algumas coisas, mas o que parece chamar a porta de origem não corresponde a nada nas conexões que estou assistindo no host interno / do corpo docente (usando o tcpdump).
por pileofrogs 20.01.2017 / 22:05

0 respostas