I am such a chub. *splaps big fat belly.*
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -65,9 +65,8 @@ Todas as chaves foram criadas no mesmo computador, com as variáveis que estão
|
||||
neste código. Aspetos importantes para mais tarde serão os parâmetros de Comon Name (CN)
|
||||
pois servem para a validação do certificado ambos pelo OpenSSL e pelo browser.
|
||||
|
||||
Nós optamos por assumir que num cenario real, teriamos acesso fisico ás maquinas, por isso em vez
|
||||
de utilizar, por exemplo SCP ou FTP, escolhemos partilhar os ficheiros a partir da maquina host. No entanto outra abordagem também estaria correta.
|
||||
%John LIMBUS HIMSELF
|
||||
Nós optamos por assumir que num cenário real, teríamos acesso físico às máquinas, por isso em vez
|
||||
de utilizar, por exemplo SCP ou FTP, escolhemos partilhar os ficheiros a partir da máquina host. No entanto, outra abordagem também estaria correta.
|
||||
|
||||
\begin{codeblock}[bash]{create\_all\_keys.sh}
|
||||
cert_ca="/C=PT/ST=Coimbra/L=Coimbra/O=UC/CN=CoimbraVPN"
|
||||
@@ -549,23 +548,25 @@ openssl ca -revoke user.crt -config cheese.cfg -keyfile ca.key -cert ca.crt
|
||||
|
||||
\section{Teste Integrado}
|
||||
|
||||
%What we already do everything right?????
|
||||
Para validar a solução completa, efetuámos um teste fim-a-fim englobando todos os requisitos:
|
||||
\begin{enumerate}
|
||||
\item Na máquina \textit{Road Warrior}, iniciámos a ligação OpenVPN fornecendo o certificado de cliente e, como password, a concatenação da password do utilizador com o código TOTP gerado pelo \textit{Google Authenticator}.
|
||||
\item O \textit{Gateway} OpenVPN verificou o certificado cliente contra o servidor OCSP e validou o TOTP, permitindo o estabelecimento do túnel.
|
||||
\item Através do túnel VPN, acedemos ao endereço \texttt{https://10.60.0.1} no browser.
|
||||
\item O servidor Apache solicitou o certificado X.509 do utilizador e validou a sua autenticidade e estado de revogação no OCSP.
|
||||
\item Finalmente, o Apache apresentou a página de login para o segundo fator, onde inserimos as credenciais e o código TOTP, concedendo acesso à página interna protegida.
|
||||
\end{enumerate}
|
||||
Este teste confirmou que a comunicação está segura, com dupla verificação de identidade e validação contínua da integridade dos certificados.
|
||||
|
||||
\section{Conclusão}
|
||||
|
||||
% Conclusão!!!!
|
||||
Atingimos o objetivo deste trabalho: conseguimos configurar o túnel VPN,
|
||||
o \textit{two-factor authentication} em múltiplos serviços, e conseguimos gerir o ciclo de vida dos
|
||||
certificados emitidos através de uma CA própria e OCSP. Utilizar mais máquinas para simular um cenário
|
||||
maior seria redundante e apenas exigiria a emissão de mais certificados, não acrescentando muito ao nível de aprendizagem.
|
||||
|
||||
Atingimos o objetivo deste trabalho, conseguimos configurar o VPN tunnel,
|
||||
o two-factor authentication e conseguimos criar e retirar acesso aos
|
||||
certificados que emitimos. Utilizar mais maquinas para simular um cenario
|
||||
maior seria redundante, teriamos que emitir mais certificados mas não iamos
|
||||
aprender muito mais. Se fossemos aplicar o que fizemos no trabalho anterior
|
||||
podiamos dar DROP aos pacotes que não nos interessa nesta cenario,
|
||||
e implementar suricata para identificar possiveis ataques nos serviços.
|
||||
|
||||
%È estranho que para uma cadeira de cybersegurança nós implementamos
|
||||
%pouca you know segurança.
|
||||
|
||||
% Para aprofundar (???) yeah
|
||||
Aplicando conhecimentos de trabalhos anteriores,
|
||||
poderíamos aplicar políticas mais restritas nas \textit{iptables} (ex: regras de DROP aos pacotes indesejados),
|
||||
e implementar ferramentas como o Suricata para identificar possíveis anomalias e ataques aos serviços.
|
||||
|
||||
\end{document}
|
||||
|
||||
Reference in New Issue
Block a user