Date actuelle : Mardi - 19 Juin -, 13:18 Bienvenue, Visiteur ! (ConnexionS'enregistrer)

Poster une réponse 
 
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Mettre en place ZNC - bouncer IRC
Auteur Message
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #1
Mettre en place ZNC - bouncer IRC

Installation d'un bouncer IRC sur un VPS

Un bouncer vous servira à rester connecté à différents serveurs irc et donc aux salons associés. Vous aurez ainsi un historique des conversations et l'on pourra vous laisser des messages en votre absence.


On commence par se prendre un petit VPS chez ovh car c'est pas cher et on va donc se mettre ZNC dessus.

Pour commencer on installe debian dessus, et donc autant prendre la dernière version dispo :) Debian 8 Jessie

Comme base pour ce tuto, j'ai suivi le tuto suivant : https://upandclear.org/2015/09/17/mettre...-securite/ [archive : https://web.archive.org/web/201602201858...-securite/ ]

Il est adapté à mes besoins et mon cas, n'hésitez pas à vous y référer.

On commencer par se loguer via putty en utilisant le compte fournit par ovh.
On change le mot de passe root:
Code :
passwd

On met à jour le système :
Code :
apt-get update && apt-get upgrade -yy

Moi aussi je préfère l'éditeur nano car j'ai débuté avec lui donc on l'installe :
Code :
apt-get install nano

On installe de quoi avoir son serveur à la bonne heure :
Code :
apt-get install ntp
/etc/init.d/ntp start

On reconfigure la zone pour l'heure :
Code :
dpkg-reconfigure tzdata


Partie mise à jour auto :

Sources : http://www.troubleshooters.com/linux/nullmailer/ [archive : https://archive.is/e0kua ]
http://www.it-connect.fr/envoi-de-mail-avec-nullmailer/ [archive : https://archive.is/y7CLH]
https://opensourcehacker.com/2013/03/25/...boud-mail/ [archive : https://archive.is/53AfU ]
http://blog.janjonas.net/2011-04-22/conf...entication [archive : https://archive.is/LDyT1 ]
http://forum.lowendspirit.com/viewtopic.php?id=1305 [archive : https://archive.is/NISVp ]

Comme par la suite on va utiliser nullmailer pour recevoir des mails concernant les mises à jour automatique, il faut au préalable enlever exim4 qui peut être sur votre machine. Cela n'a pas l'air d'être le cas sur le vps d'ovh, mais dans le doute, voici les commandes du tuto que je suis :
Code :
dpkg -r exim4
dpkg --purge exim4

On installe nullmailer : (lors de son installation, laissez les paramètres par défaut, on va les modifier juste après)
Code :
apt-get install nullmailer

Et donc on configure :
Code :
cd /etc/nullmailer

dans "remotes" on met la config pour notre boite mail openmailbox (ou autre si vous voulez) :
Code :
nano remotes
et remplacez ce qu'il y a par
Code :
smtp.openmailbox.org smtp --port=465 --auth-login --user=moi@openmailbox.org --pass=motdepasse --ssl
(modifiez avec votre adresse mail et votre mot de passe)

On change ensuite ses paramètres d'accès afin que d'autre processus de la machine n'ai pas accès à nos identifiants :
Code :
chown mail /etc/nullmailer/remotes
chmod go-rwx /etc/nullmailer/remotes

Les paramètres suivants servent à ce que l'expéditeur ait la même adresse mail que votre boite mail que vous utilisez afin qu'il n'y est pas d'erreur. J'avais un soucis, les mails ne voulaient pas être envoyé car de base via cron, l'utilisateur est root et le domaine essocié est celui de votre vps. J'avais donc un mail du genre root@vps653256.ovh.net au lieu de moi@openmailbox.org. Pour palier à ceci, faire comme suit.

dans "me" on met le nom de domaine de notre boite mail: (toujours dans /etc/nullmailer)
Code :
nano me
et donc dedans on met :
Code :
openmailbox.org

de même dans "defaulthost" et "defaultdomain".

On modifie aussi /etc/mailname
Code :
cd /
nano /etc/mailname

on remplace ce qu'il y a dedans par :
Code :
openmailbox.org

On change l'adresse admin pour nullmailer afin qu'on reçoive les messages d'erreur:
Code :
nano /etc/nullmailer/adminaddr
et dedans on met :
Code :
moi@openmailbox.org

