GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare i servizi Ircd Hybrid e Anope con SSL su Ubuntu

IRCD Hybrid è un demone IRC (Internet Relay Chat) gratuito e open source. IRCD-Hybrid è comunemente noto per le sue prestazioni incredibilmente veloci e ad alte prestazioni. Le prestazioni di ircd-hybrid migliorano e migliorano con Anope. Anope è un insieme di servizi IRC biforcato da Epona all'inizio del 2003. Da allora, anope è diventato un insieme molto potente e caratterizzato da servizi IRC con miglioramenti in termini di qualità e funzionalità. Alcuni dei servizi popolari forniti da Anope sono NickServ, ChanServ, MemoServ, OperServ, BotServ e HostServ. Oltre a questi, HelpServ, DevNull e Global sono altri fantastici servizi offerti da Anope. Quindi, la combinazione di servizi IRCD-Hybrid e Anope crea una soluzione eccezionale per server IRC ricco di funzionalità e ad alte prestazioni.

In questo articolo impareremo come configurare IRC Hybrid e Anope Services sulla distribuzione Linux Ubuntu 15.04. Ecco alcuni semplici passaggi su come farlo.

1. Download di IRCD-Hybrid

Prima di tutto, prima di configurare ircd-hybrid nella nostra macchina Ubuntu, dovremo scaricarlo. Sebbene ircd-hybrid sia disponibile nel repository ufficiale di Ubuntu, lo compileremo dal suo codice sorgente poiché la versione di ircd-hybrid nel repository potrebbe non essere l'ultima. Per scaricare l'ultima versione di esso, ad es. 8.2.8 dal repository github ufficiale, ovvero https://github.com/ircd-hybrid/ircd-hybrid/ . Per farlo, dovremo eseguire il seguente comando.

$ cd /tmp/
$ wget https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz

--2015-07-18 08:35:31-- https://github.com/ircd-hybrid/ircd-hybrid/archive/8.2.8.tar.gz
Resolving github.com (github.com)... 192.30.252.129
...
Connecting to codeload.github.com (codeload.github.com)|192.30.252.145|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/x-gzip]
Saving to: ‘8.2.8.tar.gz’
8.2.8.tar.gz [ <=> ] 1022K 675KB/s in 1.5s
2015-07-18 08:35:35 (675 KB/s) - ‘8.2.8.tar.gz’ saved [1046078]

Dopo averlo scaricato, estrarremo il tarball usando il comando tar.

$ tar -xvf 8.2.8.tar.gz

2. Installazione di IRCD-Hybrid

Dopo aver finito di estrarre il tarball, ora entreremo nella directory che è stata appena estratta. Per farlo, dovremo eseguire il seguente comando.

$ cd ircd-hybrid-8.2.8/

Quindi, andremo a configurarlo in modo che Makefile possa essere generato per ircd-hybrid in modo da poter compilare i codici sorgente ircd-hybrid in binario usando il comando make. Per farlo, prima dovremo installare le dipendenze richieste per generare il makefile.

$ sudo apt-get install build-essential

Dopo aver installato le dipendenze, eseguiremo ora il seguente comando per generare il makefile.

$ ./configure --prefix="/home/arun/ircd"

Dopo che il makefile è stato generato, compileremo il codice sorgente in binario. Per farlo, dovremo eseguire il seguente comando.

$ make

Ora installeremo il nostro ultimo server ircd-hybrid creato eseguendo il comando seguente. Questo installerà ircd-hybrid all'interno della nostra home directory in una directory chiamata ircd.

$ make install

3. Download dei servizi Anope

Ora scaricheremo l'ultima versione dei servizi anope dal loro repository github ufficiale, ad esempio https://github.com/anope/anope/ . L'ultima versione del servizio anope è attualmente la 2.0.2. Scaricheremo i servizi anope nello stesso modo in cui abbiamo scaricato ircd-hybrid.

$ cd /tmp/
$ wget https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz

