Require authentication block

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

The require authentication block allows you to specify IP/hosts of users that need to authenticate to a valid services account during connecting. This could, for example, be used to ban an ISP that is known for troublemakers, while still allowing legit users in from that IP if they have a valid account. Or, it can be used to simply require authentication for all users.

Authentication by the user is done either by using SASL (the recommended method) or via the new optional module authprompt that will ask non-SASL users to authenticate interactively by typing /AUTH nickname:password.


In UnrealIRCd 4.0.19 and 4.2.0 the block was called require sasl. Since 4.2.1 it is called require authentication. The authprompt module was first introduced in 4.2.1.


require authentication {
	mask <hostmask>;
	reason <reason-for-ban>;

The mask is a wildcard string of a user@host to ban and the reason is the reason for the requirement. The reason is shown when the user is trying to connect without authentication.

Note that require authentication blocks configures a local requirement. The user may still connect to other servers on the network.


require authentication {
	mask *@*.tld;
	reason "Too many abusers from this country, please authenticate";

Similar functionality

The same can be achieved online (on IRC) by adding a "soft kline":

/KLINE %*@*.tld Too many abusers from this country, please authenticate

The % prefix (percent symbol) will make it only ban unauthenticated users.