Differences between revisions 2 and 3
Revision 2 as of 2021-07-09 20:13:55
Size: 4372
Editor: ?vv221
Comment: Add link to current website + fix link to GitHub repo
Revision 3 as of 2022-01-10 14:20:44
Size: 5843
Comment: sync with English master v.15
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
<include file="/etc/inspircd/opers.conf">  // è necessario modificare l'esempio opers.conf a causa di un errore di duplicazione che viene riportato durante il test, all'incirca alla riga 130 <include file="/etc/inspircd/opers.conf"> # è necessario modificare l'esempio opers.conf per ragioni di sicurezza
Line 33: Line 33:
<files motd="/etc/inspircd/inspircd.motd" rules="/etc/inspircd/inspircd.rules"> <files motd="/etc/inspircd/inspircd.motd">
Line 36: Line 36:
Se si è utilizzato '''hash="md5"''' per memorizzare la password, è necessario caricare in {{{/etc/inspircd/modules.conf}}} Se si è utilizzato '''hash="argon2"''' per memorizzare la password, è necessario caricare in {{{/etc/inspircd/modules.conf}}}
Line 38: Line 38:
<module name="m_md5.so"> <module name="argon2">
Line 44: Line 44:
<bind address="" port="6697" type="clients" ssl="gnutls">
<gnutls cafile="" crlfile="" certfile="/etc/inspircd/cert.pem" keyfile="/etc/inspircd/key.pem" dh_bits="1024">
<bind address=""
      port="6697"
      type="clients"
      ssl="Clients">

<module name="ssl_gnutls">
<sslprofile name="Clients"
            provider="gnutls"
            cafile=""
            certfile="cert.pem"
            crlfile=""
            dhfile="dhparams.pem"
            hash="sha256"
            keyfile="key.pem"
            mindhbits="1024"
            outrecsize="2048"
            priority="SECURE192"
            requestclientcert="yes"
            strictpriority="no">
}}}