--2015-07-18 08:55:14-- https://github.com/anope/anope/releases/download/2.0.2/anope-2.0.2-source.tar.gz
Resolving github.com (github.com)... 192.30.252.128
...
Connecting to s3.amazonaws.com (s3.amazonaws.com)|54.231.244.4|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1775003 (1.7M) [application/octet-stream]
Saving to: ‘anope-2.0.2-source.tar.gz’
anope-2.0.2-source.t 100%[========================>] 1.69M 611KB/s in 2.8s
2015-07-18 08:55:19 (611 KB/s) - ‘anope-2.0.2-source.tar.gz’ saved [1775003/1775003]

Dopo averlo scaricato con successo, estrarremo il tarball usando il comando tar.

$ tar -xvf anope-2.0.2-source.tar.gz

4. Installazione dei servizi Anope

Dopo che il tarball è stato estratto, installeremo i servizi anope nella nostra distribuzione Ubuntu Linux. Per fare ciò, dovremo prima configurare la generazione del makefile in modo da poter compilare i codici sorgente in binario e installarlo nel nostro sistema. Ma prima, dovremo soddisfare la nostra dipendenza dal pacchetto necessaria per eseguire lo script Config. Per installare quella dipendenza, dovremo eseguire il seguente comando.

$ sudo apt-get install cmake

Quindi, eseguiremo il seguente comando per generare il makefile.

$ cd anope-2.0.2-source/
$ ./Config

Il comando precedente eseguirà un programma che ci porrà diverse domande riguardanti l'installazione e la configurazione per il nostro servizio anope. Possiamo semplicemente premere "Invio" per selezionare i valori predefiniti, quindi, il makefile verrà generato all'interno della directory build. Ora compileremo il codice sorgente in binario. Per farlo, dovremo eseguire il seguente comando.

$ cd build
$ make

Ora installeremo i servizi anope eseguendo il comando seguente. Questo installerà i servizi anope all'interno della nostra home directory in services.

$ make install

5. Correzione della proprietà

Poiché abbiamo appena installato il server ircd-hybrid e i servizi anope all'interno della nostra home directory, dovremo assicurarci che l'utente su cui stiamo eseguendo ircd-hybrid e i servizi anope disponga dell'accesso completo in lettura-scrittura e della proprietà della directory. Quindi, per modificare la proprietà di tali directory, dovremo eseguire il comando seguente.

$ sudo chown -R arun: ~/ircd ~/services

Nota: Qui, arun è il nome utente attraverso il quale eseguiremo il nostro servizio anope e il server ircd-hybrid. Quindi, sostituiscilo in base al tuo sistema e configurazione.

6. Generazione di password crittografate

Ora andremo a configurare il nostro ircd-hybrid in modo che funzioni correttamente come previsto. Prima di tutto, dovremo generare un hash della password crittografato utilizzando mkpasswd che sarà richiesto per la configurazione dei servizi ircd-hybrid e anope. La password in testo normale verrà utilizzata per ottenere i diritti di operatore sul nostro server irc. Per generare l'hash della password crittografata, dovremo eseguire mkpasswd seguito dalla password su cui vogliamo crittografare. Poiché mkpasswd si trova all'interno della directory bin della nostra directory di installazione ircd-hybrid, dovremo eseguire il comando seguente.

$ cd ~/ircd/bin/
$ ./mkpasswd

$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/

Nota: Questa password crittografata generata ha cioè $1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/ verrà utilizzato per la configurazione di ircd-ibrido e sarà necessaria una semplice password per ottenere il diritto dell'operatore. Pertanto, si consiglia vivamente di conservare questa password in un luogo sicuro in modo da poterla utilizzare in seguito.

7. Configurazione di ircd-hybrid

