Eu tenho que construir um pequeno webapp para uma empresa manter seus dados de negócios ... Somente aqueles dentro da empresa irão usá-lo, mas estamos planejando hospedá-lo em domínio público, para que os funcionários possam se conectar ao aplicativo de vários locais . (Até agora, desenvolvi aplicativos da web que são hospedados apenas internamente)
Estou pensando se preciso usar uma conexão segura (https) ou apenas a autenticação de formulários é suficiente.
Se você disser https, tenho algumas perguntas:
- O que devo fazer para preparar meu site para https. (Preciso alterar o código / configuração)
- SSL e https são a mesma coisa ...
- Preciso me inscrever com alguém para obter uma licença ou algo assim.
- Preciso tornar todas as minhas páginas seguras ou apenas a página de login ...
Eu estava procurando uma resposta na Internet, mas não consegui obter todos esses pontos ... Qualquer white paper ou outras referências também seriam úteis ...
Sinta-se à vontade para perguntar se precisar de mais informações.
obrigado
- Rajá
asp.net
ssl
https
asp.net-2.0
O rei
fonte
fonte
Respostas:
Você deve manter as melhores práticas para codificação segura em mente (aqui está uma boa introdução: http://www.owasp.org/index.php/Secure_Coding_Principles ), caso contrário, tudo que você precisa é um certificado SSL configurado corretamente.
Praticamente, sim.
Você pode comprar um certificado SSL de uma autoridade de certificação ou usar um certificado autoassinado. Os que você pode comprar variam muito de preço - de $ 10 a centenas de dólares por ano. Você precisaria de um desses se abrir uma loja online, por exemplo. Os certificados autoassinados são uma opção viável para um aplicativo interno. Você também pode usar um para desenvolvimento. Este é um bom tutorial sobre como configurar um certificado autoassinado para IIS: Habilitando SSL no IIS 7.0 usando certificados autoassinados
Use HTTPS para tudo, não apenas para o login inicial do usuário. Não vai ser uma sobrecarga e significará que os dados que os usuários enviam / recebem de seu aplicativo hospedado remotamente não podem ser lidos por terceiros se forem interceptados. Até o Gmail agora ativa o HTTPS por padrão.
fonte
Que tipo de dados de negócios ? Segredos comerciais ou apenas coisas que eles não querem que as pessoas vejam, mas se vazassem, não seria um grande problema? Se estivermos falando de segredos comerciais, informações financeiras, informações de clientes e coisas que geralmente são confidenciais. Então, nem mesmo vá por esse caminho.
Use uma conexão segura o tempo todo.
Sim. Bem, pode não ser. Você pode querer que um especialista faça isso por você.
Principalmente sim. As pessoas geralmente se referem a essas coisas como a mesma coisa.
Você provavelmente deseja que seu certificado seja assinado por uma autoridade de certificação. Isso vai custar a você ou ao seu cliente um pouco de dinheiro.
Use https. O desempenho geralmente não é um problema se o site se destina a usuários internos.
Comece aqui para obter algumas dicas: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
Observe que SSL é uma peça minúscula para tornar seu site seguro, uma vez que ele pode ser acessado pela Internet. Isso não impede muitos tipos de hacking.
fonte
Acho que você está se confundindo com a autenticação do seu site e SSL.
Se você precisa colocar seu site em SSL, então você precisa instalar um certificado SSL em seu servidor web. Você pode comprar um certificado para você em um dos lugares como Symantec etc. O certificado conteria seu par de chave pública / privada, junto com outras coisas.
Você não precisará fazer nada em seu código-fonte e ainda poderá continuar a usar seu formulário de autorização (ou qualquer outro) em seu site. É apenas isso, qualquer comunicação de dados que ocorre entre o servidor web e o cliente será criptografada e assinada usando seu certificado. As pessoas usariam secure-HTTP (https: //) para acessar seu site.
Veja isto para mais informações -> http://en.wikipedia.org/wiki/Transport_Layer_Security
fonte
Para dados de negócios, se os dados forem privados, eu usaria uma conexão segura, caso contrário, uma autenticação de formulários é suficiente.
Se você decidir usar uma conexão segura, observe que não tenho experiência com sites de segurança, estou apenas retratando o que encontrei durante minha própria experiência pessoal. Se eu estiver errado de alguma forma, sinta-se à vontade para me corrigir.
Para habilitar SSL (Secure Sockets Layer) para o seu site, você precisa configurar um certificado, código ou configuração que não seja alterado.
Habilitei o SSL para um servidor web interno, usando OpenSSL e ActivePerl a partir deste tutorial online . Se for usado para um público maior (meu público era de menos de 10 pessoas) e for de domínio público, sugiro buscar alternativas profissionais.
Não exatamente, mas eles andam de mãos dadas! O SSL garante que os dados sejam criptografados e descriptografados enquanto você visualiza o site,
https
é o URI necessário para acessar o site seguro. Você perceberá que, ao tentar acessá-http://secure.mydomain.com
lo, será exibida uma mensagem de erro.Você não precisaria obter uma licença, mas sim um certificado. Você pode pesquisar empresas que oferecem serviços profissionais com sites de segurança, como a VeriSign, por exemplo.
Assim que seu certificado for habilitado,
mydomain.com
todas as páginas incluídas*.mydomain.com
serão protegidas.fonte
4. Preciso tornar todas as minhas páginas seguras ou apenas a página de login ...
Basta manter a página de login em https
isso garantirá que não haja sobrecarga ao navegar em outras páginas. a condição é que você precise fornecer as configurações de autenticação corretas na configuração da web. Isso é para garantir que os usuários que não estejam logados não consigam navegar nas páginas que precisam de autenticação.
fonte
@balalakshmi mencionou sobre as configurações de autenticação corretas. A autenticação é apenas metade do problema, a outra metade é a autorização.
Se você estiver usando autenticação de formulários e controles padrão, por exemplo,
<asp:Login>
há algumas coisas que você precisa fazer para garantir que apenas seus usuários autenticados possam acessar páginas seguras.Em
web.config
, na<system.web>
seção, você precisará desativar o acesso anônimo por padrão:Todas as páginas que serão acessadas anonimamente (como a própria página Login.aspx) precisarão ter uma substituição que permite novamente o acesso anônimo. Isso requer um
<location>
elemento e deve estar localizado no<configuration>
nível ( fora da<system.web>
seção), como este:Observe que você também precisará permitir o acesso anônimo a quaisquer folhas de estilo ou scripts usados pelas páginas anônimas:
Esteja ciente de que o
path
atributo do local é relativo àweb.config
pasta e não pode ter um~/
prefixo, ao contrário da maioria dos outros atributos de configuração do tipo de caminho.fonte
Tente fazer um diretório de inicialização em PHP, como em
É principalmente isso!
fonte