Se la connessione usando SSL fallisce, provare ad aggiungere priority="SECURE192:-VERS-SSL3.0" in {{{/etc/inspircd/inspircd.conf}}}:
{{{
<bind address=""
      port="6697"
      type="clients"
      ssl="Clients">

<module name="ssl_gnutls">
<sslprofile name="Clients"
            provider="gnutls"
            cafile=""
            certfile="cert.pem"
            crlfile=""
            dhfile="dhparams.pem"
            hash="sha256"
            keyfile="key.pem"
            mindhbits="1024"
            outrecsize="2048"
            priority="SECURE192:-VERS-SSL3.0"
            requestclientcert="yes"
            strictpriority="no">
Line 66: Line 106:
<module name="m_ssl_gnutls.so">
<module name="m_spanningtree.so">
<module name="ssl_gnutls">
<module name="spanningtree">
Line 69: Line 109:
''Notare: è necessario caricare il modulo m_ssl_gnutls.so prima di m_spanningtree.so.'' ''Notare: è necessario caricare il modulo ssl_gnutls prima di quello spanningtree.''
Line 107: Line 147:
= LDAP =
Esempio di inspircd.conf per LDAP.
{{{
<module name="ldap">
<database module="ldap"
          id="ldap-users"
          bindauth="password"
          binddn="cn=Manager,dc=inspircd,dc=org"
          searchscope="subtree"
          server="ldaps://localhost"
          timeout="5s">

<module name="ldapauth">
<ldapauth allowpattern="Guest*"
          attribute="uid"
          baserdn="ou=People,dc=example,dc=com"
          dbid="ldap-users"
          host="$cn.example.com"
          killreason="Access denied"
          userfield="no"
          verbose="yes">
}}}
Line 117: Line 180:
 * [[http://wiki.inspircd.org/|Wiki di InspIRCd]] (probabilmente vecchio)
 * [[http://wiki.inspircd.org/Modules/1.2/ssl_gnutls|ssl_gnutls nel vecchio wiki di InspIRCd]]
 * [[https://github.com/inspircd/inspircd|GitHub repository]]
 * [[https://docs.inspircd.org/|Documentazione di InspIRCd]]
 * [[https://docs.inspircd.org/3/modules/ssl_gnutls|Documentazione di InspIRCd per ssl_gnutls]]
 * [[https://github.com/inspircd|Repository GitHub di InspIRCd]]

Translation(s): English - Italiano


InspIRCd è un IRCd, un demone IRC, modulare scritto in C++ interamente partendo da zero.

Installazione

Installare inspircd insieme alle sue dipendenze

# apt-get install inspircd

Configurazione

Modificare i file della configurazione predefinita in /etc/inspircd/ Questa directory e i file in essa sono di proprietà dell'utente irc. Perciò li si può modificare come utente irc o passarne la proprietà all'utente irc dopo che si è finito di modificarlo.

Per una configurazione minimale è necessario <server> e <bind>, forse anche <oper>.

Fare il backup dei file della configurazione predefinita e dei file di configurazione d'esempio modificati da usare.

I file di configurazione d'esempio possono essere trovati in /usr/share/doc/inspircd/examples/ e i moduli disponibili sono posizionati in /usr/lib/inspircd/modules/

Nel proprio inspircd.conf è necessario impostare il percorso completo del file per ogni file esterno. Ad esempio:

...
<pid file="/var/run/inspircd.pid">
...
<include file="/etc/inspircd/opers.conf">  # è necessario modificare l'esempio opers.conf per ragioni di sicurezza
...
<include file="/etc/inspircd/modules.conf">
...
<files motd="/etc/inspircd/inspircd.motd">

Se si è utilizzato hash="argon2" per memorizzare la password, è necessario caricare in /etc/inspircd/modules.conf

<module name="argon2">

GnuTLS

Esempio di configurazione di GnuTLS per /etc/inspircd/inspircd.conf:

<bind address=""
      port="6697"
      type="clients"
      ssl="Clients">

<module name="ssl_gnutls">
<sslprofile name="Clients"
            provider="gnutls"
            cafile=""
            certfile="cert.pem"
            crlfile=""
            dhfile="dhparams.pem"
            hash="sha256"
            keyfile="key.pem"
            mindhbits="1024"
            outrecsize="2048"
            priority="SECURE192"
            requestclientcert="yes"
            strictpriority="no">

Se la connessione usando SSL fallisce, provare ad aggiungere priority="SECURE192:-VERS-SSL3.0" in /etc/inspircd/inspircd.conf:

<bind address=""
      port="6697"
      type="clients"
      ssl="Clients">

<module name="ssl_gnutls">
<sslprofile name="Clients"
            provider="gnutls"
            cafile=""
            certfile="cert.pem"
            crlfile=""
            dhfile="dhparams.pem"
            hash="sha256"
            keyfile="key.pem"
            mindhbits="1024"
            outrecsize="2048"
            priority="SECURE192:-VERS-SSL3.0"
            requestclientcert="yes"
            strictpriority="no">

Creare un certificato

Generare il certificato e impostarne la proprietà all'utente irc.

Usando openssl:

# openssl req -x509 -nodes -newkey rsa:1024 -keyout key.pem -out cert.pem

o usando certtool:

# certtool --generate-privkey --outfile key.pem
# certtool --generate-self-signed --load-privkey key.pem --outfile cert.pem

Caricare moduli

Configurazione per /etc/inspircd/modules.conf:

<module name="ssl_gnutls">
<module name="spanningtree">

Notare: è necessario caricare il modulo ssl_gnutls prima di quello spanningtree.

Testare

Per testare il file di configurazione, passare da root all'utente irc.

# su irc

Eseguire i comandi seguenti per fare il test:

$ bash
$ cd /etc/inspircd
$ mkdir conf   // per testare la ricerca di una directory di configurazione
$ mkdir logs
$ cp inspircd.conf conf/
$ /usr/sbin/inspircd start  //o si avvia o riporta qualsiasi errore eventuale

Se vengono eseguiti con successo, fermare inspircd, copiare le modifiche da conf/inspircd.conf a /etc/inspircd.conf e rimuovere le directory conf e logs da /etc/inspircd/

Dopo aver completato la configurazione modificare /etc/default/inspircd per abilitarlo:

INSPIRCD_ENABLED=1

Avviare inspircd:

# /etc/init.d/inspircd start

Controllare il file di registro in /var/log/inspircd.log.

Controllare se inspircd è in esecuzione:

# netstat -nplt | grep inspircd

Testarlo con un client IRC.

LDAP

Esempio di inspircd.conf per LDAP.

<module name="ldap">
<database module="ldap"
          id="ldap-users"
          bindauth="password"
          binddn="cn=Manager,dc=inspircd,dc=org"
          searchscope="subtree"
          server="ldaps://localhost"
          timeout="5s">

<module name="ldapauth">
<ldapauth allowpattern="Guest*"
          attribute="uid"
          baserdn="ou=People,dc=example,dc=com"
          dbid="ldap-users"
          host="$cn.example.com"
          killreason="Access denied"
          userfield="no"
          verbose="yes">

Errori comuni

Se si ottiene l'errore seguente, potrebbe essere necessario impostare un'opzione simile a Accetta certificati SSL non validi nel proprio client IRC:

'* Connection failed. Error: self signed certificate.? (18)'

Vedere anche