X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=doc%2Fwebserver%2Fuser-manual%2Fconfig.html;h=532657350d8820798c2d798d7931d3fdd5bb1a69;hp=ad8e518e7856b5db52832501452c14c1f4e0c7ae;hb=3f970a064dc22c089ae2e9c78ef7ce8539908bdd;hpb=304265caf6f5074df69e69282e5f33bb8aedade5 diff --git a/doc/webserver/user-manual/config.html b/doc/webserver/user-manual/config.html index ad8e518e..53265735 100644 --- a/doc/webserver/user-manual/config.html +++ b/doc/webserver/user-manual/config.html @@ -4,7 +4,7 @@ The Main Configuration File - + @@ -15,7 +15,7 @@

If clients reach Privoxy through another proxy, for example a load balancer, Privoxy can't tell the client's IP address from the connection. If multiple clients use the same proxy, they will share the same client tag settings which is usually not desired.

@@ -2341,7 +2314,7 @@ change the client tags for other clients or increase Privoxy's memory requirements by registering lots of client tag settings for clients that don't exist.

-
Examples:
+
Example:
@@ -2388,7 +2361,7 @@ memory is (currently) cleared before using it, a buffer that is too large can actually reduce the throughput.

-
Examples:
+
Example:
@@ -2404,7 +2377,12 @@
-

7.7. TLS/SSL

+

7.7. HTTPS Inspection + (Experimental)

+

HTTPS inspection allows to filter encrypted requests and responses. This is only supported when Privoxy has been built with FEATURE_HTTPS_INSPECTION. If you aren't sure if your version + supports it, have a look at http://config.privoxy.org/show-status.

7.7.1. ca-directory

@@ -2429,8 +2407,10 @@

This directive specifies the directory where the CA key, the CA certificate and the trusted CAs file are located.

+

The permissions should only let Privoxy and the Privoxy admin access the directory.

-
Examples:
+
Example:

ca-directory /usr/local/etc/privoxy/CA

@@ -2460,10 +2440,15 @@
Notes:

This directive specifies the name of the CA certificate file in ".crt" format.

-

It can be generated with: openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.crt - -days 3650

+

The file is used by Privoxy to generate website certificates when + https inspection is enabled with the https-inspection action.

+

Privoxy clients should import the certificate so that they can + validate the generated certificates.

+

The file can be generated with: openssl req -new -x509 -extensions v3_ca -keyout + cakey.pem -out cacert.crt -days 3650

-
Examples:
+
Example:

ca-cert-file root.crt

@@ -2492,10 +2477,11 @@
Notes:
-

This directive specifies the name of the CA key file in ".pem" format. See the ca-cert-file for a command to generate it.

+

This directive specifies the name of the CA key file in ".pem" format. The ca-cert-file section contains a command to generate it.

+

Access to the key should be limited to Privoxy.

-
Examples:
+
Example:

ca-key-file cakey.pem

@@ -2528,7 +2514,7 @@ certificates for intercepted requests.

Note that the password is shown on the CGI page so don't reuse an important one.

-
Examples:
+
Example:

ca-password blafasel

@@ -2542,7 +2528,7 @@
Specifies:
-

Directory to safe generated keys and certificates.

+

Directory to save generated keys and certificates.

Type of value:
@@ -2558,9 +2544,32 @@
Notes:
-

This directive specifies the directory where generated TLS/SSL keys and certificates are saved.

+

This directive specifies the directory where generated TLS/SSL keys and certificates are saved when + https inspection is enabled with the https-inspection action.

+

The keys and certificates currently have to be deleted manually when changing the ca-cert-file and the ca-cert-key.

+

The permissions should only let Privoxy and the Privoxy admin access the directory.

+
+
+ + + + + + +
Warning
+

Privoxy currently does not garbage-collect obsolete keys and + certificates and does not keep track of how may keys and certificates exist.

+

Privoxy admins should monitor the size of the directory + and/or make sure there is sufficient space available. A cron job to limit the number of keys and + certificates to a certain number may be worth considering.

+
+
-
Examples:
+
Example:

certificate-directory /usr/local/var/privoxy/certs

@@ -2568,7 +2577,129 @@
-

7.7.6. trusted-cas-file

