A continuação do título seria "enquanto você tiver conhecimento limitado da segurança da Internet".
Recentemente, configurei um pequeno servidor com um computador de ponta executando o debian com o objetivo de usá-lo como um repositório pessoal do git. Eu habilitei o ssh e fiquei bastante surpreso com a rapidez com que ele sofreu ataques de força bruta e coisas do gênero. Então li que isso é bastante comum e aprendi sobre medidas básicas de segurança para evitar esses ataques (muitas perguntas e duplicatas sobre falha do servidor lidam com isso, veja, por exemplo, esta ou esta ).
Mas agora estou me perguntando se tudo isso vale a pena. Decidi configurar meu próprio servidor principalmente por diversão: eu podia confiar apenas em soluções de terceiros, como as oferecidas por gitbucket.org, bettercodes.org, etc. Embora parte da diversão seja aprender sobre segurança na Internet, eu não tempo suficiente para me dedicar a se tornar um especialista e ter quase certeza de que tomei as medidas corretas de prevenção.
Para decidir se continuarei a jogar com este projeto de brinquedos, gostaria de saber o que realmente arrisco ao fazê-lo. Por exemplo, em que medida os outros computadores conectados à minha rede também estão ameaçados? Alguns desses computadores são usados por pessoas com conhecimento ainda menor do que o meu executando o Windows.
Qual é a probabilidade de eu ter problemas reais se eu seguir diretrizes básicas, como senha forte, acesso root desabilitado para ssh, porta não padrão para ssh e possivelmente desativar o login de senha e usar uma das regras fail2ban, denyhosts ou iptables?
Dito de outra forma, há alguns lobos maus que eu deveria temer ou tudo se resume a espantar as crianças do roteiro?
keyboard-interactive
autenticação e use apenaspubkey
autenticação.Respostas:
O SSH da OMI é uma das coisas mais seguras para se ouvir na Internet aberta. Se você estiver realmente preocupado, escute em uma porta de ponta não padrão. Eu ainda teria um firewall (no nível do dispositivo) entre sua caixa e a Internet real e apenas usaria o encaminhamento de porta para SSH, mas isso é uma precaução contra outros serviços. O próprio SSH é bastante sólido.
Eu já tinha gente bateu no meu servidor de casa SSH ocasionalmente (abrir para a Time Warner Cable). Nunca teve um impacto real.
Algumas coisas adicionais que você pode fazer para tornar o SSH mais seguro são impedir tentativas repetidas do mesmo endereço IP para uma máquina doméstica, algo como
em / etc / ssh / sshd_config, que restringirá quantas conexões podem ser criadas em uma linha antes de efetuar login com êxito.
fonte
A configuração de um sistema de autenticação de chave pública com SSH é realmente trivial e leva cerca de 5 minutos para ser configurada .
Se você forçar toda a conexão SSH a usá-la, ele tornará seu sistema praticamente o mais resistente possível, sem investir muito na infraestrutura de segurança. Francamente, é tão simples e eficaz (desde que você não tenha 200 contas - então fica confuso) que não usá-lo deve ser uma ofensa pública.
fonte
Também administro um servidor git pessoal aberto ao mundo no SSH e também tenho os mesmos problemas de força bruta que você, para que eu possa simpatizar com sua situação.
O TheFiddlerWins já aborda as principais implicações de segurança de ter o SSH aberto em um IP acessível ao público, mas a melhor ferramenta IMO em resposta a tentativas de força bruta é o Fail2Ban - software que monitora seus arquivos de log de autenticação, detecta tentativas de invasão e adiciona regras de firewall ao sistema.
iptables
firewall local da máquina . Você pode configurar quantas tentativas antes de uma proibição e também a duração da proibição (meu padrão é 10 dias).fonte
Outra maneira de lidar com isso é configurar uma VPN. Em vez de conectar-se diretamente às portas SSH no servidor doméstico, primeiro conecte-se à VPN e depois execute todo o seu tráfego pela conexão segura e criptografada.
A maneira ideal de lidar com isso é com um firewall que incorpora um ponto de extremidade da VPN, mas você também pode configurar um computador com Windows para atuar como um servidor VPN.
Aqui está um exemplo:
http://www.howtogeek.com/135996/
Agora, lembre-se de que uma configuração de segurança adequada envolveria um computador público (ou semi-público) isolado da sua rede interna. Um servidor da Web ou qualquer computador que hospede serviços publicamente disponíveis deve estar fora da rede segura da sua casa ou escritório. Você usaria 2 roteadores para criar uma zona segura, ou uma DMZ, entre você e a Internet.
Dessa forma, se seu servidor for invadido, ele não poderá ser usado como vetor para atacar seus outros computadores.
Portanto, a configuração seria assim:
fonte
As respostas são muito boas, eu recomendaria apenas duas coisas:
fonte