Qui, configureremo ora il nostro server ircd-hybrid con configurazioni semplici che sono sufficienti per eseguire un server IRC sano. Ecco alcune configurazioni di base che dobbiamo fare in modo che il nostro server IRC funzioni correttamente. Per fare ciò, dovremo prima creare il nostro nome file di configurazione predefinito come ircd.conf all'interno della directory ~/ircd/etc/. Possiamo facilmente crearlo copiando reference.conf in ircd.conf. Per farlo, eseguiremo il seguente comando.

$ cp ~/ircd/etc/reference.conf ~/ircd/etc/ircd.conf

Quindi, modificheremo il file ircd.conf utilizzando il nostro editor di testo preferito.

$ nano ~/ircd/etc/ircd.conf

Ora cambieremo la prima sezione, ad esempio il blocco serverinfo{}, come richiesto. Qui cambieremo i valori per nome, descrizione, nome_rete e descrizione_rete come mostrato di seguito.

/* serverinfo {}: Contains information about the server. (OLD M:) */
serverinfo {
name = "irc.linoxide.com";
description = "Linoxide IRC Server";
network_name = "Linoxide";
network_desc = "Linoxide IRC Network";
};

Successivamente, apporteremo modifiche al blocco admin{}. Questo blocco contiene e visualizza le informazioni di amministrazione sul server. Pertanto, apporteremo modifiche al valore del nome, della descrizione e dell'e-mail come nostro requisito.

/* admin {}: contains admin information about the server. (OLD A:) */
admin {
name = "Linoxide Admin";
description = "Linoxide IRC Server Administrator";
email = "<[email protected]>";
};

Quindi, commenteremo l'opzione host con "#" nel blocco listen{} per associare al server tutti gli indirizzi IP disponibili.

#   host = "192.168.0.1";

Successivamente, commenteremo i flags =need_ident riga sotto il blocco auth{} che si trova appena sopra il blocco operator{}.

#   flags = need_ident

Dopodiché, dovremo scorrere verso il basso fino al blocco dell'operatore{}. Questo blocco definisce l'operatore del server. Qui, name definisce il nome dell'operatore, user con valore come *@127.0.0.1 definisce che qualsiasi utente localhost può connettersi come root. Quindi, aggiungeremo l'hash della password crittografata nell'opzione della password come mostrato di seguito.

/* operator {}: defines ircd operators. (OLD O:) */
operator {
name = "root";
user = "*@*127.0.0.1";
password = "$1$jcKeU1nP$3u.uVI3wxyLswDnw1S5mA/";
encrypted = yes;
};

Ora modificheremo il nostro blocco connect{} in modo da poter definire il server ircd-hybrid per la connessione con i servizi anope utilizzando la configurazione seguente. Questa configurazione dovrebbe corrispondere alla configurazione dei servizi anope che creeremo nel passaggio successivo. Qui, la sezione del nome non è il nome del server di ircd-hybrid ma è il nome dei servizi anope.

connect {
name = "ircservices.linoxide.com";
host = "127.0.0.1";
send_password = "mypassword";
accept_password = "mypassword";
encrypted = no;
hub_mask = "*";
class = "server";
};

Dopo aver eseguito tutte le configurazioni desiderate e richieste, salveremo il file e usciremo.

Quindi, avvieremo il nostro server ircd-hybrid eseguendo il comando seguente.

$ cd ~/ircd/bin/
$ ./ircd

Questo eseguirà il nostro server IRC. Possiamo provarlo provando a connetterci al nostro server IRC usando l'indirizzo IP del server o usando il dominio del server irc senza il nostro client IRC. Per connetterci, possiamo anche eseguire il seguente comando nel nostro client IRC.

/server irc.linoxide.com

8. Configurazione dei servizi Anope

Ora configureremo i nostri servizi anope per la connessione con il nostro server ircd-hybrid. Per fare ciò, prima dovremo creare il nostro file di configurazione predefinito chiamato services.conf all'interno della directory conf della directory di installazione di anope services. C'è un file example.conf che possiamo modificare per far funzionare bene i servizi anope. Quindi, dovremo copiare example.conf e incollarlo come services.conf.

