IPTables permitem então bloquear com conexão ativa

1

Eu tenho um servidor de backup e queria saber se eu definir uma tarefa cron para permitir a conexão de um servidor no IPTables, em seguida, uma vez que ele se conecta com rsync, posso usar IPTables para fechar a porta para evitar conexões?

A ideia é bloquear a chance de os backups serem apagados se o servidor principal for comprometido (sim, está garantido, mas eu não corro riscos.)

EDIT: Depois de tentar coisas e por causa de como as coisas funcionam. Eu decidi que a melhor idéia seria configurar um segundo servidor que apenas extraia do primeiro servidor.

    
por Tiffany Walker 09.02.2013 / 05:12

3 respostas

2

Assumindo que ele se conecta ao ssh em vez de ao rsyncd, você poderia lidar com isso com uma regra como essa

iptables -A INPUT -s <server> -p tcp --dport ssh -m connlimit --connlimit-saddr --connlimit-upto 1 -j ACCEPT

Se não houver outras regras para permitir isso e a política de INPUT for REJECT ou DROP, isso funcionará.

Se você também quiser restringir isso a um horário específico, use adicionalmente -m time --timestart 01:00:00 --timestop 01:02:00 - que forneceria uma janela de dois minutos todos os dias, a partir de 1AM

    
por 09.02.2013 / 05:35
1

Primeiro, responda diretamente à sua pergunta: sim, certamente é possível e muito simples.

Você teria apenas uma tarefa do cron para permitir o tráfego desse servidor:

-A Firewall-1-INPUT -p tcp -m state --state NEW -s 1.2.3.4 -j ACCEPT

Em seguida, outro trabalho cron para remover essa regra:

-D Firewall-1-INPUT -p tcp -m state --state NEW -s 1.2.3.4 -j ACCEPT

Mas ...

Você está se conectando usando o protocolo rsync nativo? Se assim for, você realmente não deve fazer isso, pois é pouco autenticado e não criptografado. Em vez disso, use o rsync sobre SSH, com a autenticação de chave e a senha de autenticação desativadas (você já deve estar fazendo isso em seus servidores). Usando rsync + ssh, todo o tráfego será criptografado, e com a chave auth, não é necessário fazer a música e a dança iptables, pois as chances de alguém brutar forçando seu nome de usuário e par de chaves são infinitesimalmente remotas.

Além disso, conforme mencionado abaixo pelo Skaperen, o servidor de backup deve ser aquele que inicia as conexões com os sistemas que estão fazendo backup, e não o contrário.

    
por 09.02.2013 / 05:19
0

Para atingir sua meta, eu consideraria a ideia alternativa de ter o servidor de backup isolado em uma sub-rede IP privada atrás de um firewall e originar os backups dos servidores conectados à Internet por meio de um IP privado e a chave ssh (não a senha) conectividade baseada Desta forma, chaves que podem fazer coisas poderosas são mais isoladas da internet.

    
por 09.02.2013 / 05:38