Commit Graph

3988 Commits

Author SHA1 Message Date
Dirk Wetter dc64753085 Add error catcher also for --ssl-native + FTP 2019-05-03 20:46:06 +02:00
Dirk Wetter de45440279 better use the right protocol when checking ldap 2019-05-03 20:26:59 +02:00
Dirk Wetter 9257654522 fix wrong variable 2019-05-03 20:11:42 +02:00
Dirk Wetter b60dbc0fa6 Code + Fix
- Removed doubled declaration (my)
- hopefully fix error in FTPs (should maybe think about changing
  the line in testssl.sh or filter here always)
2019-05-03 20:08:31 +02:00
Dirk Wetter 72136437bb Proper file naming 2019-05-03 19:32:59 +02:00
Dirk Wetter 1825a8ca33 Fix output for POP (STARTTLS unit test) 2019-05-03 19:32:25 +02:00
Dirk Wetter 2996d24176 Add several unit tests for STARTTLS protocols
- SMTP via sockets+OpenSSL
- POP3 via sockets+OpenSSL
- IMAP via sockets+OpenSSL
- XMPP via sockets+OpenSSL
- FTP via sockets+OpenSSL
- LDAP via OpenSSL
- NNTPS via sockets+OpenSSL

Open: IRC, LTMP, mysql, postgres

This PR fixes #923. Partly it addresses #1254
2019-05-03 19:27:31 +02:00
Dirk Wetter 2d719e5ebe Add cmdlines
* t / --starttls irc/ircs (which will fail later for now)
* --vulnerabilities : not yet the moment for renaming
2019-05-03 19:25:37 +02:00
Dirk Wetter bb5450e3f5 Make STARTTLS + LDAP work again (via sockets)
A couple of checks required sockets but e.g. LDAP via STARTTLS
throwed an error (FIXME: LDAP+STARTTLS over sockets not supported yet)
in fd_sockets().

This adds a temporary workaround so that those functions are bypassed
and LDAP via STARTTLS can be used again.

See also #1258
2019-05-03 18:55:28 +02:00
Dirk Wetter bdbc194491 Beautify and simplify the code 2019-05-03 16:38:44 +02:00
Dirk Wetter c38a1e6896 Major imporvement to unit test for client simulations
- we don't check the head line only but errors
- don't use "pass" if you didn't run a test
- add simulation for http too
2019-05-03 16:24:57 +02:00
Dirk Wetter 2176f29104 Fix bug due to different naming scheme for curves
... which led to a false output in OpenSSL based handshake simulations.

secp256r1 is prime256v1
secp192r1 is prime192v1

Also a few varaiables were added in debug output (environment.txt)
2019-05-03 16:16:30 +02:00
Dirk Wetter 0c45720f6c
Merge pull request #1256 from drwetter/no-ssl3-fix
Fix typo in handshake simulation with openssl 1.1.x
2019-05-02 18:10:09 +02:00
Dirk Wetter 79a0345213 Fix typo in handshake simulation with openssl 1.1x
"protos" contained "-no-ssl3" instead of "-no_ssl3"
which lead to an error message "Oops: openssl s_client connect problem"
-- which wasn't caught by the STARTTLS unit test either :-(
2019-05-02 09:53:51 +02:00
Dirk Wetter 77c3bca646
Merge pull request #1253 from drwetter/rDNS_chars
Remove " " ";" in rDnS
2019-05-01 11:31:27 +02:00
Dirk Wetter 9d84308e3e Remove " " ";" in rDnS
... as occasionally they showed up when using dig which
made the rDNS output look like it's not supposed to be
2019-05-01 11:26:39 +02:00
Dirk Wetter 29e69d1156
Merge pull request #1252 from dcooper16/tls13_rating
Mark only TLSv1.3 final as pr_svrty_best
2019-05-01 10:42:40 +02:00
David Cooper b081f5fffc
Mark only TLSv1.3 final as pr_svrty_best
This PR changes run_protocols() so that, when using tls_sockets(), support for TLSv1.3 is only marked as pr_svrty_best() if the final (RFC 8446) version is supported. It also changed run_protocols() so that support for TLSv1.3 is marked as pr_svrty_best() if OpenSSL is used (i.e., if the --ssl-native option is specified).

One potential issue is that the --ssl-native version assumes that if OpenSSL supports TLSv1.3 it supports the final (RFC 8446) version of the protocol. If the tester is using a development version of OpenSSL 1.1.1 rather than the final version, then the protocol test will actually be indicating whether the server supports the same draft version of OpenSSL as the $OPENSSL being used to perform the tests.
2019-04-29 15:28:46 -04:00
Dirk Wetter 040976ab49
Merge pull request #1247 from drwetter/outfile_man
Add documentation to  #1245
2019-04-25 22:43:07 +02:00
Dirk c9ec73bce8 Add documentation to #1245
it accepts a directory.

This PR adds documenation for it.
2019-04-25 22:40:32 +02:00
Dirk Wetter 6bd5897c82
Merge pull request #1245 from dcooper16/outfile_directory
The -outfile, -oa, -outFile, and -oA options should accept a directory
2019-04-25 22:29:31 +02:00
Dirk Wetter 682537b9f8
Merge pull request #1244 from dcooper16/fix1243
Fix #1243
2019-04-25 22:26:43 +02:00
David Cooper a1289d1ec3
The -outfile, -oa, -outFile, and -oA options should accept a directory
Currently the -outfile, -oa, -outFile, and -oA assume that <fname> being provided is to be used as a filename, unless it is "auto." However, all of the individual options (e.g., --logfile) allow for a directory name to be provided instead of a file name.

