Como tornar a porta Apache 80 segura?

4

Eu tenho um servidor apache em um VPS remoto. Eu tenho apenas a porta 80 e 443 aberta. Atualmente, uso a porta 443 para SSH e 80 para HTTP.

Eu quero fazer a porta 80 para usar HTTPS e não HTTP. Todas as soluções que vi foram redirecionar HTTP para HTTPS assim:

Redirect permanent / https://mywebsite.com/

mas não acho que isso funcione.

    
por Yousf 26.01.2011 / 14:40

4 respostas

6

Não funcionará se você mantiver o ssh na porta 443, mas se você mover isso para outra porta, funcionará.

É claro que você poderia configurar o Apache para usar HTTPS na porta 80, mas isso significaria que seus usuários teriam que especificar explicitamente a porta a ser usada, como link porque normalmente o navegador espera falar http na porta 80 e https na porta 443. Além disso, os usuários podem ter problemas com firewalls que fazem a mesma suposição e bloqueiam https na porta 80.

    
por 26.01.2011 / 14:48
3

Se você definir HTTPS na porta 80, isso quebrará a maioria dos navegadores da web. HTTPS deve estar em 443. Se alguém for para " HTTPS://example.com "; não funcionaria; Da mesma forma, se eles foram para " HTTP://example.com " não funcionaria também. Somente se eles fossem para " HTTPS://example.com:80 " funcionaria. Portanto, pode ser por opção de projeto que essa configuração seja rejeitada.

    
por 26.01.2011 / 14:47
1

Altere sua porta SSH para outra coisa. Honestamente, mantenho o meu como padrão 22 - não encontro razão para mudar isso, embora muitas pessoas recomendem mudá-lo. Isso dificulta [er] descobrir a porta SSH se você alterá-la, mas não é impossível.

Além disso, você precisa servir o Apache em 80 (http) e o Apache SSL em 443 (HTTPS). Se você quiser forçar o redirecionamento de HTTP - > HTTPS configurando um redirecionamento no lado do Apache, no entanto, se você não está tentando forçar o http- > https, você só precisa ter certeza de que o SSL está configurado e habilitado no Apache (não é necessário redirecionar se você não estiver forçando http - > https).

Portas padrão:

22 -> SSH
80 -> HTTP
443 -> HTTPS

Recomendação:
Nunca defina um serviço para usar uma porta bem conhecida de outro serviço.

    
por 26.01.2011 / 15:55
1

Basta configurar um host virtual para manipular todas as solicitações recebidas da porta 80. Assim:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile      /etc/apache2/pathtocert/Cert
    SSLCertificateKeyFile   /etc/apache2/pathtoprivateKey/Privk

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Embora isso rompa as solicitações HTTP recebidas, ele serve ao seu propósito de tornar a porta 80 segura (fazendo com que qualquer um que tenha tendência de acessá-la esteja inseguro e incapaz de fazê-lo).

Observação: o método de redirecionamento ainda exporá seus usuários ao ataque MITM.

    
por 15.11.2017 / 16:39