Merge pull request #146 from roock/ciscoasa98 master github/master
authorSebastian <sebix@sebix.at>
Mon, 27 Sep 2021 06:22:41 +0000 (08:22 +0200)
committerGitHub <noreply@github.com>
Mon, 27 Sep 2021 06:22:41 +0000 (08:22 +0200)
Update Configuration for Cisco ASA

README.md
src/configuration/Webservers/nginx/default
src/configuration/Webservers/nginx/default-ec
src/configuration/Webservers/nginx/default-hsts
src/practical_settings/mailserver.tex

index 6863712..59a670e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,3 +1,6 @@
+# WARNING: This document has some outdated content and should be used with care.
+## There may be a new version of this document in the future. However at the moment the recommendations in this document do not in all cases reflect up to date crypto configuration examples and do include some recommendations that can weaken security.
+
 First off: you are welcome to help us! Every reviewer, committer and person interested in discussing our document and changes is a valuable addition to the project. Everybody is invited to work on this document and share their experience and expertise with us or ask questions if something isn't clear to them. Please read [CONTRIBUTING](CONTRIBUTING.md) document for more information.
 
 # HOW TO USE THIS
index c48740d..42824dd 100644 (file)
@@ -113,7 +113,7 @@ server {
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # not possible to do exclusive
        ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA';
-       add_header Strict-Transport-Security max-age=15768000; # six months
+       add_header Strict-Transport-Security "max-age=15768000"; # six months
        # use this only if all subdomains support HTTPS!
        # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains";
 
index a9c6d19..5d322eb 100644 (file)
@@ -113,7 +113,7 @@ server {
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # not possible to do exclusive
        ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA';
-       add_header Strict-Transport-Security max-age=15768000; # six months
+       add_header Strict-Transport-Security "max-age=15768000"; # six months
        # use this only if all subdomains support HTTPS!
        # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains";
        ssl_ecdh_curve secp384r1;
index 3ab4b61..36a5896 100644 (file)
@@ -63,7 +63,7 @@ server {
        ssl_prefer_server_ciphers on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # not possible to do exclusive
        ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA';
-       add_header Strict-Transport-Security max-age=15768000; # six months
+       add_header Strict-Transport-Security "max-age=15768000"; # six months
        # use this only if all subdomains support HTTPS!
        # add_header Strict-Transport-Security "max-age=15768000; includeSubDomains";
 
index d345518..9732ef1 100644 (file)
@@ -50,7 +50,7 @@ We recommend to use the following settings for Mail Transfer Agents:
   \item do not use self signed certificates
   \item accept all cipher suites, as the alternative would be to fall back to
     cleartext transmission
-  \item an execption to the last sentence is that MTAs \textit{MUST NOT} 
+  \item an exception to the last sentence is that MTAs \textit{MUST NOT}
     enable SSLv2 protocol support, due to the DROWN attack\footnote{\url{https://drownattack.com/drown-attack-paper.pdf}}.
 \end{itemize*}
 
@@ -89,7 +89,7 @@ For MDA operation we recommend:
 \end{itemize*}
 
 \subsubsection{Settings}
-% Example: http://dovecot.org/list/dovecot/2013-October/092999.html
+% Example: https://dovecot.org/list/dovecot/2013-October/092999.html
 
 \configfile{10-ssl.conf}{48-64}{Dovecot SSL configuration}
 
@@ -99,12 +99,12 @@ ssl\_prefer\_server\_ciphers
 
 \subsubsection{Limitations}
 \begin{itemize}
-       \item Dovecot <2.2.14 does not support disabling TLS compression.\\ 
-               {\(\geq\)2.2.14}\footnote{\url{http://www.dovecot.org/doc/NEWS-2.2}} 
+       \item Dovecot <2.2.14 does not support disabling TLS compression.\\
+               {\(\geq\)2.2.14}\footnote{\url{https://www.dovecot.org/doc/NEWS-2.2}}
                use: \texttt{ssl\_options = no\_compression}
        \item Dovecot <2.2.7 uses fixed DH parameters.\\
-               {\(\geq\)2.2.7}\footnote{\url{http://hg.dovecot.org/dovecot-2.2/rev/43ab5abeb8f0}} 
-               greater DH-Parameters are supported: \texttt{ssl\_dh\_parameters\_length = 2048}. 
+               {\(\geq\)2.2.7}\footnote{\url{https://hg.dovecot.org/dovecot-2.2/rev/43ab5abeb8f0}}
+               greater DH-Parameters are supported: \texttt{ssl\_dh\_parameters\_length = 2048}.
 \end{itemize}
 
 %\subsubsection{Justification for special settings (if needed)}
@@ -113,7 +113,7 @@ ssl\_prefer\_server\_ciphers
 
 \subsubsection{References}
 \begin{itemize*}
-  \item \url{http://wiki2.dovecot.org/SSL}
+  \item \url{https://wiki2.dovecot.org/SSL}
 \end{itemize*}
 
 % add any further references or best practice documents here
@@ -224,7 +224,7 @@ ciphersuite is modified.
 
 %% First, you need to generate Diffie Hellman parameters (please first take a look at the section \ref{section:RNGs}):
 
-%% \todo{FIXME: this is a really weak setting! See also: http://postfix.1071664.n5.nabble.com/postfix-hardening-what-can-we-do-td61874.html}
+%% \todo{FIXME: this is a really weak setting! See also: https://postfix.1071664.n5.nabble.com/postfix-hardening-what-can-we-do-td61874.html}
 %% \begin{lstlisting}
 %%   % openssl gendh -out /etc/postfix/dh_param_512.pem -2 512
 %%   % openssl gendh -out /etc/postfix/dh_param_1024.pem -2 1024
@@ -316,7 +316,7 @@ openssl s_client -starttls smtp -crlf -connect SERVER.TLD:25
 
 
 It is highly recommended to read
-\url{http://exim.org/exim-html-current/doc/html/spec_html/ch-encrypted_smtp_connections_using_tlsssl.html}
+\url{https://exim.org/exim-html-current/doc/html/spec_html/ch-encrypted_smtp_connections_using_tlsssl.html}
 first.
 
 \paragraph{MSA mode (submission):}
@@ -428,7 +428,7 @@ Note that most of the options accept expansion strings. This way you can e.g. se
 \paragraph{Limitations:}
 Exim currently (4.82) does not support elliptic curves with OpenSSL. This means that ECDHE is not used even if defined in your cipher list.
 There already is a working patch to provide support:
-\url{http://bugs.exim.org/show_bug.cgi?id=1397}
+\url{https://bugs.exim.org/show_bug.cgi?id=1397}
 
 \subsubsection{How to test}
 \begin{lstlisting}
@@ -464,7 +464,7 @@ sslconfig settings:
   Inbound SMTP ciphers: RC4-SHA:RC4-MD5:ALL
   Outbound SMTP method:  sslv3tlsv1
   Outbound SMTP ciphers: RC4-SHA:RC4-MD5:ALL
-       
+
 Choose the operation you want to perform:
 - GUI - Edit GUI HTTPS ssl settings.
 - INBOUND - Edit Inbound SMTP ssl settings.
@@ -505,7 +505,7 @@ After committing these changes in the CLI, you have to activate the use of TLS i
 
 For inbound connections, first select the appropriate certificate in the settings of each listener you want to have TLS enabled on (Network -> Listeners, see figure \ref{fig:ach_ironport_listener_cert} on page \pageref{fig:ach_ironport_listener_cert}). Afterwards, for each listener, configure all Mail Flow Policies which have their Connection Behavior set to ``Accept'' or ``Relay'' to at least prefer TLS (Mail Policies -> Mail Flow Policies, see figure \ref{fig:ach_ironport_mail_flow_tls} on page \pageref{fig:ach_ironport_mail_flow_tls}). \\
 It is recommended to also enable TLS in the default Mail Flow Policy, because these settings will be inherited by newly created policies, unless specifically overwritten. \\
-TLS can be enforced by creating a new Mail Flow Policy with TLS set to ``required'', creating a new Sender Group defining the addresses of the sending mail servers for which you want to enforce encryption (Mail Policies -> HAT Overview) and using this new Sender Group in conjunction with the newly created Mail Flow Policy. 
+TLS can be enforced by creating a new Mail Flow Policy with TLS set to ``required'', creating a new Sender Group defining the addresses of the sending mail servers for which you want to enforce encryption (Mail Policies -> HAT Overview) and using this new Sender Group in conjunction with the newly created Mail Flow Policy.
 
 \begin{figure}[p]
   \centering
@@ -521,7 +521,7 @@ TLS can be enforced by creating a new Mail Flow Policy with TLS set to ``require
   \label{fig:ach_ironport_mail_flow_tls}
 \end{figure}
 
-TLS settings for outbound connections have to be configured within the Destination Controls (Mail Policies -> Destination Controls). Choose the appropriate SSL certificate within the global settings and configure TLS to be preferred in the default profile to enable it for all outbound connections. After these two steps the Destination Control overview page should look like figure \ref{fig:ach_ironport_dest_control} on page \pageref{fig:ach_ironport_dest_control}. 
+TLS settings for outbound connections have to be configured within the Destination Controls (Mail Policies -> Destination Controls). Choose the appropriate SSL certificate within the global settings and configure TLS to be preferred in the default profile to enable it for all outbound connections. After these two steps the Destination Control overview page should look like figure \ref{fig:ach_ironport_dest_control} on page \pageref{fig:ach_ironport_dest_control}.
 To enforce TLS for a specific destination domain, add an entry to the Destination Control Table and set ``TLS Support'' to ``required''.
 
 \begin{figure}[p]
@@ -532,7 +532,7 @@ To enforce TLS for a specific destination domain, add an entry to the Destinatio
 \end{figure}
 
 \subsubsection{Limitations}
-All AsyncOS releases prior to version 9.5 use OpenSSL 0.9.8. Therefore TLS 1.2 is not supported in these versions and some of the suggested ciphers won't work. Starting with AsyncOS 9.5 TLS 1.2 is fully supported.\footnote{\url{http://www.cisco.com/c/dam/en/us/td/docs/security/esa/esa9-5/ESA_9-5_Release_Notes.pdf}, Changed Behaviour, page 4} You can check the supported ciphers on the CLI by using the option \texttt{verify} from within the \texttt{sslconfig} command:
+All AsyncOS releases prior to version 9.5 use OpenSSL 0.9.8. Therefore TLS 1.2 is not supported in these versions and some of the suggested ciphers won't work. Starting with AsyncOS 9.5 TLS 1.2 is fully supported.\footnote{\url{https://www.cisco.com/c/dam/en/us/td/docs/security/esa/esa9-5/ESA_9-5_Release_Notes.pdf}, Changed Behaviour, page 4} You can check the supported ciphers on the CLI by using the option \texttt{verify} from within the \texttt{sslconfig} command:
 \begin{lstlisting}{foo}
 []> verify