Mais ce n'est pas tout, là nous n'avons que le bon domaine dans l'adresse mail, elle reste encore sous la forme root@openmailbox.org.

Pour résoudre cela on va utiliser le script suivant : https://github.com/benzinrts/nullmailer-from-patch
On fait comme dit dans le readme :
Code :
mv /usr/sbin/sendmail /usr/sbin/sendmail-bin
nano /usr/sbin/sendmail

et on copie/colle le script:
Code :
#!/bin/bash

# v1.0
# This script changes value of "-f" argument of sendmail command when using nullmailer.
# If abscent, "-f" argument with value will be added to command line parameters.
# Script also changes "From" and "To" fields in email message (may be optional).
# Tested with nullmailer v1.13-r5 on Gentoo Linux.

stdin=$(</dev/stdin)
optIndex="0"

# New value for "-f" argument.
newFrom="somebody"

# Regexes for changing email "From" and "To" fields.
newAddress="somebody@example.com"
fromRE="From:(.*)<.*>"
fromChangeRE="From:\1<$newAddress>"
toRE="To:.*"
toChangeRE="To: $newAddress"

# Find (if present) "-f" argument and store it's value index.
# First ":" turns off verbose error reporting.
while getopts ":f:" flag; do
    case $flag in
        f) optIndex=$OPTIND
           break
           ;;
    esac
done

# Get list of current argumetns.
args=($@)

# $OPTIND starts from 1 and points to next arg.
# If "-f" is found, $optIndex will not be 0.
if (($optIndex != 0)); then
    # "-f" is found. Change its value.
    # $@ starts from 0 so we need to subtract 2 from $optIndex.
    args[(($optIndex-2))]=$newFrom

    # Set new arguments.
    set -- "${args[@]}"
