HTTP-6710 - SSL configuration in nginx

This information is provided as part of the Lynis community project. It is related to Lynis control HTTP-6710 and should be considered as-is and without guarantees. Any advice and commands should be tested before implementing them in production environments.

Control details
CategoryWeb
Application

Description

To protect the privacy of users, including sniffing of sensitive data on networks, enable SSL/TLS in nginx.

How to solve

Enabling TLS in nginx allows it to encrypt the connection between the server and user. Commonly this is referred to as using a SSL certificate. It is good to know that older SSL protocols (SSL v2 and SSL v3) are considered to be weak and should be avoided. The nginx configuration will still use the related "ssl" option, but that is independent of the actual protocols which are used. For new deployments consider only to use TLS v1.2.

  1. Enable SSL on the listen statement of an entry, or with "ssl on;"
  2. Define the certificate
  3. Define the allowed ciphers
  4. Define the allowed protocols (SSL / TLS)
  5. Apply additional measures like SSL stapling

Lynis Enterprise can help you detect more configuration items and store them centrally.

Additional resources

Need more details?

Consider the upgrade to Lynis Enterprise to receive additional details and guidance. The Enterprise version helps to you with daily health checks of your environment, learn in-depth system hardening, and resources to protect your systems better.

See demo

About

Lynis is a technical security auditing tool for Unix flavors like Linux, macOS, AIX, Solaris, and *BSD. It is open source software and free to use. Typical usage include system hardening, compliance testing, and vulnerability scanning. The project has an active community, including development via GitHub.

Lynis Enterprise

Do you need to collect data from multiple systems or compliance reporting? Lynis Enterprise uses Lynis to collect the data and make your work easier.

Benefits: automate security audits, detailed reporting, compliance testing.

  • Centralized management
  • Improvement plan with priorities
  • Reporting
  • Dashboards
  • Predefined policies
  • Integration (API)
  • Improvement snippets for tools like Ansible, Chef, Cfengine, Puppet, and SaltStack
Take the Tour