diff --git a/relatorio/relatorio.pdf b/relatorio/relatorio.pdf index 93029ae..094a3fb 100644 Binary files a/relatorio/relatorio.pdf and b/relatorio/relatorio.pdf differ diff --git a/relatorio/relatorio.synctex.gz b/relatorio/relatorio.synctex.gz new file mode 100644 index 0000000..0b4a000 Binary files /dev/null and b/relatorio/relatorio.synctex.gz differ diff --git a/relatorio/relatorio.tex b/relatorio/relatorio.tex index 7722995..a821742 100644 --- a/relatorio/relatorio.tex +++ b/relatorio/relatorio.tex @@ -380,10 +380,10 @@ Verificamos que, como é suposto: sem OCSP não é possivel autenticar; com OCSP podemos autenticar; e com OCSP mas com certificado revogado, a autenticação falha. \section{Servidor Apache e OCSP} - +Para a configuração da ultima maquina, temos o OpenSSL e Apache no mesmo servidor, por isso temos de configurar +as pastas necessarias, os utilizadores do serviço, configurar os edereços e uma route: \begin{codeblock}{VM\_OPENSSL\_APACHE.sh} #!/bin/bash - # configuracao source VM_CONFIG.sh @@ -424,12 +424,10 @@ cp conf/ssl.conf /etc/httpd/conf.d/ssl.conf cp conf/httpd.conf /etc/httpd/conf/httpd.conf cp conf/httpd-totp /etc/pam.d/httpd-totp -# sim, e preciso fazer isto para carregar servicos echo "LoadModule session_module modules/mod_session.so" > /etc/httpd/conf.modules.d/01-session.conf echo "LoadModule session_cookie_module modules/mod_session_cookie.so" >> /etc/httpd/conf.modules.d/01-session.conf echo "LoadModule auth_form_module modules/mod_auth_form.so" > /etc/httpd/conf.modules.d/01-auth_form.conf -# mega paginas webs cp -r www/* /var/www/html/ chown -R apache:apache /var/www/html/ @@ -438,21 +436,108 @@ httpd -X \subsection{Configuração da Máquina} -asd +Como já referimos a Máquina tem ambos o serviço OpenSSL e Apache, por isso vai precisar de dois .conf files para +configurar-los. O httpd.conf tem as portas e modulos enquanto o ssl.conf tem a configuração da autenticação mútua, e o OCSP: +\begin{codeblock}{httpd.conf} +ServerRoot "/etc/httpd" +Include conf.modules.d/*.conf +LoadModule authnz_pam_module modules/mod_authnz_pam.so +LoadModule mpm_event_module modules/mod_mpm_event.so + +User apache +Group apache + +Listen 80 +Listen 443 + +Include conf.d/*.conf + +DocumentRoot "/var/www/html" + + Options Indexes FollowSymLinks + AllowOverride None + Require all granted + +\end{codeblock} + +\begin{codeblock}{ssl.conf} + + ServerName 10.60.0.1 + DocumentRoot /var/www/html + + SSLEngine on + SSLCertificateFile /etc/httpd/ssl/apache.crt + SSLCertificateKeyFile /etc/httpd/ssl/apache.key + SSLCACertificateFile /etc/httpd/ssl/ca.crt + + # mutual authentication + SSLVerifyClient require + SSLVerifyDepth 1 + + # ocsp validation + SSLOCSPEnable on + SSLOCSPDefaultResponder "http://10.60.0.1:8888" + SSLOCSPOverrideResponder on + SSLOCSPUseRequestNonce off + + # session management + Session On + SessionCookieName session path=/;HttpOnly;Secure + + # proteger + + AuthType Form + AuthName "Coimbra VPN" + AuthFormProvider PAM + AuthPAMService httpd-totp + AuthFormLoginRequiredLocation "/login.html" + Require valid-user + + + # public login page + + AuthType None + Require all granted + + + # login handler + + SetHandler form-login-handler + AuthType Form + AuthName "Coimbra VPN" + AuthFormProvider PAM + AuthPAMService httpd-totp + Require all granted + AuthFormLoginSuccessLocation "/index.html" + AuthFormLoginRequiredLocation "/login.html?error=1" + + + # logout handler + + SetHandler form-logout-handler + AuthFormLogoutLocation "/login.html?loggedout=1" + + + + +# redirect para https + + ServerName 10.60.0.1 + Redirect permanent / https://10.60.0.1/ + +\end{codeblock} \subsection{Configuração do Serviço Apache} O servidor interno (\texttt{10.60.0.1}) alberga o serviço Apache e o responder OCSP da autoridade de certificação. \subsubsection{Testes} - -1. verificar que é necessário o dominio, - -1. verificar que é necessário o https, - -1. verificar que é necessário o certificado, - +\begin{itemize} + \item \textbf{Domínio:} Verificou-se que o acesso só é permitido utilizando o endereço correto, pois se for inserido outro dominio, não é direcionado para o site do Apache. + \item \textbf{Redirecionamento HTTPS:} Ao testar quando colocamos http, e o dominio certo, era redirecionado para https. + \item \textbf{Autenticação com o Certificado:} O acesso foi negado ao apresentar certificados inválidos ou ausentes no browser, devolvendo um erro com sobre não conseguir establecer connexão porque falta de certificado. +\end{itemize} \subsection{Configuração do Serviço OpenSSL} @@ -471,7 +556,7 @@ openssl ca -revoke user.crt -config cheese.cfg -keyfile ca.key -cert ca.crt Podemos validar que o OCSP 1. verificar que recebe os certificados e responde - +%Preciso de ver isso 1. verificar que revocation funciona