mirror of
https://github.com/drwetter/testssl.sh.git
synced 2025-01-30 12:21:17 +01:00
Polish readme and reflect branch change to 3.0
This commit is contained in:
parent
893cad542d
commit
edcdcc43e9
132
Readme.md
132
Readme.md
@ -8,116 +8,73 @@
|
|||||||
any port for the support of TLS/SSL ciphers, protocols as well as some
|
any port for the support of TLS/SSL ciphers, protocols as well as some
|
||||||
cryptographic flaws.
|
cryptographic flaws.
|
||||||
|
|
||||||
#### Key features
|
### Key features
|
||||||
|
|
||||||
* Clear output: you can tell easily whether anything is good or bad
|
* Clear output: you can tell easily whether anything is good or bad.
|
||||||
* Machine readable output
|
* Machine readable output.
|
||||||
* Ease of installation: Linux, OSX/Darwin, FreeBSD, NetBSD, MSYS2/Cygwin,
|
* No installation needed: Linux, OSX/Darwin, FreeBSD, NetBSD, MSYS2/Cygwin,
|
||||||
WSL work out of the box (OpenBSD needs bash). No need to install
|
WSL work out of the box. Only OpenBSD needs bash. No need to install
|
||||||
or to configure something. No gems, CPAN, pip or the like
|
or to configure something. No gems, CPAN, pip or the like.
|
||||||
|
* A Dockerfile is provided, there's also an offical container @ dockerhub.
|
||||||
* Flexibility: You can test any SSL/TLS enabled and STARTTLS service, not
|
* Flexibility: You can test any SSL/TLS enabled and STARTTLS service, not
|
||||||
only web servers at port 443
|
only web servers at port 443.
|
||||||
* Toolbox: Several command line options help you to run YOUR test and
|
* Toolbox: Several command line options help you to run *your* test and
|
||||||
configure YOUR output
|
configure *your* output.
|
||||||
* Reliability: features are tested thoroughly
|
* Reliability: features are tested thoroughly.
|
||||||
* Privacy: It's only you who sees the result, not a third party
|
* Privacy: It's only you who sees the result, not a third party.
|
||||||
* Freedom: It's 100% open source. You can look at the code, see what's
|
* Freedom: It's 100% open source. You can look at the code, see what's going on.
|
||||||
going on
|
|
||||||
* The development is open (github) and participation is welcome.
|
* The development is open (github) and participation is welcome.
|
||||||
|
|
||||||
#### License
|
### License
|
||||||
|
|
||||||
This software is free. You can use it under the terms of GPLv2, see LICENSE.
|
This software is free. You can use it under the terms of GPLv2, see LICENSE.
|
||||||
In addition starting from version 3.0rc1 if you're offering a scanner based on testssl.sh
|
In addition starting from version 3.0rc1 if you're offering a scanner based on testssl.sh
|
||||||
as a public and / or paid service in the internet you need to mention to your audience that you're using
|
as a public and / or paid service in the internet you need to mention to your audience that you're using
|
||||||
this program and where to get this program from.
|
this program and where to get this program from.
|
||||||
|
|
||||||
#### Installation
|
### Compatibility
|
||||||
|
|
||||||
|
testssl.sh is working on every Linux/BSD distribution out of the box. Latest by 2.9dev
|
||||||
|
most of the limitations of disabled features from the openssl client are gone
|
||||||
|
due to bash-socket-based checks. As a result you can also use e.g. LibreSSL or OpenSSL
|
||||||
|
1.1.1 . testssl.sh also works on other unixoid system out of the box, supposed they have
|
||||||
|
`/bin/bash` >= version 3.2 and standard tools like sed and awk installed. An implicit
|
||||||
|
(silent) check for binaries is done when you start testssl.sh . System V needs probably
|
||||||
|
to have GNU grep installed. MacOS X and Windows (using MSYS2, Cygwin or WSL) work too.
|
||||||
|
|
||||||
|
Update notification here or @ [twitter](https://twitter.com/drwetter).
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
You can download testssl.sh by cloning this git repository:
|
You can download testssl.sh by cloning this git repository:
|
||||||
|
|
||||||
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
|
git clone --depth 1 https://github.com/drwetter/testssl.sh.git
|
||||||
|
|
||||||
Or help yourself downloading the ZIP archive
|
Or help yourself downloading the ZIP archive [https://github.com/drwetter/testssl.sh/archive/3.0.zip](https://github.com/drwetter/testssl.sh/archive/3.0.zip).
|
||||||
https://github.com/drwetter/testssl.sh/archive/2.9dev.zip. ``testssl.sh --help``
|
``testssl.sh --help`` will give you some help upfront. More help: see doc directory with
|
||||||
will give you some help upfront. More help: see doc directory with
|
man pages. Older sample runs are at [https://testssl.sh/](https://testssl.sh/).
|
||||||
man pages. Older sample runs are at https://testssl.sh/.
|
|
||||||
|
|
||||||
#### Running a docker container from dockerhub
|
#### Running a docker container from dockerhub
|
||||||
|
|
||||||
docker run -ti drwetter/testssl.sh <your_cmd_line>
|
docker run -ti drwetter/testssl.sh <your_cmd_line>
|
||||||
|
|
||||||
#### Status
|
### Status
|
||||||
|
|
||||||
In the 2.9dev branch we're developing the 3.0 release. We're currently in the
|
We're currently in the late release candidate phase. That means you can and should use it for production
|
||||||
release candidate phase. That means you can and should use it for production
|
and let us know if you encounter any additional bugs. Features implemented in 3.0 are listed in the [Changelog](https://github.com/drwetter/testssl.sh/CHANGELOG.md).
|
||||||
and let us know if you encounter any additional bugs.
|
|
||||||
|
|
||||||
For the previous stable version please see release
|
Support for 2.9.5 has been dropped.
|
||||||
[2.9.5](https://github.com/drwetter/testssl.sh/tree/2.9.5) which is is the
|
|
||||||
successor of 2.8 and stable for day-to-day work. Support for 2.9.5 will be
|
|
||||||
soon dropped. 2.8 is not supported anymore.
|
|
||||||
|
|
||||||
#### Compatibility
|
|
||||||
|
|
||||||
testssl.sh is working on every Linux/BSD distribution out of the box. Since 2.9dev
|
|
||||||
most of the limitations of disabled features from the openssl client are gone
|
|
||||||
due to bash-socket-based checks. As a result you can also use e.g. LibreSSL or OpenSSL
|
|
||||||
1.1.1. testssl.sh also works on other unixoid system out of the box, supposed they have
|
|
||||||
`/bin/bash` >= version 3.2 and standard tools like sed and awk installed.
|
|
||||||
System V needs to have GNU grep installed. MacOS X and Windows (using MSYS2 or
|
|
||||||
cygwin) work too. OpenSSL version version >= 1.0.2 is recommended for better
|
|
||||||
LOGJAM checks and to display bit strengths for key exchanges.
|
|
||||||
|
|
||||||
Update notification here or @ [twitter](https://twitter.com/drwetter).
|
|
||||||
|
|
||||||
#### Features implemented in [2.9dev](Readme.md#devel) (as opposed to [2.9.5](https://github.com/drwetter/testssl.sh/blob/2.9.5/Readme.md#features-implemented-in-295))
|
|
||||||
* Full support of TLS 1.3, shows also drafts supported
|
|
||||||
* ROBOT check
|
|
||||||
* Better TLS extension support
|
|
||||||
* Better OpenSSL 1.1.1 support
|
|
||||||
* DNS over Proxy and other proxy improvements
|
|
||||||
* Decoding of unencrypted BIG IP cookies
|
|
||||||
* Better JSON output: renamed IDs and findings shorter/better parsable
|
|
||||||
* JSON output now valid also for non-responding servers
|
|
||||||
* Testing now per default 370 ciphers
|
|
||||||
* Further improving the robustness of TLS sockets (sending and parsing)
|
|
||||||
* Support of supplying timeout value for `openssl connect` -- useful for batch/mass scanning
|
|
||||||
* File input for serial or parallel mass testing can be also in nmap grep(p)able (-oG) format
|
|
||||||
* LOGJAM: now checking also for DH and FFDHE groups (TLS 1.2)
|
|
||||||
* PFS: Display of elliptical curves supported, DH and FFDHE groups (TLS 1.2 + TLS 1.3)
|
|
||||||
* Check for session resumption (Ticket, ID)
|
|
||||||
* TLS Robustness check (GREASE)
|
|
||||||
* Expect-CT Header Detection
|
|
||||||
* `--phone-out` does certificate revocation checks via OCSP (LDAP+HTTP) and with CRL
|
|
||||||
* Fully OpenBSD and LibreSSL support
|
|
||||||
* Missing SAN warning
|
|
||||||
* Added support for private CAs
|
|
||||||
* Man page reviewed
|
|
||||||
* Better error msg suppression (not fully installed OpenSSL)
|
|
||||||
* Way better handling of connectivity problems
|
|
||||||
* Exit codes better: 0 for running without error, 1+n for small errors, >240 for major errors.
|
|
||||||
* Dockerfile and repo @ docker hub with that file (see above)
|
|
||||||
* Java Root CA store added
|
|
||||||
* Better support for XMPP via STARTTLS & faster
|
|
||||||
* Certificate check for to-name in stream of XMPP
|
|
||||||
* Support for NNTP via STARTTLS
|
|
||||||
* More robustness for any STARTTLS protocol (fall back to plaintext while in TLS)
|
|
||||||
* Fixed TCP fragmentation
|
|
||||||
* Added `--ids-friendly` switch
|
|
||||||
* Major update of client simulations with self-collected data
|
|
||||||
|
|
||||||
[Planned for 3.0](https://github.com/drwetter/testssl.sh/milestone/4).
|
|
||||||
|
|
||||||
|
|
||||||
#### Documentation
|
### Documentation
|
||||||
|
|
||||||
|
* It is for reading. Please do so :-) at least before asking questions.
|
||||||
* There's a man page in groff, html and markdown format in `~/doc/`.
|
* There's a man page in groff, html and markdown format in `~/doc/`.
|
||||||
* https://testssl.sh/ will help to get you started.
|
* [https://testssl.sh/](https://testssl.sh/) will help to get you started.
|
||||||
* Will Hunt provides a longer, good [description](https://www.4armed.com/blog/doing-your-own-ssl-tls-testing/) for the version 2.8, including useful background info.
|
* Will Hunt provides a longer, good [description](https://www.4armed.com/blog/doing-your-own-ssl-tls-testing/) for the version 2.8, including useful background info.
|
||||||
|
|
||||||
|
|
||||||
#### Contributions
|
### Contributions
|
||||||
|
|
||||||
Contributions, feedback, bug reports are welcome! For contributions please
|
Contributions, feedback, bug reports are welcome! For contributions please
|
||||||
note: One patch per feature -- bug fix/improvement. Please test your
|
note: One patch per feature -- bug fix/improvement. Please test your
|
||||||
@ -125,18 +82,19 @@ changes thoroughly as reliability is important for this project.
|
|||||||
|
|
||||||
There's a [coding guideline](https://github.com/drwetter/testssl.sh/wiki/Coding-Style).
|
There's a [coding guideline](https://github.com/drwetter/testssl.sh/wiki/Coding-Style).
|
||||||
|
|
||||||
#### Bug reports
|
### Bug reports
|
||||||
|
|
||||||
Please file bugs in the issue tracker. Do not forget to provide detailed information,
|
Please file bugs in the issue tracker @ github. Do not forget to provide detailed information,
|
||||||
see https://github.com/drwetter/testssl.sh/wiki/Bug-reporting. Nobody can read your
|
see template. Details @ https://github.com/drwetter/testssl.sh/wiki/Bug-reporting. Nobody can read your
|
||||||
thoughts -- yet. And only agencies your screen ;-)
|
thoughts -- yet. And only agencies your screen ;-)
|
||||||
|
|
||||||
|
You can also debug yourself, see [here](https://github.com/drwetter/testssl.sh/wiki/Findings-and-HowTo-Fix-them).
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
## External/related projects
|
### External/related projects
|
||||||
|
|
||||||
Please address questions not specifically to the code of testssl.sh to the
|
Please address questions not specifically to the code of testssl.sh to the respective projects below.
|
||||||
respective projects
|
|
||||||
|
|
||||||
#### Cool web frontend
|
#### Cool web frontend
|
||||||
* https://github.com/TKCERT/testssl.sh-webfrontend
|
* https://github.com/TKCERT/testssl.sh-webfrontend
|
||||||
|
Loading…
Reference in New Issue
Block a user