Bloqueia a conexão SSH de saída do servidor

0

Plano de fundo

Eu tenho um serviço que se conecta a um site de terceiros SFTP para puxar arquivos. O terceiro possui um sistema que, quando determinados usuários tentam se conectar, bloqueia automaticamente o IP de entrada. Alguém está fazendo algumas tentativas de conexão enquanto usa o usuário proibido como sendo um sistema legado, qualquer usuário acessa o sistema como root. Sempre que esse indivíduo tentar o sftp root @ remote-site, ele interromperá alguns aplicativos que dependem do mesmo SFTP remoto.

Pergunta Existe alguma maneira com o SSH para bloquear essa conexão de saída para um usuário específico @ site? A regra de correspondência é para sshd_config, que basicamente é recebida. Existe um equivalente para o cliente ssh?

    
por BitsOfNix 01.10.2018 / 13:29

3 respostas

0

A regra Match para sshd_config funciona também para ssh_config, e em particular o arquivo global /etc/ssh/ssh_config que você pode editar para conter:

Match host site user root
 Hostname DontDoThat

Isso substituirá o nome do host quando você fizer um ssh ou sftp:

$ sftp root@site
Couldn't read packet: Connection reset by peer

$ sudo sftp site
ssh: Could not resolve hostname dontdothat: Name or service not known

É claro que o arquivo ~/.ssh/config do usuário ainda pode substituir essa configuração.

Você pode querer registrar informações sobre a pessoa que está fazendo o sftp, adicionando à linha Match uma chamada de um script (que deve sair 0), por exemplo, exec "/bin/mylogger somearg..." (não use aspas simples).

    
por 02.10.2018 / 10:05
2

Você tem que usar iptable , por exemplo:

Bloqueia a conexão ssh de saída para a sub-rede 192.168.1.0/24

 iptables -I OUTPUT -d 192.168.1.0/24  -p tcp --dport 22 -j REJECT

Em seguida, verifique

ssh -v 192.168.1.6
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 192.168.1.6 [192.168.1.6] port 22.
debug1: connect to address 192.168.1.6 port 22: **Connection refused**
ssh: connect to host 192.168.1.6 port 22: **Connection refused**
    
por 01.10.2018 / 13:58
0

Você sempre pode permitir a conexão SSH de saída com o módulo "user" do iptables:

iptables -A OUTPUT -o eth0  -p tcp --destination-port 22 -m owner --uid-owner {USERNAME} -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --destination-port 22 -j DROP

Isso bloqueará todas as conexões ssh de saída, mas permitirá que {USERNAME} as realize.

    
por 02.10.2018 / 10:37

Tags