mirror of
				https://github.com/drwetter/testssl.sh.git
				synced 2025-10-30 21:35:26 +01:00 
			
		
		
		
	Polish readme and reflect branch change to 3.0
This commit is contained in:
		
							
								
								
									
										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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Dirk Wetter
					Dirk Wetter