Possível ataque contra o servidor VNC

2

Recentemente comecei a ter alguns problemas com minha máquina Linux. Então eu tenho essa máquina Linux VPS com servidor VNC instalado e eu apenas conecto a ele usando o visualizador VNC.

Recentemente, o servidor / visualizador VNC começou a me dar alguns erros, como vnc too many security failures ou Authentication failed , etc ...

Eu usei ssh e verifiquei o log na máquina Linux e ele mostra logs como:

Thu Jun  9 22:35:43 2016
 Connections: accepted: 0.0.0.0::59748
 SConnection: Client needs protocol version 3.3

Thu Jun  9 22:35:44 2016
 SConnection: AuthFailureException: Authentication failure
 Connections: closed: 0.0.0.0::59748 (Authentication failure)

Thu Jun  9 22:41:31 2016
 Connections: accepted: 0.0.0.0::57806
 SConnection: Client needs protocol version 3.3
 SConnection: AuthFailureException: Authentication failure
 Connections: closed: 0.0.0.0::57806 (Authentication failure)

E como resultado, o servidor VNC está listando essas conexões e, para minha surpresa, isso está me impedindo de acessar a máquina. (Eu não tenho idéia porque eu estou na lista negra ou porque eu não posso mais logar)

Estou apenas reiniciando o servidor VNC, o que me permite efetuar login novamente usando o VNC.

Este é um possível ataque? Alguma idéia de como evitar tal cenário?

    
por Mike_Jr 09.06.2016 / 22:51

1 resposta

3

Não há nada errado com o seu servidor VNC.

Por que isso aconteceu

Bem vindo ao outro lado da internet! O lado que não está atrás de um NAT e um firewall.

vnc too many security failures significa simplesmente que alguém tentou efetuar login no seu servidor VNC e falhou várias vezes. Os servidores VNC têm um recurso de segurança no qual bloqueiam conexões por um determinado período de tempo, uma vez que várias conexões falham na autenticação. Reiniciar o servidor VNC (como você está fazendo) redefine o tempo limite.

Os Blackhats examinam IPs e portas nesses IPs o tempo todo. Em seguida, conecte-se a portas abertas, veja banners de programas e tente autenticar para entrar em uma máquina. Um servidor que executa um site pequeno pode receber milhares de conexões aleatórias aleatórias por dia, um servidor que não está executando nada visível através de um DNS, mas com um IP público ainda pode obter centenas de conexões.

Portanto, alguém (e por alguém eu quero dizer um script filmando aleatoriamente em intervalos de IP) descobriu que o IP público do seu servidor tem uma porta aberta e está tentando fazer o login.

O que você deve fazer

Senhas VNC são notavelmente fracas. Você nunca deve executar um servidor VNC diretamente pela Internet. O tempo limite da lista negra (o recurso que proíbe o login após algumas falhas) impede a força bruta das senhas, mas essa não é uma medida boa o suficiente.

Em vez disso, você deve executar o servidor VNC em 127.0.0.1 adicionando -localhost à linha de comando:

vncserver -localhost ...

Em seguida, use ssh tunneling para vincular uma porta em sua máquina à porta no servidor. Por exemplo (suponho que seu servidor VNC seja executado na porta padrão)

ssh -L 5900:localhost:5900 me@<my_server>

Em seguida, enquanto a conexão ssh estiver ativa, você poderá conectar seu cliente VNC à porta 5900 em sua própria máquina.

(Isto é para máquinas * nix, se você estiver em uma máquina microsoft você ainda pode usar putty para ssh tunneling )

O que você nunca deve fazer

Os servidores VNC não podem desativar o recurso de lista negra, mas você pode alterar os parâmetros da lista negra. Por exemplo:

vncserver -set BlacklistTimeout=0 -set BlacklistThreshold=10000 ...

(Em algumas distros, principalmente no CentOS eu acredito, o comando deve ser vncconfig não vncserver )

    
por 09.06.2016 / 23:58