O que você está procurando fazer é chamado autenticação ssl de duas formas
Como implementar isso vai variar com base no seu servidor web.
Atualmente, estou trabalhando na implantação de um site para que a equipe possa usá-lo remotamente e gostaria de ter certeza de que é seguro.
Eu estava pensando que seria possível configurar algum tipo de autenticação de certificado onde eu iria gerar um certificado e instalá-lo em seu laptop para que eles pudessem acessar o site?
Eu realmente não quero que eles gerem os certificados, pois isso pode facilmente dar errado.
Quão fácil / possível é isso e como vou fazer isso?
O que você está procurando fazer é chamado autenticação ssl de duas formas
Como implementar isso vai variar com base no seu servidor web.
Confira o CAcert , "Uma autoridade de certificação conduzida pela comunidade que emite certificados para o público em geral gratuitamente.
tinyca2 é um bom front-end gráfico para gerar certificados. É empacotado para as distribuições Debian e Ubuntu Linux. Você poderá gerar as chaves e certificados para o servidor e clientes. Eles podem ser exportados em vários formatos. Eu recomendaria documentar os procedimentos para instalar seu certificado de certificado, bem como a chave e o certificado do cliente. Definir ou alterar a senha na chave do cliente por seus usuários também deve ser coberto.
Eu segundo usando mod-rewrite para forçar o acesso a https: //.
Este Artigo trata da criação de certificados para Microsoft Exchange, mas o processo é semelhante para qualquer site do IIS. Espero que ajude!
Uau, se você estiver usando o apache, você pode usar o mod_rewrite para forçar o uso do SSL e no seu httpd.conf você também precisa usar as diretivas 'SSLVerifyClient require' e 'SSLVerifyDepth 4' no seu host virtual *: 443 .
Para a regra de regravação, você pode usar algo assim:
RewriteCond %{HTTPS} !^on$ [NC]
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
Espero que isso ajude.
A segurança é uma questão maior do que os mecanismos de autenticação ou autorização em uso.
A maioria das pessoas de segurança aproveita alguns princípios básicos em geral:
Em seguida, aplique-o aos ativos, no seu caso, um servidor da Web, um sistema operacional e, potencialmente, um aplicativo da Web e um banco de dados subjacente - na verdade, o negócio!
Para a infraestrutura de tecnologia acima, eu perguntaria se você aplicou um endurecimento de segurança adequado a cada um deles, por exemplo, STIGs DISA, SRGs da NSA, orientação da CIS ou práticas de segurança do fornecedor. Depois, eu examinaria o código dos aplicativos da Web e outras coisas.
Como chegar a sua pergunta específica sobre certificados - o que é um certificado digital? É uma chave pública, incorporada em um certificado digital, com alguns campos, tipicamente x509v3. Um certificado digital é efetivamente um criptografador, que usa um decodificador (chave privada) para autenticar, assinar ou executar algum outro tipo de transação.
Certificados geralmente não têm confidencialidade, chaves privadas têm confidencialidade e requerem proteção. No entanto, o uso de chaves privadas em um sistema operacional pode significar que elas estão expostas e comprometidas. Um pedaço de malware pode ser o suficiente para entrar. Consequentemente, ambientes de segurança mais altos, como empresas e governos, geralmente usam um dispositivo de hardware para armazenar chaves privadas e permitir um processo de autenticação mais seguro.
Se você não estiver fazendo isso para um ambiente mais seguro, os certificados de software podem ser bons o suficiente para você.
Dependendo do sistema operacional que você está usando, você pode ter um caminho muito simples usando esquemas de registro automático baseados em certificado, como o SCEP ou os serviços de certificados da Microsoft.
A implementação da Microsoft é fácil de seguir no link e você pode encontrar outras soluções concorrentes para facilitar PKIs de inscrição automática.
Você pode compartilhar algumas das suas necessidades com links acima com os administradores de rede e pedir que eles comecem a testá-lo.