else
    # "-f" is not found. Add "-f <fromName>" as first argument.
    new_args=()
    new_args[0]="-f"
    new_args[1]=$newFrom

    # Copy old argumetns to new array.
    for ((i=0; i < ${#args[@]}; i++)) do
        new_args[(($i+2))]=${args[$i]}
    done

    # Set new argumentss.
    set -- "${new_args[@]}"
fi

# Change both "From" and "To" fields to $newAddress (some mail servers need this).
# Comment "sed" commands if you don't need such behaviour.
newMessage=$(echo "$stdin" | sed -E "0,/$fromRE/s//$fromChangeRE/" | sed -E "0,/$toRE/s//$toChangeRE/")

# Call original sendmail with new parameters and message.
echo "$newMessage" | /usr/sbin/sendmail-bin $@

Bien changer "somebody" et "somebody@example.com" vers le début du code pour vos paramètres associés à votre boite mail "moi" et "moi@openmailbox.org".

On modifie les droits et on rend cela exécutable :
Code :
chown 755 /usr/sbin/sendmail
chmod +x /usr/sbin/sendmail

On relance nullmailer pour prendre en compte ces nouveaux paramètres :
Code :
/etc/init.d/nullmailer restart

On peut tester avec :
Code :
echo "Subject: test" | sendmail moi@openmailbox.org

Vous devriez recevoir un mail test sans contenu.

Si soucis, pour débug vous pouvez regardez par là :
Code :
tail -f /var/log/mail.log /var/log/mail.err
(ctrl+c pour en sortir)
ou
Code :
tail -n 30 /var/log/syslog

Les mails en attente sont dans /var/spool/nullmailer/queue/ pour les supprimer :
Code :
rm -f /var/spool/nullmailer/queue/*


On installe et configure donc maintenant cron pour qu'il installe tout seul les majs et nous envoie un recap.
Code :
apt-get install cron-apt
nano /etc/cron-apt/config

dedans on ajoute :
Code :
APTCOMMAND=/usr/bin/apt-get
OPTIONS="-o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list"
MAILTO="moi@openmailbox.org"
MAILON="always"
(vous modifiez le mail hein °°)

On modifie ensuite un petit peu un autre fichier pour qu'il installe bien les mises à jour dispo :
Code :
nano /etc/cron-apt/action.d/3-download

et dedans on enlève le "-d" pour que la seconde ligne devienne :
Code :
dist-upgrade -y -o APT::Get::Show-Upgraded=true

ensuite on va mettre tout bien sa fréquence pour qu'il se lance lorsqu'on le désire :
Code :
nano /etc/cron.d/cron-apt

et on commente la ligne d'exemple (avec un #) et on ajoute en fin :
Code :
00 04 * * *  root /usr/sbin/cron-apt

La mise à jour se lancera tous les jours à 4H du matin, pour un autre fréquence, vous pouvez vous référez à : http://www.commentcamarche.net/contents/...des-taches [archive : https://archive.is/WP5ZR ]

Vous pouvez faire un test en lançant la commande "cron-apt" (peut prendre une ou deux minutes) et vous devriez recevoir directement le type de mail que vous aurez, du genre :


Code :
CRON-APT completed on vps235689.ovh.net [/etc/cron-apt/config] From moi@openmailbox.org

CRON-APT RUN [/etc/cron-apt/config]: Tue Dec 29 22:45:24 CET 2015
CRON-APT ACTION: 0-update
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list update -o quiet=2
CRON-APT ACTION: 3-download
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list autoclean -y
Reading package lists...
Building dependency tree...
Reading state information...
CRON-APT LINE: /usr/bin/apt-get -o quiet=1 -o Dir::Etc::SourceList=/etc/apt/sources.list dist-upgrade -y -o APT::Get::Show-Upgraded=true
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Note : Il peut être intéressant de ne mettre en place que les mises à jour de sécurité car tout mettre à jour peut poser certains soucis de stabilité. Dans le cas présent, ce n'est pas primordiale nous dirons. Certains processus peuvent aussi demander d'être redémarrés après une mise à jour. Plus d'info sur cette page : http://jeyg.info/garder-sa-debian-a-jour...-fatiguer/ [archive : https://archive.is/DaQaQ ]


Note 2 : Le temps d'attente des messages peut-être assez long, 30min à 1H lorsque c'est en mode auto via cron. Alors qu'en faisant un test avec "cron-apt", je recevais le mail dan la minute. Ne prenez donc pas peur si vous recevez pas tout de suite le mail après avoir mis la tâche cron toutes les deux minutes pour voir si ça marchait bien.

Note 3 : Après avoir laissé tourner une nuit complète, le lendemain j'avais un autre mail dans ma boîte :
Sujet : Cron <root@vps235689> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
/etc/cron.daily/man-db:
/usr/bin/mandb: can't set the locale; make sure $LC_* and $LANG are correct

Cela vient d'une tâche journalière, et il y a aussi une tâche hebdomadaire et mensuelle qui devrait nous donner la même erreur. Vous pouvez les voir dans "/etc/crontab". Pour régler le soucis, il faut reconfigurer correctement la variable langue, pour savoir laquelle est à utilisée, faîtes
Code :
cat /etc/default/locale

Personnellement, j'obtiens "LANG=en_US.UTF-8"
Ensuite vous faîtes :
Code :
dpkg-reconfigure locales
Un écran s'affiche, dans la liste, vous déselectionnez ou sélectionnez avec la touche espace et donc dans la première liste, vous prenez seulement ce qui correspond à ce que vous avez obtenu.

Sources : http://osdir.com/ml/debian-user-debian/2...00637.html [archive : https://archive.is/m072g ]
https://redscreen.wordpress.com/2010/08/...e-correct/ [archive : https://archive.is/seq5J ]

Note 4 : Vous pouvez vérifier les process qui demandent à être relancé après une mise à jour en utilisant checkrestart. On install d'abord le paquet qui nous le permettra :
Code :
apt-get install debian-goodies

et ensuite il suffira de faire :
Code :
checkrestart

Source : http://www.pontikis.net/blog/simple-step...ian-server [archive : http://archive.is/jKosq ]



Partie "sécuritée" :

On installe sudo pour l'utilisation avec un autre utilisateur en mode root :
Code :
apt-get install sudo

On crée un nouvel utilisateur avec son dossier :
Code :
useradd -d /home/user1 -m user1
("user1" est le nom de l'utilisateur que vous voulez créer)

On lui crée son mot de passe :
Code :
passwd user1

On pourra changer d'utilisateur en faisant "su nom_user"

On empêche la connexion en root via ssh et on modifie le port par défault :
Code :
nano /etc/ssh/sshd_config

Modifiez les lignes :
Code :
Port 2653 #(par exemple)
PermitRootLogin no

Ainsi, vous n'utiliserez plus le port commun 22 pour le ssh ce qui évitera les scans sur ce port. Par contre, en empêchant le login en root, cela vous empêchera de vous connecter en root sur le ftp, donc penser à changer ça si vous en avez besoin :)

Il faudra donc vous conecter avec votre second utilisateur sur le bon port avec de passer en root dans la console en utilisant la commande "su".

Vous relancez ssh :
Code :
/etc/init.d/ssh restart

On continue la suite toujours en root.

On met en place fail2ban qui va avoir pour rôle de bannir pour une certaine durée les personnes ayant essayé de se loguer avec de mauvais identifiants/mot de passe :
Code :
apt-get install fail2ban

On configure la bonne ligne pour le port ssh en mettant celui qu'on a définit au préalable.
Code :
nano /etc/fail2ban/jail.conf

On va modifier l'email qui va être prévenu en cas de blocage d'ip, ligne :
Code :
destemail = moi@openmailbox.org

Et afin d'avoir plus de détail concernant ce bannissement, on peut modifier ausi la ligne suivant en ajoutant "mwl" :
Code :
action = %(action_mwl)s

on enregistre et c'est bon. Plus de détails sur les autres valeurs dans le tuto de Aerya : https://upandclear.org/2015/09/17/mettre...e-securite

On peut aussi modifier le fichier suivant :
Code :
nano /etc/fail2ban/action.d/sendmail-whois-lines.conf

Et ajouter à la suite de Fail2Ban, dans les sujets, le nom de la machine ou un nom distinctif si vous en avez plusieurs.

Finalement, on dit à Fail2Ban de se lancer après la mise en place des prochaines règles.
Code :
nano /etc/init.d/fail2ban

On rajoute donc "$iptablesrules" au début du fichier dans la ligne :
Code :
# Required-Start: $local_fs $remote_fs $iptablesrules

On relance Fail2Ban :
Code :
/etc/init.d/fail2ban restart

Comme spécifié dans le tuto que je suis, on met aussi en place portsentry qui va nous permettre d'empêcher le scanne des ports de la machine via un petit script dans iptables. On installe donc Portsentry :
Code :
apt-get install portsentry

On le configure :
Code :
nano /etc/portsentry/portsentry.conf

On modifie les lignes suivantes :
Code :
BLOCK_UDP="1"
(blocage des ports UDP en cas de détection de scanne)
Code :
BLOCK_TCP="1"
(blocage des ports TCP en cas de détection de scanne)
Code :
KILL_ROUTE="/sbin/route add -host $TARGET$ reject"
(blocage d’un scanne) - juste décommenter la ligne
Code :
KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
(ajout de l’IP qui scanne dans iptables (firewall)) - juste décommenter la ligne

Note : on peut rechercher les termes en majuscules en faisant ctrl+w une fois dans l'éditeur nano.

On relance portsentry :
Code :
/etc/init.d/portsentry restart

On peut maintenant passer à la mise en place du parefeu iptables et pour cela il faut commencer par l'installer :
Code :
apt-get install iptables

Puis on édite le fichier de règles :
Code :
nano /home/user1/iptablesrules.sh

Dedans on va venir mettre les règles suivantes qui vont servir à bloquer tous les ports entrants non utilisés par nous et laisser le traffic sortant libre ; on autorise le ping sur la machine mais on bloque le syn flood et le scanne de ports. Ce script repose sur celui proposé par Aerya dans son tutoriel.

Code :
#!/bin/sh
### BEGIN INIT INFO
# Provides: iptablesrules
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Petites modif effectuees sur - IPtables Rules UpAndClear.org - Mettre en place un bouncer IRC (ZNC) avec ou sans Tor + un peu de sécurité
### END INIT INFO

# Reinitialisation tables
iptables -t filter -F
iptables -t filter -X

# Blocage trafic entrant
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP

# Autorisation trafic sortant
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

#Activation routage
echo 1 > /proc/sys/net/ipv4/ip_forward

#Ne pas toucher au trafic entrant déjà autorisé
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Autorisation loopback
iptables -t filter -A INPUT -i lo -p all -j ACCEPT

# Autorisation ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT

#Protection syn flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/second -j ACCEPT

#Protection scanne
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#Autorisation SSH entrant
iptables -A INPUT -p tcp --dport CHANGER -j ACCEPT

#Autorisation http/s
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT

#Autorisation bouncer IRC (ZNC)
iptables -t filter -A INPUT -p tcp --dport CHANGER -j ACCEPT
#Ce port sera à remettre lors de la configuration de ZNC

# Sauvegarder les regles pour qu elles soient chargees si reboot
iptables-save -c > /etc/iptables-save

Note : Pensez à modifier le port pour ssh et celui pour znc concerne le webadmin qu'on va voir par la suite.


On le copie dans init.d :
Code :
cp /home/user1/iptablesrules.sh /etc/init.d/iptablesrules

On le rend exécutable :
Code :
chmod +x /etc/init.d/iptablesrules

On le met à exécution à chaque démarrage du serveur :
Code :
update-rc.d iptablesrules defaults

On peut lancer le bouzin :
Code :
/etc/init.d/iptablesrules

Note : Pour voir les règles iptables en cours, il suffit de taper la commande suivante :
Code :
iptables -L


Le tuto que je suis propose d'installer un autre truc tout léger à l'instar de nullmailer, qui fera bien son taf sans plus :) Des bons petits trucs comme j'aime bien. Et pour le coup il s'agit de surveiller les processus qui tournent et nous avertir par email que en cas de problème. Il s'agit de MOTDstat, plus d'infos ici : http://blog.admin-linux.org/administrati...tem-status / http://www.gelogic.net/motdstat/documentation/

On commence par le récupérer en ligne :
Code :
wget -P /home/user1 http://www.gelogic.net/wp-content/uploads/2014/07/MOTDstat-0.0.4.tar.gz

On le décompresse :
Code :
cd /home/user1
tar xzf MOTDstat-0.0.4.tar.gz

Puis on le compile :
Code :
cd MOTDstat-0.0.4
Code :
apt-get install make
(car on en a besoin du coup ^^)
Code :
make

Et on installe ça :
Code :
make install

On finit par supprimer l'archive téléchargée au début :
Code :
cd ..
rm -f MOTDstat-0.0.4.tar.gz

Pour modifier la liste des processus à surveiller, il faut éditer le fichier suivant :
Code :
nano /etc/motdstat/process

Dans notre cas on rajoute donc "znc" à la liste.

Puis on va renseigner notre email afin d'être averti correctement :
Code :
nano /etc/motdstat/motdstat.conf

Au déut du fichier vous renseignez votre mail :
Code :
# When the EMAIL is set, the motdstat will send e-mail notification when
# some event occures. Requires the mail command installed
EMAIL="moi@openmailbox.org"

On le met à exécution automatique :
Code :
crontab -e
(tapez 2 pour choisir l'éditeur nano ou autre comme spécifié)

à la fin du fichier qui s'ouvre ajoutez :
Code :
*/5 * * * *   /usr/bin/motdstat --generate

Pour tester que ça fonctionne bien :
Code :
motdstat --generate

Note : De mon côté, j'obtiens une erreur "cat: /tmp/.motdstat_disk_7302: No such file or directory".
Et donc après recherche, je suis tombé là-dessus : http://arobaseinformatique.eklablog.com/...a106268700 [archive : https://archive.is/fn0pX ]
Cela vient du fait que je n'ai rien de spécifié dans "fstab_limits", pour palier à cette erreur
Code :
nano /etc/motdstat/fstab_limits

et ajoutez en dessous
Code :
/                               80      90

Et voilà, plus d'erreur :)

Maintenant, vous pouvez commenter la ligne dans "crontab -e" histoire de pas recevoir des messages toutes les 5 minutes car znc est pas lancé puisqu'on l'a pas encore installé. Pensez juste à le remettre bien après ;-)

Note :
J'avais des messages comme quoi j'utilisais beaucoup la swap (https://doc.ubuntu-fr.org/swap), en fait c'est parce que ce n'est pas mis en place sur le vps. Si vous voulez, voilà de la doc : https://www.digitalocean.com/community/t...e-on-a-vps

Du coup on va enlever les alertes pour cela, avant d'installer le tout, dans le fichier :
("make uninstall" dans le dossier MOTDstat-0.0.4 pour désinstaller)

Code :
cd MOTDstat-0.0.4/
make uninstall

Code :
nano bin/motdstat

j'ai commenté la partie suivante :
Code :
#   if [ $PERCENTOS -ge $SWAP_USAGE_CRITICAL ] || [ $SWAPTOTAL -eq 0 ]; then
#       red "$SWAP" >> $COLL_MEM
#       CR_MEM=1
#       report "WARNING: usage of the SWAP space is more than ${SWAP_USAGE_CRITICAL}%"
#
#       # Execute custom command
#       if [ -n "${SWAP_TRESHOLD_EXEC}" ]; then
#               report "WARNING: executing command: \"$SWAP_TRESHOLD_EXEC\""
#               report "--->%---"
#               report "$(eval ${SWAP_TRESHOLD_EXEC} 2>&1)"
#               report "--->%---"
#       fi
#    else
#
#       if [ $PERCENTOS -ge $SWAP_USAGE_WARNING ] && [ $PERCENTOS -lt $SWAP_USAGE_CRITICAL ]; then
#           yellow "$SWAP" >> $COLL_MEM
#           WR_MEM=1
#           report "CRITICAL: usage of the SWAP space is more than ${SWAP_USAGE_WARNING}%"
#               # Execute custom command
#               if [ -n "${SWAP_TRESHOLD_EXEC}" ]; then
#                       report "CRITICAL: executing command: \"$SWAP_TRESHOLD_EXEC\""
#                       report "--->%---"
#                       report "$(eval ${SWAP_TRESHOLD_EXEC} 2>&1)"
#                       report "--->%---"
#               fi
#        else
#           echo "$SWAP" >> $COLL_MEM
#       fi
#    fi

puis on recommence
Code :
make
make install....


Installation de ZNC :

On arrive enfin à cette partie ^^
On continue de suivre ce que préconise Aerya dans son tuto et on va donc compiler directement znc sur la machine et on commence par installer ce dont on va avoir besoin pour cela :
Code :
apt-get update && apt-get upgrade -yy
apt-get install build-essential libssl-dev libperl-dev pkg-config libicu-dev
cd ~

On récupère les sources de znc :
Code :
wget http://znc.in/releases/znc-latest.tar.gz

On décompresse tout ça et on peut supprimer l'archive téléchargée :
Code :
tar -xzf znc-latest.tar.gz
rm -f znc-latest.tar.gz

On lance la configuration en notifiant qu'on veut bien mettre openssl pour se connecter de façon sécurisé aux chans :
Code :
cd znc-*
./configure --with-openssl

On compile :
Code :
make

On installe :
Code :
make install

Et voilà o/

On va maintenant configurer znc pour rejoindre un chan afin de voir comment le faire fonctionner et vérifier qu'il fonctionne bien ^^
On va faire tourner znc sous l'utilisateur que l'on a préalablement créé, on pourra plus tard s'en servir pour router toutes les communications de cet utilisateur via le vpn.

Code :
su user1
cd ~
znc --makeconf

Et on va répondre aux questions demandées :
Listen on port (1025 to 65534) : il s'agit du port que l'on a indiqué dans le fichier de configuration d'iptables.
Listen using SSL (yes/no) [no]: yes
Listen using both IPv4 and IPv6 (yes/no) [yes]: yes
Username (alphanumeric): ADMIN (il s'agit du compte admin dont vous vous servirez pour administrez znc via le webadmin)
Enter password:
Confirm password:
(je n'ai rien renseigné pour les champs suivants, on le fera par l'admin web)
Nick [ADMIN]:
Alternate nick [admin_]:
Ident [ADMIN]:
Real name [Got ZNC?]:
Bind host (optional):
Enabled user modules [chansaver, controlpanel]
Set up a network? (yes/no) [yes]: yes (de même ici, j'ai dit oui, mais, je ne renseigne rien...)
[ ** ]
[ ** ] -- Network settings --
[ ** ]
[ ?? ] Name [freenode]:
[ ?? ] Server host [chat.freenode.net]:
[ ?? ] Server uses SSL? (yes/no) [yes]:
[ ?? ] Server port (1 to 65535) [6697]:
[ ?? ] Server password (probably empty):
[ ?? ] Initial channels:

Launch ZNC now? (yes/no) [yes]: yes

Et voilà, znc doit être en train de tourner.



Configuration de znc via le webadmin :

On peut dès à présent se connecter via l'interface web de znc à l'adresse suivante : https://ip.de.la.machine:port et connectez vous avec le compte ADMIN que vous avez créé.
Puis on se rend dans ZNC » webadmin » Settings et voici ce que j'ai mis dans la parties modules :

   

Libre à vous de faire de même et de vous renseignez sur les modules via les liens dispos dans le webadmin.


On se rend ensuite dans "Your settings" afin de paramétrer notre compte IRC :

   


On peut voir dans la partir "Network" qu'il y a un chan freenode, cela vient lors de l'installation, on a dit oui, fallait pas :D Pouvez le supprimer : DEL.

Vous faîtes donc ensuite ADD et vous pouvez ajouter ce qu'il faut

   


Il faut au préalable sauver la configuration du network avant de pouvoir ajouter un channel.

   


Normalement il est possible de se connecter maintenant.

Pour cela, rendez vous dans Kvirc etpour rejoindre votre session vous tapez :
Code :
/server -ssl ip.du.serveur PORT

De là on vous demandera de vous connecter à votre utilisateur directement ou à un réseau en particulier, pour tout rejoindre :
Code :
/quote PASS pseudo:mdp


Pour vous connecter à des serveurs via ssl, vous devrez spécifier leur port ssl. Ensuite il faudra faire confiance à leurs certificats. Lors de votre connexion à votre compte, vous verrez une fenêtre "status" qui sera ouverte et qui vous dira de taper une commande genre
Code :
If you trust this certificate, do /znc AddTrustedServerFingerprint u4:86:20:8n:47:55:41:2f:b7:58:5b:23:6f:05:13:6f:af:36:d2:3b:f9:c5:21:3e:b8:0d:d3​:3a:a0:43:85:a6

Vous devrez peut-être faire cela plusieurs fois si le réseau possède plusieurs serveurs.

Sinon, vous pouvez spécifier par la suite un serveur en particulier pour ce réseau et ainsi n'utiliser qu'un seul certificat de sécurité.

   


Pour lancer automatiquement znc en cas de redémarrage de la machine, en root on va mettre une tâche qui va s'exécuter toutes les 3 mins ( http://wiki.znc.in/FAQ#How_can_I_restart...etc..29.3F ):
Code :
nano /etc/cron.d/cron-apt

et dedans vous rajoutez la ligne suivante :
Code :
*/3 * * * * user1 /usr/local/bin/znc >/dev/null 2>&1


Voilà voilà, c'est tout bon normalement, bon chat à vous :)

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
(Ce message a été modifié le : Dimanche - 25 Septembre - 17:41 par Kirinenko.)
Samedi - 20 Février - 22:11
WWW Chercher Citer
Kirinenko Hors ligne
Grumeau des Alpes
*******

Administrateurs

Messages : 3'359
Inscription : 25 Oct. 2011

Anime préféré : One Piece
Manga préféré : GTO
Drama préféré : MBMH
Message : #2
RE: Mettre en place ZNC - bouncer IRC

Mettre en place la connexion automatique à ses différentes sessions znc :

Ouvrir KVIrc et rendez vous dans "Paramètres>Configurer les serveurs"
Créez un nouveau réseau que vous nommerez comme vous voulez.

Dans ce nouveau réseau, vous créez un nouveau serveur et dans connexion :
- vous donnez l'adresse ip de votre serveur comme nom à ce serveur
- vous mettez le bon port associé
- vous cochez "Utiliser le protocole SSL"
- vous cochez "Se connecter à ce serveur au démarrage"
dans "A la connexion" :
timer (delay,2000) {
quote PASS utilisateur/nom_du_serveur_irc_a_rejoindre:mot_de_passe;
killtimer delay
}

Faire de même si vous avez un autre serveur irc de configuré et dans ce cas, le code utilisé dans l'onglet "A la connexion" change un tout petit peu :
timer (delay2,2000) {
quote PASS utilisateur/nom_du_serveur_irc_a_rejoindre:mot_de_passe;
killtimer delay2
}

On rajoute un "2" à delay afin qu'il soit considéré comme un second timer.

Kirinenko a écrit :Je m'autoquote si je veux, d'abord.
Nyanyanyanyan . . . . . . . . . . . . . . . [Image: chat-moche-27c1d17.gif]
[Image: 4yi3an10-3858b7.gif]
Lundi - 14 Mars - 22:27
WWW Chercher Citer
Poster une réponse 


Aller à :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)