$ cd ~/services/conf/
$ cp example.conf services.conf

Ora modificheremo il nostro file di configurazione dei servizi anope utilizzando il nostro editor preferito.

$ nano services.conf

Ora apporteremo le modifiche al blocco di uplink{}. Qui, host è mantenuto come 127.0.0.1 poiché il nostro server IRC è in esecuzione nel nostro stesso server sotto localhost. Poiché non stiamo usando ipv6, lo disabiliteremo semplicemente. Se stiamo eseguendo anope in un server diverso, si consiglia di abilitare ssl mantenendo il valore come "yes", ma poiché stiamo eseguendo sia il server irc che anope sullo stesso server, lo disabiliteremo semplicemente con il valore "no". Poiché la porta predefinita del server irc è 6667, la manterremo uguale. L'opzione password dovrebbe definire la password che abbiamo assegnato nel blocco connect{} della configurazione ircd (ircd.conf), cioè nel nostro caso mypassword.

uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 6667
password = "mypassword"
}

Successivamente, imposteremo il nome del nostro servizio anope e la descrizione dei nostri servizi Anope che si trova nel blocco serverinfo{}. Il valore del nome di esso deve corrispondere al valore che abbiamo assegnato nel blocco connect{} della configurazione di ircd (ircd.conf), qui abbiamo mantenuto ircservices.linoxide.com .

serverinfo
{
name = "ircservices.linoxide.com"
description = "Services for Linoxide IRC Networks"
pid = "data/services.pid"
motd = "conf/services.motd"
}

Successivamente, poiché stiamo eseguendo ircd-hybrid come nostro server irc, assegneremo semplicemente il valore di name sotto modue{} block come "hybrid".

name = "hybrid"

E manterremo il nome della rete come "Linoxide IRC" nel blocco networkinfo{}.

networkname = "Linoxide IRC"

Dopo che tutto è stato configurato come nostro requisito e desiderio, ora salveremo e usciremo dal file.

9. Avvio dei servizi Anope

Infine, dopo aver completato la configurazione della nostra configurazione anope, avvieremo ora i nostri servizi anope. Per fare ciò, dovremo entrare nella cartella bin situata all'interno della directory di installazione di anope. Quindi, eseguiremo il nostro script anoperc come mostrato di seguito.

$ cd ~/services/bin/
$ ./anoperc start

Starting Anope
Anope 2.0.2, build #2, compiled 12:22:26 Jul 18 2015
Using configuration file conf/services.conf
Attempting to connect to uplink #1 127.0.0.1 (127.0.0.1), port 6667
Successfully connected to uplink #1 127.0.0.1:6667
Successfully linked, launching into background...

Questo avvierà i nostri Servizi Anope. Se inaspettatamente i nostri servizi anope non si avviano, possiamo semplicemente risolverlo controllando il nostro registro che si trova all'interno della directory dei registri. Qui, nella nostra installazione, è in ~/services/logs/

Ora, per verificare se il nostro servizio anope funziona correttamente o meno, possiamo semplicemente eseguire /msg NickServ help nel nostro client IRC. Se abbiamo visto opzioni e flag per il comando NickServ, possiamo verificare che il nostro servizio Anope funzioni in modo eccellente. Per prima cosa dobbiamo ottenere l'accesso dell'operatore utilizzando il comando /oper seguito da nome utente e password che abbiamo creato in precedenza per l'operatore.

/oper root password

Dopo aver effettuato l'accesso come operatore, eseguiremo il rehashing del nostro server IRC ibrido ircd.

/rehash

Quindi, testeremo finalmente il nostro server anope eseguendo il comando seguente.

/msg nickserv help

10. Abilitazione della crittografia SSL/TLS

