The implementation of a private IRCd server consisting of two services.
- IRCd server.
- IRCd services.
IRCd
ngircd is used as the IRC server.
The installation is performed using the distribution's package manager.
Configuration
The default configuration file has a simple explanation. It is necessary to read every comment and select the necessary options for our implementation.
Encryption
It is mandatory to use SSL encryption for external connections. Its implementation is not necessary for the internal network of the server (localhost).
- IRCd services.
- Bots.
Operator
He is the owner and super-administrator of the IRCd who has total control of the server. Therefore, the name and password should be as robust as possible. Generally, it should not be used for server administration, only as a last resort.
Server
In ngircd, several servers can be run. Similar to the operator, the passwords for the server and the node (peer) must be robust.
Firewall
To guarantee that no one has access to the server and to unencrypted connections, ports must be blocked and limited to internal connections.
IRC Services
atheme is used as the IRC service manager.
The installation is performed using the distribution's package manager.
Configuration
Similar to ngircd, the file contains a series of useful comments, although the number of options is overwhelming and requires some time for the program configuration.
It is necessary to verify the correct functioning of the service, which requires considering the following.
Base
- Enable only the modules to be used. If a module is going to be disabled, it is necessary to read the respective documentation.
- The connection to the IRCd server's name and password are declared in the [server] field in the ngircd configuration.
- The uplink must have another name than the IRCd server configured in the previous point. Otherwise, the corresponding warning will appear in the logs, although it will not stop the service from running.
- Below, the services are established as NickServ, ChanServ, among others.
- The logs presented a problem because syslog could not be used, so it was limited to using the default file configuration.
With the above, we have a basic and fully functional configuration.
Administrators/Operators
In atheme, operator levels can be declared. The most important is the super-administrator, designated sra by default, who can only be the operator declared in the ngircd configuration. From this, we can manage the users, administrators, and services provided by atheme.
To access it, it is necessary to be registered with the same nick using in NickServ and to be logged into atheme. Finally, we log in as an operator of the ngircd server, which enables the sra level. To confirm this, we check the permissions with OperServ. Finally, we use another registered user and convert them into an administrator (ircop) with whom we will administer the service.
Considerations
The implementation is designed for few users since it is private.