+

7.7.6. cipher-list

+
+
+
Specifies:
+
+

A list of ciphers to use in TLS handshakes

+
+
Type of value:
+
+

Text

+
+
Default value:
+
+

None

+
+
Effect if unset:
+
+

A default value is inherited from the TLS library.

+
+
Notes:
+
+

This directive allows to specify a non-default list of ciphers to use in TLS handshakes with clients + and servers.

+

Ciphers are separated by colons. Which ciphers are supported depends on the TLS library. When using + OpenSSL, unsupported ciphers are skipped. When using MbedTLS they are rejected.

+
+ + + + + + + +
Warning
+

Specifying an unusual cipher list makes fingerprinting easier. Note that the default list + provided by the TLS library may be unusual when compared to the one used by modern browsers as + well.

+
+
+
+
Examples:
+
+ + + + +
+
    # Explicitly set a couple of ciphers with names used by MbedTLS
+    cipher-list cipher-list TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-DHE-RSA-WITH-CHACHA20-POLY1305-SHA256:\
+TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDHE-ECDSA-WITH-AES-256-CCM:\
+TLS-ECDHE-ECDSA-WITH-AES-256-CCM-8:\
+TLS-ECDHE-ECDSA-WITH-AES-128-CCM:\
+TLS-ECDHE-ECDSA-WITH-AES-128-CCM-8:\
+TLS-ECDHE-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDHE-ECDSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-DHE-RSA-WITH-AES-256-CCM:\
+TLS-DHE-RSA-WITH-AES-256-CCM-8:\
+TLS-DHE-RSA-WITH-AES-128-CCM:\
+TLS-DHE-RSA-WITH-AES-128-CCM-8:\
+TLS-DHE-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-DHE-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDH-RSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDH-RSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDH-RSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDH-RSA-WITH-CAMELLIA-256-GCM-SHA384:\
+TLS-ECDH-ECDSA-WITH-AES-128-GCM-SHA256:\
+TLS-ECDH-ECDSA-WITH-AES-256-GCM-SHA384:\
+TLS-ECDH-ECDSA-WITH-CAMELLIA-128-GCM-SHA256:\
+TLS-ECDH-ECDSA-WITH-CAMELLIA-256-GCM-SHA384
+   
+
+ + + + +
+
    # Explicitly set a couple of ciphers with names used by OpenSSL
+cipher-list ECDHE-RSA-AES256-GCM-SHA384:\
+ECDHE-ECDSA-AES256-GCM-SHA384:\
+DH-DSS-AES256-GCM-SHA384:\
+DHE-DSS-AES256-GCM-SHA384:\
+DH-RSA-AES256-GCM-SHA384:\
+DHE-RSA-AES256-GCM-SHA384:\
+ECDH-RSA-AES256-GCM-SHA384:\
+ECDH-ECDSA-AES256-GCM-SHA384:\
+ECDHE-RSA-AES128-GCM-SHA256:\
+ECDHE-ECDSA-AES128-GCM-SHA256:\
+DH-DSS-AES128-GCM-SHA256:\
+DHE-DSS-AES128-GCM-SHA256:\
+DH-RSA-AES128-GCM-SHA256:\
+DHE-RSA-AES128-GCM-SHA256:\
+ECDH-RSA-AES128-GCM-SHA256:\
+ECDH-ECDSA-AES128-GCM-SHA256:\
+ECDHE-RSA-AES256-GCM-SHA384:\
+AES128-SHA
+   
+
+ + + + +
+
    # Use keywords instead of explicitly naming the ciphers (Does not work with MbedTLS)
+    cipher-list ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
+   
+
+
+
+
+
+
+

7.7.7. trusted-cas-file

Specifies:
@@ -2590,11 +2721,12 @@
Notes:

This directive specifies the trusted CAs file that is used when validating certificates for - intercepted TLS/SSL request.

-

An example file can be downloaded from https://curl.haxx.se/ca/cacert.pem.

+ intercepted TLS/SSL requests.

+

An example file can be downloaded from https://curl.se/ca/cacert.pem. If you want to create the file yourself, please see: https://curl.se/docs/caextract.html.

-
Examples:
+
Example:

trusted-cas-file trusted_cas_file.pem