1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-12-12 09:50:29 +00:00
ngircd/doc
Christoph Biedl 817937b218 Support for server certificate validation on server links [S2S-TLS]
This patch provides code to validate the server certificate in
server links, defeating nasty man-in-the-middle attacks on server
links.

Features:

- Check whether the certificate is signed by a trusted certificate
  authority (CA).
- Check the host name, including wildcard certificates and Subject
  Alternative Names.
- Optionally check against a certificate revocation list (CRL).
- Implementation for both OpenSSL and GnuTLS linkage.

Left for another day:

- Parameterize the TLS parameter of an outbound connection. Currently,
  it's hardcoded to disable all versions before TLSv1.1.
- Using certificate as CA-certificate. They work for GnuTLS only but
  perhaps this should rather raise an error there, too.
- Optional OCSP checking.
- Checking client certificates. Code is there but this first needs some
  consideration about the use cases. This could replace all other
  authentication methods, for both client-server and server-server
  connections.

This patch is based on a patch by Florian Westphal from 2009, which
implemented this for OpenSSL only:

  From: Florian Westphal <fw@strlen.de>
  Date: Mon, 18 May 2009 00:29:02 +0200
  Subject: SSL/TLS: Add initial certificate support to OpenSSL backend

Commit message modified by Alex Barton.

Closes #120, "Server links using TLS/SSL need certificate validation".
Supersedes PR #8, "Options for verifying and requiring SSL client
certificates", which had (incomplete?) code for OpenSSL, no GnuTLS.
2024-03-23 20:19:01 +01:00
..
src Doxygen: Update the footer links 2024-02-05 14:03:42 +01:00
Bopm.txt doc/Bopm.txt: Update file header 2014-03-19 00:59:01 +01:00
Capabilities.txt Fix several broken URLs. 2015-06-24 21:15:44 +02:00
Commands.txt Don't send invalid CHANINFO commands when no key is set 2020-06-11 16:45:30 +02:00
Container.md Add a Dockerfile and documentation to the project 2024-03-17 22:42:15 +01:00
Contributing.txt Documentation: Spelling fixes 2015-09-06 19:38:16 +02:00
FAQ.md Convert the FAQ to Markdown and enhance it! 2024-01-11 15:12:54 +01:00
HowToRelease.txt Convert the AUTHORS file to Markdown 2024-01-20 16:43:54 +01:00
Makefile.am Add a Dockerfile and documentation to the project 2024-03-17 22:42:15 +01:00
Modes.txt Modes.txt: Add "name prefixes" to channel user mode description 2015-12-13 20:19:05 +01:00
PAM.txt PAM.txt: Add note about /etc/pam.d/ngircd permissions 2016-10-24 19:24:21 +02:00
Platforms.txt Update Platforms.txt 2021-01-01 20:03:58 +01:00
Protocol.txt Fix and extend documentation a little bit 2019-06-29 16:02:18 +02:00
QuickStart.md QuickStart.md: Tweak the text a bit ... 2024-03-17 22:42:19 +01:00
README-AUX.txt Update links to "Arthur" to use the HTTP protocol 2014-03-25 20:27:17 +01:00
README-BeOS.txt Fix spelling in some documents. 2009-01-01 17:56:42 +01:00
README-Interix.txt doc/README-Interix.txt: note that GNU make should be used 2012-02-29 13:20:09 +01:00
RFC.txt 2017! 2017-01-15 22:07:11 +01:00
sample-ngircd.conf.tmpl Support for server certificate validation on server links [S2S-TLS] 2024-03-23 20:19:01 +01:00
Services.txt Fixed Atheme Links 2020-08-04 13:44:58 +02:00
SSL.txt doc/SSL.txt: adopt to new configuration file layout 2011-06-28 13:11:14 +02:00