Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Master #61

Open
wants to merge 21 commits into
base: optimize_chacha_poly
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

on:
pull_request: {}
workflow_dispatch: {}
push:
branches:
- main
- master
name: Semgrep config
jobs:
semgrep:
name: semgrep/ci
runs-on: ubuntu-20.04
env:
SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
SEMGREP_URL: https://cloudflare.semgrep.dev
SEMGREP_APP_URL: https://cloudflare.semgrep.dev
SEMGREP_VERSION_CHECK_URL: https://cloudflare.semgrep.dev/api/check-version
container:
image: returntocorp/semgrep
steps:
- uses: actions/checkout@v3
- run: semgrep ci
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
sslconfig
=========

CloudFlare's Internet facing SSL cipher configuration
Cloudflare's Internet facing SSL cipher configuration

This repository tracks the history of the SSL cipher configuration used for
CloudFlare's public-facing SSL web servers. The repository tracks an internal
CloudFlare repository, but dates may not exactly match when changes are made.
Cloudflare's public-facing SSL web servers. The repository tracks an internal
Cloudflare repository, but dates may not exactly match when changes are made.

There is a single file called conf which contains the configuration used in
CloudFlare's NGINX servers. This is only a fragment of the configuration.

We currently use OpenSSL 1.0.2-stable (+ patches).

Cloudflare's NGINX servers. This is only a fragment of the configuration.

ChaCha20/Poly1305 patch
-----------------------

CloudFlare uses [a patch](patches/openssl__chacha20_poly1305_cf.patch) for
Cloudflare uses [a patch](patches/openssl__chacha20_poly1305_cf.patch) for
OpenSSL that enables the ChaCha20/Poly1305 cipher suites and implements
special logic to ensure it is only taken if it is the client's top cipher
choice. Without this patch, the cipher suite choice in the configuration
Expand Down
5 changes: 3 additions & 2 deletions conf
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ecdh_curve X25519:P-256:P-384:P-521;
ssl_ciphers '[ECDHE-ECDSA-AES128-GCM-SHA256|ECDHE-ECDSA-CHACHA20-POLY1305|ECDHE-RSA-AES128-GCM-SHA256|ECDHE-RSA-CHACHA20-POLY1305]:ECDHE+AES128:RSA+AES128:ECDHE+AES256:RSA+AES256:ECDHE+3DES:RSA+3DES';
ssl_prefer_server_ciphers on;
Loading
Loading