2019-07-22 08:24:53 +00:00
|
|
|
# Sample configuration for sslproxy v0.7.0
|
2018-11-03 15:23:31 +00:00
|
|
|
#
|
|
|
|
# Use the -f command line option to start sslproxy with a config file.
|
|
|
|
# See sslproxy.conf(5) and sslproxy(1) for documentation.
|
2017-08-24 13:16:45 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use CA cert (and key) to sign forged certs.
|
|
|
|
# Equivalent to -c command line option.
|
2017-08-24 13:16:45 +00:00
|
|
|
CACert /etc/sslproxy/ca.crt
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use CA key (and cert) to sign forged certs.
|
|
|
|
# Equivalent to -k command line option.
|
2017-08-24 13:16:45 +00:00
|
|
|
CAKey /etc/sslproxy/ca.key
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use cert from pemfile when destination requests client certs.
|
|
|
|
# Equivalent to -a command line option.
|
2018-08-04 12:20:50 +00:00
|
|
|
#ClientCert /etc/sslproxy/client.crt
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use key from pemfile when destination requests client certs.
|
|
|
|
# Equivalent to -b command line option.
|
2018-08-04 12:20:50 +00:00
|
|
|
#ClientKey /etc/sslproxy/client.key
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use CA chain from pemfile (intermediate and root CA certs).
|
|
|
|
# Equivalent to -C command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#CAChain /etc/sslproxy/chain.crt
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use key from pemfile for leaf certs.
|
|
|
|
# Equivalent to -K command line option.
|
|
|
|
# (default: generate)
|
2018-05-09 17:05:29 +00:00
|
|
|
#LeafCerts /etc/sslproxy/leaf.key
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use URL as CRL distribution point for all forged certs.
|
|
|
|
# Equivalent to -q command line option.
|
|
|
|
#CRL http://example.com/example.crl
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use cert+chain+key PEM files from certdir to target all sites matching the
|
|
|
|
# common names (non-matching: generate if CA).
|
|
|
|
# Equivalent to -t command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#TargetCertDir /etc/sslproxy/target
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Write leaf key and only generated certificates to gendir.
|
|
|
|
# Equivalent to -w command line option.
|
|
|
|
#WriteGenCertsDir /var/log/sslproxy
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Write leaf key and all certificates to gendir.
|
|
|
|
# Equivalent to -W command line option.
|
|
|
|
#WriteAllCertsDir /var/log/sslproxy
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Deny all OCSP requests on all proxyspecs.
|
|
|
|
# Equivalent to -O command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#DenyOCSP yes
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Passthrough SSL connections if they cannot be split because of client cert
|
|
|
|
# auth or no matching cert and no CA.
|
|
|
|
# Equivalent to -P command line option.
|
|
|
|
# (default: drop)
|
2018-05-09 17:05:29 +00:00
|
|
|
#Passthrough yes
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use DH group params from pemfile.
|
|
|
|
# Equivalent to -g command line option.
|
|
|
|
# (default: keyfiles or auto)
|
2018-05-09 17:05:29 +00:00
|
|
|
#DHGroupParams /etc/sslproxy/dh.pem
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use ECDH named curve.
|
|
|
|
# Equivalent to -G command line option.
|
|
|
|
# (default: prime256v1)
|
2018-05-09 17:05:29 +00:00
|
|
|
#ECDHCurve prime256v1
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Enable/disable SSL/TLS compression on all connections.
|
|
|
|
# Equivalent to -Z command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#SSLCompression no
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Force SSL/TLS protocol version only.
|
|
|
|
# Equivalent to -r command line option.
|
|
|
|
# (default: all)
|
2018-05-09 17:05:29 +00:00
|
|
|
#ForceSSLProto tls12
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Disable SSL/TLS protocol version.
|
|
|
|
# Equivalent to -R command line option.
|
|
|
|
# (default: none)
|
2018-05-09 17:05:29 +00:00
|
|
|
#DisableSSLProto tls10
|
|
|
|
|
2019-07-30 18:29:46 +00:00
|
|
|
# Min SSL/TLS protocol version.
|
|
|
|
# (default: tls10)
|
|
|
|
#MinSSLProto tls10
|
|
|
|
|
|
|
|
# Max SSL/TLS protocol version.
|
|
|
|
# (default: tls12)
|
|
|
|
#MaxSSLProto tls12
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Use the given OpenSSL cipher suite spec.
|
|
|
|
# Equivalent to -s command line option.
|
|
|
|
# (default: ALL:-aNULL)
|
|
|
|
#Ciphers MEDIUM:HIGH
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2019-03-27 00:07:36 +00:00
|
|
|
# Leaf key RSA keysize in bits, use 1024|2048|3072|4096.
|
2019-08-03 20:40:38 +00:00
|
|
|
# (default: 2048)
|
|
|
|
#LeafKeyRSABits 2048
|
2019-03-27 00:07:36 +00:00
|
|
|
|
2018-09-14 23:51:26 +00:00
|
|
|
# OpenSSL engine to activate, either ID or full path to shared library
|
2018-11-03 15:23:31 +00:00
|
|
|
# Equivalent to -x command line option
|
2018-09-14 23:51:26 +00:00
|
|
|
#OpenSSLEngine cloudhsm
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Specify default NAT engine to use.
|
|
|
|
# Equivalent to -e command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#NATEngine netfilter
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Drop privileges to user.
|
|
|
|
# Equivalent to -u command line option.
|
|
|
|
# (default: nobody, if run as root)
|
|
|
|
#User _sslproxy
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Drop privileges to group.
|
|
|
|
# Equivalent to -m command line option.
|
|
|
|
# (default: primary group of user)
|
|
|
|
#Group _sslproxy
|
|
|
|
|
|
|
|
# chroot() to jaildir (impacts sni proxyspecs, see sslproxy(1)).
|
|
|
|
# Equivalent to -j command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#Chroot /var/run/sslproxy
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Write pid to file.
|
|
|
|
# Equivalent to -p command line option.
|
|
|
|
# (default: no pid file)
|
2018-05-09 17:05:29 +00:00
|
|
|
PidFile /var/run/sslproxy.pid
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Connect log: log one line summary per connection to logfile.
|
|
|
|
# Equivalent to -l command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#ConnectLog /var/log/sslproxy/connect.log
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Content log: full data to file or named pipe
|
|
|
|
# (excludes ContentLogDir/ContentLogPathSpec).
|
|
|
|
# Equivalent to -L command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#ContentLog /var/log/sslproxy/content.log
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Content log: full data to separate files in dir
|
|
|
|
# (excludes ContentLog/ContentLogPathSpec).
|
|
|
|
# Equivalent to -S command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#ContentLogDir /var/log/sslproxy/content
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Content log: full data to sep files with % subst
|
|
|
|
# (excludes ContentLog/ContentLogDir).
|
|
|
|
# Equivalent to -F command line option.
|
2018-09-14 23:51:26 +00:00
|
|
|
#ContentLogPathSpec /var/log/sslproxy/%X/%u-%s-%d-%T.log
|
2018-05-09 17:05:29 +00:00
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Look up local process owning each connection for logging.
|
|
|
|
# Equivalent to -i command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#LogProcInfo yes
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Pcap log: packets to pcapfile (excludes PcapLogDir/PcapLogPathSpec).
|
|
|
|
# Equivalent to -X command line option.
|
|
|
|
#PcapLog /var/log/sslproxy/content.pcap
|
|
|
|
|
|
|
|
# Pcap log: packets to separate files in dir
|
|
|
|
# (excludes PcapLog/PcapLogPathSpec).
|
|
|
|
# Equivalent to -Y command line option.
|
|
|
|
#PcapLogDir /var/log/sslproxy/pcap
|
|
|
|
|
|
|
|
# Pcap log: packets to sep files with % subst (excludes PcapLog/PcapLogDir).
|
|
|
|
# Equivalent to -y command line option.
|
|
|
|
#PcapLogPathSpec /var/log/sslproxy/%X/%u-%s-%d-%T.pcap
|
|
|
|
|
|
|
|
# Mirror packets to interface.
|
|
|
|
# Equivalent to -I command line option.
|
|
|
|
#MirrorIf lo
|
|
|
|
|
|
|
|
# Mirror packets to target address (used with MirrorIf).
|
|
|
|
# Equivalent to -T command line option.
|
|
|
|
#MirrorTarget 192.0.2.1
|
|
|
|
|
|
|
|
# Log master keys to logfile in SSLKEYLOGFILE format.
|
|
|
|
# Equivalent to -M command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#MasterKeyLog /var/log/sslproxy/masterkeys.log
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Daemon mode: run in background, log error messages to syslog.
|
|
|
|
# Equivalent to -d command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
Daemon yes
|
|
|
|
|
2018-11-03 15:23:31 +00:00
|
|
|
# Debug mode: run in foreground, log debug messages on stderr.
|
|
|
|
# Equivalent to -D command line option.
|
2018-05-09 17:05:29 +00:00
|
|
|
#Debug yes
|
|
|
|
|
|
|
|
# Verbose debug level
|
|
|
|
#DebugLevel 4
|
|
|
|
|
2017-08-24 13:16:45 +00:00
|
|
|
# Close connections after this many seconds of idle time
|
|
|
|
ConnIdleTimeout 120
|
|
|
|
|
|
|
|
# Check for expired connections every this many seconds
|
|
|
|
ExpiredConnCheckPeriod 10
|
|
|
|
|
|
|
|
# Retry to shut ssl conns down after this many micro seconds
|
|
|
|
# Increasing this delay may avoid dirty shutdowns on slow connections,
|
|
|
|
# but increases resource usage, such as file desriptors and memory
|
|
|
|
SSLShutdownRetryDelay 100
|
|
|
|
|
|
|
|
# Log statistics to syslog
|
2018-11-03 15:23:31 +00:00
|
|
|
# Equivalent to -J command line option.
|
2017-08-24 13:16:45 +00:00
|
|
|
LogStats yes
|
|
|
|
|
|
|
|
# Log statistics every this many ExpiredConnCheckPeriod periods
|
|
|
|
StatsPeriod 1
|
|
|
|
|
|
|
|
# Remove HTTP header line for Accept-Encoding
|
|
|
|
RemoveHTTPAcceptEncoding no
|
|
|
|
|
2017-09-03 20:11:20 +00:00
|
|
|
# Remove HTTP header line for Referer
|
|
|
|
RemoveHTTPReferer yes
|
|
|
|
|
2018-01-18 00:18:53 +00:00
|
|
|
# Verify peer using default certificates
|
|
|
|
VerifyPeer yes
|
|
|
|
|
2018-09-14 23:51:26 +00:00
|
|
|
# When disabled, never add the SNI to forged certificates, even if the SNI
|
|
|
|
# provided by the client does not match the server certificate's CN/SAN.
|
|
|
|
# Helps pass the wrong.host test at https://badssl.com.
|
2018-01-18 00:18:53 +00:00
|
|
|
AllowWrongHost no
|
|
|
|
|
2019-02-28 23:08:24 +00:00
|
|
|
# Require authentication for users to use SSLproxy
|
|
|
|
#UserAuth no
|
|
|
|
|
2019-03-01 23:52:48 +00:00
|
|
|
# Path to user db file
|
|
|
|
#UserDBPath /var/db/users.db
|
|
|
|
|
|
|
|
# Time users out after this many seconds of idle time
|
|
|
|
#UserTimeout 300
|
|
|
|
|
2019-02-28 23:08:24 +00:00
|
|
|
# Redirect URL for users to log in to the system
|
|
|
|
#UserAuthURL https://192.168.0.1/userdblogin.php
|
|
|
|
|
2019-03-07 20:14:53 +00:00
|
|
|
# Validate proxy spec protocols
|
|
|
|
#ValidateProto no
|
|
|
|
|
|
|
|
# Max HTTP header size in bytes for protocol validation
|
|
|
|
#MaxHTTPHeaderSize 8192
|
|
|
|
|
2019-03-27 11:23:18 +00:00
|
|
|
# Set open files limit, use 50-10000
|
|
|
|
#OpenFilesLimit 1024
|
|
|
|
|
2019-05-02 16:06:48 +00:00
|
|
|
# Passthrough sites
|
2019-04-20 22:00:46 +00:00
|
|
|
# site [(clientaddr|(user|*) [description keyword])]
|
2019-04-18 22:16:05 +00:00
|
|
|
#PassSite example.com
|
2019-04-20 22:00:46 +00:00
|
|
|
#PassSite example.com 192.168.0.1
|
|
|
|
#PassSite example.com soner
|
|
|
|
#PassSite *.google.com * android
|
2019-07-13 08:34:23 +00:00
|
|
|
|
|
|
|
# One line proxy specifications
|
2019-07-22 08:24:53 +00:00
|
|
|
# type listenaddr+port up:utmport [ua:utmaddr ra:returnaddr]
|
2019-07-13 08:34:23 +00:00
|
|
|
#ProxySpec https 127.0.0.1 8443 up:8080 [ua:127.0.0.1 ra:127.0.0.1]
|
|
|
|
ProxySpec https 127.0.0.1 8443 up:8080
|
|
|
|
ProxySpec pop3s 127.0.0.1 8995 up:8110
|
|
|
|
ProxySpec smtps 127.0.0.1 8465 up:9199
|
|
|
|
|
2019-07-22 08:24:53 +00:00
|
|
|
# Structured proxy specifications
|
2019-07-13 08:34:23 +00:00
|
|
|
# Global config is cloned into all proxyspecs first
|
|
|
|
# Each proxyspec can override its cloned global config
|
|
|
|
ProxySpec {
|
|
|
|
Proto https
|
|
|
|
|
|
|
|
# Listen address
|
|
|
|
Addr 127.0.0.1
|
|
|
|
# Listen port
|
|
|
|
Port 8444
|
|
|
|
|
|
|
|
# Divert address defaults to 127.0.0.1, if not specified
|
|
|
|
# Equivalent to ua
|
|
|
|
DivertAddr 127.0.0.1
|
|
|
|
# Equivalent to up
|
|
|
|
DivertPort 8080
|
|
|
|
|
|
|
|
# Return address defaults to 127.0.0.1, if not specified
|
|
|
|
# Equivalent to ra
|
|
|
|
ReturnAddr 127.0.0.1
|
|
|
|
|
|
|
|
# Specify nat, sni, or target config
|
|
|
|
#NatEngine netfilter
|
|
|
|
#SNIPort 443
|
|
|
|
#TargetAddr 127.0.0.1
|
|
|
|
#TargetPort 9443
|
|
|
|
|
|
|
|
DenyOCSP yes
|
|
|
|
Passthrough no
|
|
|
|
|
|
|
|
# Proxyspec specific SSL/TLS config, overrides the cloned global config
|
|
|
|
#CACert ca.crt
|
|
|
|
#CAKey ca.key
|
|
|
|
#ClientCert client.crt
|
|
|
|
#ClientKey client.key
|
|
|
|
#CAChain chain.crt
|
|
|
|
#DHGroupParams dh.pem
|
|
|
|
#ECDHCurve prime256v1
|
|
|
|
#SSLCompression no
|
|
|
|
#ForceSSLProto tls12
|
|
|
|
#DisableSSLProto tls10
|
2019-07-30 18:29:46 +00:00
|
|
|
#MinSSLProto tls10
|
|
|
|
#MaxSSLProto tls12
|
2019-07-13 08:34:23 +00:00
|
|
|
#Ciphers MEDIUM:HIGH
|
|
|
|
|
|
|
|
RemoveHTTPAcceptEncoding no
|
|
|
|
RemoveHTTPReferer yes
|
|
|
|
VerifyPeer yes
|
|
|
|
UserAuth yes
|
|
|
|
UserTimeout 300
|
|
|
|
UserAuthURL https://192.168.0.1/userdblogin.php
|
|
|
|
ValidateProto yes
|
2019-08-07 09:54:32 +00:00
|
|
|
# Proxyspec specific passsites are appended to the cloned global passsites
|
2019-07-13 08:34:23 +00:00
|
|
|
PassSite example2.com
|
|
|
|
}
|