This PR changes the handling of the -outfile, -oa, -outFile, and -oA options so that if a directory name is provided, the files are created in that directory.
2019-04-25 14:55:13 -04:00
David Cooper 66d15c6a03
Fix #1243
This PR fixes #1243 by modifying create_mass_testing_cmdline() to handle the --outfile, -oa, --outFile, and -oA options in the case that the filename provided is not "auto." It also modifies create_mass_testing_cmdline() so that in the case of serial testing -oj and -oJ are treated the same as --jsonfile and --jsonfile-pretty, respectively.
2019-04-25 14:10:09 -04:00
Dirk 5ba95db0b0 Bump version number to 3.0rc5 2019-04-25 09:21:23 +02:00
Dirk Wetter e85c0b12ee
Merge pull request #1241 from drwetter/chrome74
Update client simulation with Chrome 74
2019-04-25 09:18:42 +02:00
Dirk 955265afa0 Update to chrome 74 2019-04-25 09:17:23 +02:00
Dirk Wetter 70dab2edc5
Update Dockerfile.md 2019-04-24 19:52:53 +00:00
Dirk Wetter edcdcc43e9 Polish readme and reflect branch change to 3.0 2019-04-24 21:17:30 +02:00
Dirk Wetter 893cad542d
Delete CHANGELOG.stable-releases.txt 2019-04-24 18:44:14 +00:00
Dirk Wetter 378a5b0547 Fold all Changelogs into one file 2019-04-24 20:42:51 +02:00
Dirk Wetter 9599a56a16
Merge pull request #1240 from drwetter/more_client_sim
Major upgrade of some client simulations
2019-04-24 08:10:10 +02:00
Dirk de0141d967 Copied from readme 2019-04-23 23:14:02 +02:00
Dirk 80c10f5bb3 Merge branch 'more_client_sim' of github.com:drwetter/testssl.sh into more_client_sim 2019-04-23 21:18:50 +02:00
Dirk 1edfcbc909 Added client handshakes 2019-04-23 21:18:08 +02:00
Dirk e72e7728c7 Renamed to avoid confusion
It needs to be completed from README.md from releases 2.8 on
2019-04-23 21:15:48 +02:00
Dirk Wetter 64c2bcc949 Add Thunderbird 60.6.1 to client simulation 2019-04-23 13:37:50 +02:00
Dirk Wetter 3f99c2d2c8 Add Opera 60 + Chrome 73
Chrome 74 update pending
2019-04-23 11:33:47 +02:00
Dirk Wetter d2f5c2633c Add a few MS client hellos
* Edge 17 Win 10
* Firefox 66 Win 10

Disable 'Edge 13 Win Phone 10' per default and 'Firefox 62 Win 7'.
2019-04-23 10:32:17 +02:00
Dirk Wetter 950772cb23 Clarify client sim data 2019-04-23 10:26:30 +02:00
Dirk 31c5107a64 Remove a few redundant quotes in run_client_simulation() 2019-04-20 20:23:50 +02:00
Dirk c183c213e5 Add client simulations
.. for Android 8.1 and Firefox 66.

Add ciphersuites to the existing handshakes and update
the documentation accordingly.
2019-04-20 20:21:25 +02:00
Dirk 5f047db92f Add client simlation data and provide howto
While we are thankful that Ivan Ristic permitted to use the client
data from SSLlabs, it became of bit outdated now (see #1158). Also
as sslhaf [1] was used, the data comes from HTTP traffic only.

This is a start to address it. It provides data from Android 9
(connecting to the play store, so that it is sure we don't capture
a ClientHello from an application having an own TLS stack.

Also it provides documentation how to grab data yourself, and
provide it back to testssl.sh.

Aim is at least for testssl.sh 3.0 to add Android 8 and OpenSSL 1.1.1 (@drwetter).

My hope others can assist with  Safari on OSX 11 and 12. Java 10 and 11,
and a recent Opera and Edge version. (Firefox and Chrome are out of
date too)

Mail clients to follow later.

[1] https://github.com/ssllabs/sslhaf
2019-04-18 10:06:01 +02:00
Dirk e768ab3f7b Remove file as Not needed 2019-04-18 10:04:08 +02:00
Dirk Wetter 9c08a9df8c
Merge pull request #1239 from drwetter/add_travis_json
clarify failed test, add new test
2019-04-17 09:07:09 +02:00
Dirk Wetter edcd9d7bd0 clarify failed test, add new test 2019-04-17 09:04:39 +02:00
Dirk Wetter c74f253b5c
Merge pull request #1238 from drwetter/docker_minor
Docker minor
2019-04-17 08:16:06 +02:00
Dirk Wetter d3c43fce2d Make the Dockerfile work again
As a result of #1225 every Linux binary needed was not allowed
to come from busybox. Which caused the Dockerfile in this repo
and the image @ dockerhub to fail.

This PR relaxes that so that busybox binaries which proved to
work can be used. A whitelist was defined.
2019-04-17 08:09:58 +02:00
Dirk Wetter e4a08b3ed5 Use specific Alpine version
... and not latest which is unspecific. Atm
it's the same
2019-04-17 08:08:12 +02:00
Dirk Wetter a7e9aa9a7f
Merge pull request #1237 from drwetter/json_validate
Fix travis
2019-04-15 10:50:55 +02:00