To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

HardeningTest

From ZNC
Revision as of 19:45, 19 August 2021 by DoctorD90 (talk | contribs) (→‎TODO)
Jump to navigation Jump to search

In this page we will discuss about multiple topics on how to hardening your ZNC instance.

Paranoid notes will be placed to highlight security settings pushed to the edge of security paranoids.

SSL

Enable

Generate SSL files

Public CA Signed or Self Signed Certificate

ZNC Configuration File

Modules

Fail2Ban

SChat

Hardening the Server

TODO

PrivateKey = ECC only

ProtectWebSessions

  • ONLY SSL enabled
  • Fail2ban module
  • ufw rules
  • Discussion about Public and Private CA
  • Schat module
  • Set CTCP Replies (Ex: FINGER/VERSION/PING)


  1. Hardening the Security


The ZNC acts as proxy for the irc connection, so the ZNC will manage 2 kind of connections: - IRC client <-> ZNC - ZNC <-> IRC Server

To increase our security we want that both of them use SSL layer; otherwise the information will be securized only on the side with the SSL in use and totally undecure on the other side, and this means: garbage in - garbage out.

Before to proceed we have to be sure that the ZNC has been compiled with SSL support.

To do this (ask..)

    1. ZNC Config

As reported in the Configuration we have a couple of security options.

(Ask if split pem or keep it single)

Another important configuration is the keyxchange. The defaults are perfectly fine but if you are security paranoid and your clients support latest EC (elliptic curve) algos, you can push them yo accept only XXXX

    1. Certificate

Copy the certificate instructions

    1. IRC Client connection

As first connection we are going to manage the IRC Client <-> ZNC one. First step is the enabling of the SSL port directly on first configuration. Otherwise we can proceed enabling via WebAdmin panel or via command line.

      1. Web Admin Page

Screenshot

      1. Command line

Run this command (Check command)

Now we have to configure our clients to use the SSL on connection. The second optional step is to use the Cert