Inleiding: IRC Bouncers and Why You Want One
Internet Relay Chat (IRC) is een eerbiedwaardig online chat protocol, dat dateert uit de late jaren 1980, maar het wordt nog steeds veel gebruikt, vooral in de wereld van de informatica. Er zijn IRC-clients voor elk belangrijk besturingssysteem en tientallen IRC-netwerken met duizenden chatkanalen. Er is een zware nadruk op technologie, maar bijna elk onderwerp is vertegenwoordigd. Wanneer u IRC gebruikt, ontvangt u alleen berichten wanneer u bent verbonden–een bericht wordt weggegooid nadat het is verzonden en de geschiedenis niet op de server is opgeslagen.
Voer de IRC-bouncer in. Omdat de IRC-client verantwoordelijk is voor het opslaan en opnieuw afspelen van de geschiedenis, wordt deze verdeeld over twee stukken software: de display-applicatie (GUI, TUI) en de bouncer. Met een uitsmijter gebruikt u nog steeds uw favoriete IRC-client, maar maakt u verbinding met de uitsmijter (bijvoorbeeld bouncer.example.com) in plaats van rechtstreeks naar het IRC-netwerk (zoals chat.freenode.net). uw uitsmijter kan verbonden blijven wanneer u bent uitgelogd. Wanneer je weer inlogt, presenteert je IRC bouncer je de gelogde chat en berichten die je anders zou missen. Net als een IRC server draait een IRC bouncer op een altijd verbonden computer om een permanente verbinding met een IRC netwerk te onderhouden.
In dit artikel zal ik u laten zien hoe u ZNC kunt instellen, een veelgebruikte IRC bouncer-toepassing. We gaan door het proces van het installeren van ZNC, het opzetten van een gebruikersaccount, het configureren en inloggen op IRC via de bouncer. We zullen ook enkele fundamentele beveiligingsproblemen aanpakken.
we zullen het proces voor Ubuntu volgen, maar de basis is vergelijkbaar voor de meeste Linux-distributies.
Install ZNC
Ubuntu heeft een ZNC-pakket in zijn repository, en u kunt het installeren met apt-get.
$ sudo apt-get install znc
vervolgens Voeg je een speciaal gebruikersaccount toe voor ZNC. Dit is een goede praktijk bij het gebruik van een applicatie die open blijft voor het Internet, omdat het biedt een mate van bescherming voor andere accounts op uw server (in het bijzonder uw root-account).
ik doe verschillende dingen met het volgende commando: Ik maak een nieuwe gebruiker genaamd “znc-admin”. Ik stel het account in zonder wachtwoord (omdat dit account nooit zal inloggen) en ik definieer een home directory voor het account. We raden aan om /var/znc als je ZNC home directory te gebruiken, maar je kunt elke directory gebruiken die je wilt (behalve je root directory!). Ook kunt u een andere accountnaam kiezen als u dat wilt.
$ sudo adduser --disabled-password --home /var/znc znc-admin
configureer ZNC
met uw nieuwe account ingesteld, bent u klaar om ZNC te configureren. Schakel over naar het nieuwe account, ga naar de ZNC home directory en voer ZNC ‘ S Configuratie routine uit.
$ sudo su znc-admin$ cd ~$ znc --makeconf
ZNC zal u presenteren met verschillende opties. Hier zijn onze aanbevelingen voor hoe ze op te zetten. Merk op dat ZNC de standaard opties presenteert . Als u van de standaard houdt, druk dan gewoon op return
We raden het gebruik van SSL en IPv6 voor uw verkeer aan.
ZNC zal dan een PEM-bestand aanmaken in/var/ZNC/.znc / znc.pem. Vervolgens zal het je vragen om de gebruikersnaam en het wachtwoord te definiëren die je gebruikt om in te loggen op je IRC bouncer. Je definieert ook de nick en gebruikersnaam die je wilt gebruiken om verbinding te maken met je IRC bouncer. Merk op dat dit niet de bijnaam hoeft te zijn die je op IRC gebruikt, maar het kan en is makkelijker als dat zo is.
we raden u aan om niet te binden aan een host tenzij u een goede reden hebt. De volgende set variabelen configureert je verbinding met het IRC netwerk.Hier Freenode.
als u al een aantal VOORKEURSKANALEN voor IRC in gedachten hebt, voer deze dan hierboven in. Vergeet niet om de kanaalnaam vooraf te gaan met een hash mark (#) en ze te scheiden met een spatie.
ZNC zal het configuratiebestand schrijven (/var/ZNC/.znc / configs / znc.conf) en je bent helemaal klaar.
IRC toestaan op uw Firewall
nu uw bouncer draait, is het tijd om die poort toe te staan op uw firewall. Je gebruikt een hulpprogramma genaamd firewalld om ervoor te zorgen dat de juiste poort open is via je firewall. Als je het nog niet hebt, installeer het dan gewoon met apt-get. Merk op dat Firewall standaard SSH toestaat, dus je moet de verbinding met je server niet verliezen. Zelfs als er iets mis gaat, als u een Prgmr.com systeem, kunt u de management console gebruiken om terug te krijgen in en dingen te repareren.
$ sudo apt-get install firewalld
gebruik het nu om de poort te configureren. We raden aan poort 6697 te gebruiken, de standaardpoort voor versleuteld IRC-verkeer.
$ sudo firewall-cmd --add-port=6697/tcp$ sudo firewall-cmd --runtime-to-permanent
Log in bij uw Bouncer
u hebt een IRC-client nodig als u deze nog niet hebt. Populaire keuzes zijn mIRC, Hexchat en Weechat. Normaal gesproken stel je je client in om direct verbinding te maken met IRC, maar hier maak je verbinding met de bouncer, en de bouncer zal verbinding maken met IRC met behulp van de host en gebruikersreferenties die je hebt ingesteld toen je ZNC configureerde.
start uw client om verbinding te maken met uw bouncer. Voer voor de meeste clients in het berichtenveld het volgende commando in:
$ /server add -tls <znc_server> +6697 <password> <username>
of voor weechat, als je wilt dat je server beschikbaar is via de naam znc, zal je commando eruit zien als:
$ /server add znc <znc_server>/6697 -ssl -username=<username> -password=<password> -nicks=<username>
voor gebruik van uw Prgmr.com serveradres. Dus als uw server “foo” heet, gebruik dan foo.xen.prgmr.com als het ZNC-serveradres.
als u SSL-fouten ontvangt en een certificaat gebruikt dat door znc is gegenereerd, kunt u dat certificaat op de witte lijst zetten via de vingerafdruk. Neem de uitvoer van het onderstaande commando:
$ sudo cat /var/znc/.znc/znc.pem | openssl x509 -sha256 -fingerprint -noout | cut -d '=' -f 2- | sed 's/://ig'
en voeg het toe aan je irc client:
$ /server modify <znc_server> -tls_pinned_cert <above_output_line>
of voor weechat:
$ /set irc.server.znc.ssl_fingerprint <above_output_line>
Als u deze instellingen ooit wilt wijzigen, kunt u dit doen door te communiceren met de *status gebruiker. Typ help voor een lijst met opties.
verder lezen
meer documentatie over ZNC is te vinden op de ZNC wiki.