ngircd.README.Debian 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. TLS support
  2. ===========
  3. Some things to take into account when configuring TLS/SSL support:
  4. * The irc user must be able to read the key file.
  5. * ngIRCd will run without a DH parameters file but that's a bad idea.
  6. * A certificate exchange requires restart.
  7. Certificate location
  8. --------------------
  9. * If your certificate and key are for ngIRCd only: Simply place them in
  10. /etc/ngircd, set KeyFile and CertFile accordingly. To secure the key
  11. file (server.key):
  12. chown irc:irc server.key
  13. chmod 600 server.key
  14. * If however you offer several TLS-based services that using the same
  15. certificate and key: Consider installing the ssl-cert package which
  16. provides the ssl-cert group. Place the certificate file (server.crt)
  17. in /etc/ssl/certs/ and the key file (server.key) in /etc/ssl/private/,
  18. and make sure ngIRCd can read it:
  19. chown root:ssl-cert /etc/ssl/private/server.key
  20. chmod 640 /etc/ssl/private/server.key
  21. adduser irc ssl-cert
  22. Repeat the last step for all users that run a daemon providing TLS.
  23. * DO NOT store these files in /home/ - due to 'ProtectHome=true' in
  24. ngircd.service the daemon will not be able to load the files.
  25. TLS-based server-server links
  26. -----------------------------
  27. When linking two ngircd servers, the connection should be TLS-based for
  28. obvious reasons. To do so, edit ngircd.conf:
  29. * Enable SSLConnect in each [Server] stanza.
  30. * Define CAFile in the [SSL] stanza. Note that by default *no*
  31. certificate is trusted.
  32. If the peers's certificate was signed by one of the well-known
  33. certificate authorities: Use the suggested value
  34. "/etc/ssl/certs/ca-certificates.crt" and install the ca-certificate
  35. package.
  36. Else set the value to the respective CA's certificate file.
  37. Verfication can be disabled entirely on a per-link base by setting
  38. SSLVerify to false. This is strongly discouraged as you will lose all
  39. security by that.
  40. DH parameters file
  41. ------------------
  42. It is suggested to create a DH params file. If missing, ngIRCd will
  43. create one on the fly but this will prolong each startup.
  44. To create that file:
  45. * using gnutls (from gnutls-cli package):
  46. certtool --generate-dh-params --bits 2048 >/etc/ngircd/dhparams.pem
  47. * using openssl:
  48. openssl dhparam -2 -out /etc/ngircd/dhparams.pem 2048
  49. This has to be done only once. Don't forget to enable the DHFile
  50. setting in /etc/ngircd/ngircd.conf.