Per abilitare la crittografia SSL, dovremo installare il pacchetto di sviluppo openssl nella nostra macchina Ubuntu 15.04. Quindi, dovremo ricompilare il nostro ircd-hybrid, generare i propri certificati SSL poiché non abbiamo un certificato affidabile e configurare la configurazione di ircd-hybrid per abilitare la porta SSL, ad esempio 6697.

Quindi, per installare il pacchetto di sviluppo openssl, dovremo eseguire il seguente comando.

$ sudo apt-get install libssl-dev

Possiamo semplicemente seguire i passaggi 1 e 2 per ricompilare ircd-hybrid. Successivamente, genereremo i nostri certificati SSL e li terremo nella directory ~/ircd/etc/.

$ cd ~/ircd/etc/
$ openssl genrsa -out rsa.key 2048
$ chmod 600 rsa.key

Dopo che la chiave RSA è stata generata, genereremo il certificato e il file dei parametri DH.

$ openssl req -new -days 365 -x509 -key rsa.key -out cert.pem
$ openssl dhparam -out dhparam.pem 2048

Ora configureremo il nostro ircd.conf e abiliteremo il metodo di crittografia SSL/TLS. Per farlo, apriremo ircd.conf con il nostro editor preferito.

$ nano ~/ircd/etc/ircd.conf

Ora decommentiamo le seguenti righe che si trovano nel blocco serverinfo{}.

rsa_private_key_file = "etc/rsa.key";
ssl_certificate_file = "etc/cert.pem";
ssl_dh_param_file = "etc/dhparam.pem";

Infine, riavvieremo il nostro server ircd-hybrid. Per riavviare, dovremo eseguire i seguenti comandi.

$ killall -9 ircd
$ ~/ircd/bin/ircd

Dopo che il nostro server è in esecuzione, dovremo testare che la nostra crittografia SSL/TLS funzioni o meno. Ora possiamo accedere al nostro server irc con crittografia SSL/TLS eseguendo il seguente comando nel nostro client IRC.

/server irc.linoxide.com +6697

Conclusione

IRCD-Hybrid è un ottimo esempio di server IRC leggero, veloce ed efficiente. Sebbene gli IRC siano considerati come vecchie tecnologie per la comunicazione elettronica, è un mezzo di comunicazione fantastico, veloce e sicuro. Anope aggiunge alcuni fantastici funzionalisti e funzionalità oltre a ircd-hybrid che rende il nostro server irc gestito correttamente. Quindi, si consiglia sempre di usare anope come servizio se si esegue ircd-hybrid come demone irc. Per consentire agli scanner di monitorare il nostro server IRC rispetto a proxy aperti, hopm è anche un ottimo strumento sviluppato dagli sviluppatori ircd-hybrid. Se hai domande, suggerimenti, feedback, scrivili nella casella dei commenti qui sotto in modo che possiamo migliorare o aggiornare i nostri contenuti. Grazie ! Divertiti :-)


Ubuntu
  1. Come configurare Apache Subversion con Lets crittografa SSL su Ubuntu 18.04

  2. Configurazione dell'ambiente di sviluppo Ruby on Rails con Docker e Docker Compose su Ubuntu

  3. Come installare il software Ghost Blog con Apache e SSL su Ubuntu 16.04

  4. Configura Apache e Php con mod_fcgid su Ubuntu/Debian

  5. Configura Apache 2.4 e Php FPM con mod proxy fcgi su Ubuntu 13.10

Come installare Webmin e proteggerlo con Lets Encrypt SSL su Ubuntu 20.04 LTS

Come installare ProjectSend con Apache e Lets Encrypt SSL su Ubuntu 20.04

Come installare il software Ghost Blog con Apache e SSL su Ubuntu 15.10

Come installare Moodle con Nginx e Lets Encrypt SSL su Ubuntu 20.04

Come configurare il server di posta elettronica con Mailinabox su Ubuntu 14.04

Come configurare Let's Encrypt certificato SSL con Nginx su Ubuntu 18.04 e Ubuntu 16.04