Eu tenho uma pequena rede doméstica e estou tentando equilibrar a necessidade de segurança versus conveniência. A maneira mais segura de proteger servidores da Web internos é conectar-se apenas usando VPNs, mas isso parece um exagero para proteger a interface da Web remota dos DVRs (por exemplo).
Como compromisso, seria melhor usar números de portas muito grandes? (por exemplo, cinco dígitos até 65531)
Eu li que os scanners de portas tipicamente apenas digitalizam as primeiras 10.000 portas, portanto, usar números de porta muito altos é um pouco mais seguro.
Isso é verdade?
Existem maneiras melhores de proteger servidores web? (por exemplo, guias da web para aplicativos)
security
server-security
ports
SofaKng
fonte
fonte
Respostas:
Muitas pessoas acreditam nisso. Eu não.
Talvez seja um pouco mais seguro, mas não muito. As portas com numeração baixa são mais comuns, portanto, alguns scanners procurarão lá primeiro.
Se eu fosse um cracker, examinaria primeiro as portas altas, apenas para capturar pessoas que confiam nesse método para segurança. As pessoas que confiam na segurança através da obscuridade provavelmente têm um entendimento ruim da segurança e têm mais chances de esquecer de usar outros métodos de segurança. Portanto, esses serviços podem ser mais vulneráveis e mais fáceis de quebrar.
Alguns scanners exploram essa crença e começam no topo e avançam na lista. Outras verificações escolherão portas aleatórias em todo o intervalo, para que todas as portas tenham a mesma chance de serem verificadas.
Vá em frente e teste você mesmo usando o NMAP . Execute uma varredura nmap nas portas 1-10.000 e procure um servidor HTTP e compare-a com uma varredura que varre todas as 1-65 portas xxx. Você verá que a diferença geralmente é de 3 a 10 minutos. Se eu fizer uma varredura detalhada usando algo como o Nessus, a diferença será de 20 a 60 minutos.
Um bom cracker é um cracker paciente. Eles vão esperar.
fonte
O uso de números de porta ímpares não é absolutamente seguro, a menos que você esteja apostando no fato de permitir que você execute seu aplicativo como um usuário não root.
Esse tipo de coisa pode ser considerada segurança pela obscuridade, mas na verdade não é segurança.
fonte
Você também pode usar um túnel ssh se estiver usando o Linux nas duas extremidades:
ssh -f -N -L 9090:localhost:9090 user@remote-host
Por exemplo, é isso que eu uso para encaminhar a porta 9090 no host remoto para minha porta local 9090
cherokee-admin
e uso configurações semelhantes para outras GUIs da web. Você pode proteger aplicativos dessa maneira, especificando na configuração do aplicativo que eles são executados apenas no host local, ou seja, ativado127.0.0.1
. Dessa forma, eles não podem ser acessados de fora, mas você pode enviá-los comssh
. Verifique seman ssh
há mais opções usando o encaminhamento de porta (incluindo o X, que pode resolver seu problema de outra maneira).Essa pode ser uma maneira adequada de atingir seu objetivo sem instalar / configurar software adicional, dependendo da sua configuração.
fonte
Se o seu firewall permitir, você poderá fazer a autenticação acontecer no nível do firewall primeiro, se a complexidade das suas senhas for boa o suficiente, isso deve reforçar a segurança dos serviços expostos. você também pode usar o encapsulamento SSL usando, por exemplo, stunnel e autenticação mútua.
Considerando que o uso de número de portas mais alto é mais seguro, de certa forma, talvez em referência a bots verificando seu IP e tentando algumas explorações, mas se alguém realmente deseja invadir, usar números de portas mais altos não fornecerá uma segurança maior.
fonte