Por que executar o SSH em uma porta diferente

31

Atualmente, estou aprendendo sobre a instalação do Kippo SSH. No tutorial, ele disse que eu deveria reconfigurar a porta SSH de 22 para uma porta diferente (que neste caso 3389). Portanto, agora, sempre que eu tentar fazer o SSH de um cliente, ele se conectará à porta 3389.

No tutorial, a razão por trás disso é que "não queremos que o Kippo tenha acesso root".

Minha pergunta é: que diferença faz executando SSH da porta 22 vs porta 3389?

Adão
fonte
8
Não há conceito de redirecionamento no SSH, então acho um pouco claro o que você está perguntando. (Não sei se isso é porque o tutorial você estiver seguindo não é clara, ou se é porque você omitiu algumas informações essenciais ao escrever a pergunta.)
kasperd
4
Não é uma resposta, mas vale a pena saber: a porta TCP 3389 é frequentemente usada para RDP. Talvez o 3389 tenha sido selecionado para tentar ser encontrado por pessoas que estão procurando acesso remoto.
TOOGAM 14/01
Relacionado: Devo alterar a porta SSH padrão nos servidores Linux?
Reintegrar Monica - M. Schröder
Qual tutorial você está vendo ... este ou este ou algo mais?
david
@david eu usei este tutorial youtube.com/watch?v=OyBiIjrVXgk
Adam

Respostas:

52

A maioria dos servidores exige acesso root se você deseja abrir portas inferiores a 1024.

Os números de porta TCP / IP abaixo de 1024 são especiais, pois os usuários normais não têm permissão para executar servidores neles. Esse é um recurso de segurança, pois se você se conectar a um serviço em uma dessas portas, poderá ter certeza de que possui a coisa real, e não uma farsa que algum hacker criou para você.

Consulte: https://www.w3.org/Daemon/User/Installation/PrivilegedPorts.html

Thorchy
fonte
11
Eu sinto que esta questão se relaciona bem com esta resposta: superuser.com/questions/710253/... (Porque depois de ler a resposta, as pessoas estão provavelmente vai se perguntar a essa pergunta)
Score_Under
29

Que diferença faz executando SSH da porta 22 vs porta 3389?

Para ligar a uma porta abaixo de 1024 (uma porta privilegiada), um processo deve ter acesso root. Ao torná-lo vinculado ao acesso raiz 3389, não é necessário.

user9517 suporta GoFundMonica
fonte
21

Uma das razões pelas quais vi isso é reduzir o spam de log dos scanners de senha. Então, se alguém está tentando usar a força bruta de senhas, você sabe que é uma tentativa direcionada e não um driveby.

Dewi Morgan
fonte
8

Ao redirecionar o SSH para uma porta não padrão - você está dificultando a vida de um hacker - porque eles não terão 100% de certeza de qual porta você está usando para acessar seu sistema.

Porta 22 - é a porta padrão, como você sabe. Mas se você alterou isso para uma porta não padrão ... Agora, eu preciso executar uma varredura de porta usando o Nmap ou alguma outra ferramenta para tentar detectar onde o servidor ssh está ouvindo - isso aumenta as chances de seu IDS (Sistema de detecção de intrusão) de detectar esse tipo de comportamento malicioso - e pode permitir que você comece a tomar medidas preventivas (como negar o endereço IP do alvo).

Embora seja verdade que, para CRIAR uma porta de escuta abaixo de 1024, você precisa de acesso root - o sshd (o daemon ssh [servidor]) terá sido iniciado no momento da inicialização e, por si só, não impedirá que usuários privados / não privados acessem o processo ssh.

Se você deseja parar o ssh para root - e isso é sempre uma boa coisa para parar. Em seguida, o ssh.config (ele muda um pouco em seu nome, dependendo do sistema operacional sendo usado - veja, porém, em / etc / ssh /)

O valor que controla se uma conta raiz pode efetuar login é

#PermitRootLogin no

Esse valor e não o número da porta - que, a propósito, é configurado usando um valor como

#Port 22

É como restringir.

O Ssh é um mecanismo de comunicação fantástico, flexível e seguro - mas apenas se for entendido e usado corretamente.

Tim Seed
fonte
Há uma diferença entre o ssh, permitindo que você efetue login como root, e o próprio daemon ssh precisando de acesso root para que ele possa abrir uma porta privilegiada. A questão refere-se ao segundo desses dois, não ao primeiro.
Mike Scott
3

Em geral, há duas razões principais pelas quais alguém pode querer executar o SSH escutando em uma porta alta:

  • Como não é a porta "padrão", as tentativas aleatórias de invadir (botnets) têm menos probabilidade de se conectar a ela
  • Se o número da porta for superior a 1024, o daemon SSH terá menos um "privilégio raiz" com o qual precisa ser confiável

Além disso, se um dispositivo NAT estiver na frente de vários servidores executando SSH, ele não poderá mapear a porta 22 para todos eles; portanto, poderá ser configurado, por exemplo, para redirecionar a porta externa 10022 para o serviço interno 192.0.2.10 : 22 e porta externa 11022 para 192.0.2.11:22.

No entanto, no caso do Kippo, o que você está instalando é um "honeypot SSH", um programa que deve se parecer com uma linha de comando SSH em um sistema utilizável, mas na verdade responde lentamente e não faz nada útil. Você deseja executar isso tanto na porta SSH comum (22) quanto em uma porta alta usada com frequência (2222); na verdade, é mais fácil executá-lo como usuário na porta alta e usariptables para redirecionar a porta baixa para a porta alta no mesmo host. Também é possível usar netcat ( nc) ou xinetd para configurar um redirecionamento.

Para que o Kippo escute na porta baixa (diretamente ou através de um redirecionamento), o daemon SSH do sistema regular já não pode estar escutando lá. Além disso, para tornar seu honeypot mais confiável, você não deseja que o daemon do sistema escute em outra porta aberta "comum".

Do ponto de vista de segurança, seria mais eficaz rolar dados para escolher essa porta alternativa, mas é improvável que o RDP esteja ouvindo em um servidor Linux típico, portanto, se você já se lembra desse número de porta, pode ser divertido trabalhar com ele. Outras opções "interessantes" podem ser algo como 5190 (AOL) ou 1214 (KaZAA).

david
fonte
11
Sem perceber (ou olhar para cima) o que é o Kippo, não fazia sentido o motivo pelo qual um daemon ssh não seria root: se ele deseja se autenticar como qualquer usuário, ele precisa manter algumas permissões para se tornar um usuário diferente. Mas essa resposta deixa claro por que é importante não ser executado como raiz.
chexum